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
150
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
19
Reldex: measuring the effectiveness of your app release process
pratul
0
8
Simplifying Software Estimation
pratul
1
190
Stop the security theater!
pratul
0
240
Designing future-proof Android applications
pratul
0
140
Android - an introduction for developers
pratul
3
210
Semantic Content Repositories
pratul
1
110
How To Become A Hacker
pratul
3
300
Other Decks in Programming
See All in Programming
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
260
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
930
Haze - Real time background blurring
chrisbanes
1
510
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
300
Full stack testing :: basic to basic
up1
1
930
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.6k
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
110
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
250
Zoneless Testing
rainerhahnekamp
0
120
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
200
快速入門可觀測性
blueswen
0
330
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Visualization
eitanlees
146
15k
The Cult of Friendly URLs
andyhume
78
6.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
It's Worth the Effort
3n
183
28k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
510
The Invisible Side of Design
smashingmag
298
50k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
28
900
Optimising Largest Contentful Paint
csswizardry
33
3k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
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