Pushing Dynamic Features Your Users Want, As Quick As They Want Them
summary
Twitter for Android embeds Periscope’s WebRTC but keeps the base APK at ~27 MB by moving the native WebRTC libs (~+7 MB WebRTC) into a dynamic feature delivered via the Android App Bundle and Google Play’s split install manager. Implementation uses Play Core, Rx streams, Dagger 2 and sealed Kotlin classes; testing required bundletool or a Play test track. Launch on 29 May 2019 avoids ~20% extra storage and shows no drop in other platforms but surfaces KitKat/AGP and Play queue synchronization issues.
AI-written summary · about
chapters (18)
- 0:00Introduction and speaker
- 1:02What are dynamic features
- 5:14Why Twitter chose dynamic features
- 7:19Modernizing the app for dynamic delivery
- 8:22Android Bundle and app structure
- 10:08Google Play Store's role
- 11:53Challenges and network considerations
- 13:15Design principles at Twitter
- 15:39Implementation with Kotlin
- 17:04Simple API for dynamic modules
- 19:13Loading dynamic modules
- 21:01Analytics and user experience
- 22:25Results and impact on storage
- 23:30Lessons learned from the project
- 26:40Cross-functional collaboration
- 27:43Synchronization issues in queues
- 29:06Debugging dynamic features
- 30:31Future possibilities and conditional installation
related talks
40mThe future of apps on Android and Google Play: Modular, instant, and dynamic
35mOptimize App Downloads with Android App Bundle and Dynamic Delivery
45mArchitecture for AppBundles
01h 12mInterview and Q&A
08h 56mLivestream | Day 1, theater 1
37mWhat's new in Play
30mDynamic App Modules: Building For the Next Billion
37mCustomizable delivery with the App Bundle and easy sharing of test builds
