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
200
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
43
Reldex: measuring the effectiveness of your app release process
pratul
0
28
Simplifying Software Estimation
pratul
1
260
Stop the security theater!
pratul
0
300
Designing future-proof Android applications
pratul
0
180
Android - an introduction for developers
pratul
3
260
Semantic Content Repositories
pratul
1
170
How To Become A Hacker
pratul
3
310
Other Decks in Programming
See All in Programming
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.2k
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
2.2k
NOT A HOTEL - 建築や人と融合し、自由を創り出すソフトウェア
not_a_hokuts
2
510
atmaCup #23でAIコーディングを活用した話
ml_bear
4
720
grapheme_strrev関数が採択されました(あと雑感)
youkidearitai
PRO
1
190
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
1.4k
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.4k
Railsの気持ちを考えながらコントローラとビューを整頓する/tidying-rails-controllers-and-views-as-rails-think
moro
4
360
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
230
文字コードの話
qnighy
43
16k
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
220
Rails Girls Tokyo 18th GMO Pepabo Sponsor Talk
yutokyokutyo
0
190
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
430
Building an army of robots
kneath
306
46k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
620
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Marketing to machines
jonoalderson
1
5k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Design in an AI World
tapps
0
160
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
180
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Unsuck your backbone
ammeep
672
58k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
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