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
130
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
170
Stop the security theater!
pratul
0
230
Designing future-proof Android applications
pratul
0
120
Android - an introduction for developers
pratul
3
200
Semantic Content Repositories
pratul
1
94
How To Become A Hacker
pratul
3
290
Other Decks in Programming
See All in Programming
CSC307 Lecture 08
javiergs
PRO
0
330
さきがけから振り返るアーキテクチャ刷新 / Reflecting on the Architectural Renewal from the Vanguard
nrslib
2
770
リハビリmruby
kishima
1
160
CSC307 Lecture 10
javiergs
PRO
0
310
CSC307 Lecture 09
javiergs
PRO
1
500
生成AIをkintoneに連携してみた
hideg
0
230
CSC307 Lecture 12
javiergs
PRO
0
220
小さな開発会社を作った理由
polidog
0
1.9k
Introduction of Happy Eyeballs Version 2 (RFC8305) to the Socket library
coe401_
1
220
Async Await: Mastering Python's Time-Bending Tricks - EuroPython2024
yanbo
1
290
しくじり先生 Image Matching Challenge 2024 編
goosehaaan
0
810
I/O Extended Android in Korea 2024 ~ Whats new in Android development tools
pluu
0
250
Featured
See All Featured
Navigating Team Friction
lara
181
13k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Scaling GitHub
holman
458
140k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Agile that works and the tools we love
rasmusluckow
325
20k
Web Components: a chance to create the future
zenorocha
307
41k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
From Idea to $5000 a Month in 5 Months
shpigford
377
46k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
26
1.8k
Adopting Sorbet at Scale
ufuk
71
8.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
12
3.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