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
180
Effective and efficient mobile engineering
Pratul Kalia
September 12, 2017
Tweet
Share
More Decks by Pratul Kalia
See All by Pratul Kalia
The special case of Mobile DevOps
pratul
2
39
Reldex: measuring the effectiveness of your app release process
pratul
0
15
Simplifying Software Estimation
pratul
1
240
Stop the security theater!
pratul
0
270
Designing future-proof Android applications
pratul
0
160
Android - an introduction for developers
pratul
3
240
Semantic Content Repositories
pratul
1
140
How To Become A Hacker
pratul
3
300
Other Decks in Programming
See All in Programming
RDoc meets YARD
okuramasafumi
3
150
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
110
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
290
Claude Codeで挑むOSSコントリビュート
eycjur
0
180
あのころの iPod を どうにか再生させたい
orumin
2
2.5k
Portapad紹介プレゼンテーション
gotoumakakeru
1
130
AHC051解法紹介
eijirou
0
640
ソフトウェアテスト徹底指南書の紹介
goyoki
1
120
Infer入門
riru
4
1.6k
令和最新版手のひらコンピュータ
koba789
14
8.1k
学習を成果に繋げるための個人開発の考え方 〜 「学習のための個人開発」のすすめ / personal project for leaning
panda_program
1
110
Understanding Ruby Grammar Through Conflicts
yui_knk
1
140
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
GraphQLとの向き合い方2022年版
quramy
49
14k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.5k
Unsuck your backbone
ammeep
671
58k
Being A Developer After 40
akosma
90
590k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Why Our Code Smells
bkeepers
PRO
339
57k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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