MILK: a user-centric mobile performance model
summary
Block defines a user-centric model called Motion Idle Latency Kit and targets concrete thresholds: interactive taps under 200 ms (anything over 500 ms is bad; user studies show ~69 ms is imperceptible). A production library Papa (Performance of Android Production Applications) records touch-to-next-paint latency, tags interaction types and distinguishes prelaunch cases (cold start ≈ 5s threshold). Investigation workflow uses Perfetto traces, macrobenchmarks and Android Vitals as a starting point; Papa runs in production (used internally >1 year) and links analytics to Perfetto for root-cause fixes.
AI-written summary · about
chapters (16)
- 0:00Introduction and background
- 1:09Performance issues from customers
- 3:38User-centric performance goals
- 6:03Interaction latency thresholds
- 7:28Universal steps to fix performance issues
- 10:16Discovering and reproducing issues
- 12:23Monitoring in production
- 14:07Building custom performance monitoring
- 16:59Introducing PAPA library
- 21:15Investigating performance problems
- 24:47Using Perfetto for tracing
- 27:13Analyzing Perfetto traces
- 31:54Zooming into trace details
- 37:12Case study with PAPA traces
- 40:05Debugging a slow interaction
- 40:47Next steps and tools summary
related talks
44mPAPA: Performance of Android Production Applications
18mBeyond the Basics: Performance Monitoring and User Experience for Mobile App Growth
37mPerformance Monitoring- 0 to 60 in 40 Minutes
39mAndroid App Performance in a Nutshell
40mAndroid high performance baby
40mMonitor App performance using Jetpack Benchmark
42mPerformance Paradox: Navigating the Complexities of Mobile App Optimisation
43mBenchmarking your application
