Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Effective and efficient mobile engineering
Search
Pratul Kalia
September 12, 2017
Programming
0
120
Effective and efficient mobile engineering
Pratul Kalia
September 12, 2017
Tweet
Share
More Decks by Pratul Kalia
See All by Pratul Kalia
Simplifying Software Estimation
pratul
0
140
Stop the security theater!
pratul
0
230
Designing future-proof Android applications
pratul
0
110
Android - an introduction for developers
pratul
3
200
Semantic Content Repositories
pratul
1
86
How To Become A Hacker
pratul
3
280
Other Decks in Programming
See All in Programming
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
220
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
370
ゆるい個人開発のススメ
kuroppe1819
10
980
使ってみよう Azure AI Document Intelligence
kosmosebi
2
290
GitHub Copilotのススメ
marcy731
1
190
AWS Application Composerで始める、 サーバーレスなデータ基盤構築 / 20240406-jawsug-hokuriku-shinkansen
kasacchiful
1
260
Azure OpenAI Serviceのプロンプトエンジニアリング入門
tomokusaba
3
670
Anthropic Cookbook のおすすめレシピ
schroneko
7
870
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
360
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
120
Rails と人魚の話/rails-and-mermaid
sanfrecce_osaka
0
100
Featured
See All Featured
Debugging Ruby Performance
tmm1
70
11k
Making Projects Easy
brettharned
108
5.5k
Docker and Python
trallard
34
2.7k
Visualization
eitanlees
136
14k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Design by the Numbers
sachag
274
18k
The Cost Of JavaScript in 2023
addyosmani
16
3.8k
Atom: Resistance is Futile
akmur
259
25k
Code Review Best Practice
trishagee
55
15k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
227
130k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
Transcript
Effective and efficient mobile engineering pratul kalia @prxtl uncommon.is
Over the last 4 years…
! 1. Contrasting with the Web 2. Product Design 3.
The Platforms 4. Culture
Contrasting with the Web
Significant reduction in speed. ➔ Tightly coupled UI ➔ Changes
to the backend can cause significant impact
No dynamic updates! ➔ Closed “store” model ➔ React Native
maintenance overhead
Wait… how many versions? ➔ Multiple versions will be “live”
◆ Versioned APIs ◆ Remote kill-switch
Product design
Consistency is an expectation. ➔ Even from inexperienced users! ➔
Push from Google/Apple ◆ Back button exit confirmation ◆ Slide to go back
Low tolerance towards jank. ➔ Performance is important ➔ Perceived
speed is important too
Mobile devices have personal information. ➔ User privacy is critical
➔ Engineers are as responsible as the Product Designers
The platforms
Badly behaved apps have no place. ➔ Memory/CPU constraints ➔
Disk thrashing is real
Constant learning is imperative. ➔ Play Services division ➔ RecyclerView
prefetch ➔ Read SMS-OTP API
Don’t fake optimise. ➔ Splash screen delays ➔ Protobuf and
JSON
Security theater is a concern. ➔ Certificate pinning ➔ Protecting
API endpoints ➔ Client-side encryption
Culture
You cannot fix with technology what is broken by culture.
me.
git is not Dropbox. ➔ Rollbacks ➔ Bisecting ➔ Hooks
What is your bus factor? ➔ Documentation ➔ … Documentation
➔ … … Documentation
Are you measuring the metrics? ➔ Data driven design much?
➔ Performance impact
Effort does not mean progress. ➔ bugfix : feature ratio?
➔ The Mythical Man Month Fred Brooks ➔ Peopleware — Productive Projects and Teams Tom DeMarco & Tim Lister
eof