~/talk

Making an Existing App Adaptive: The JetStream Case / Extending Application Adaptability:…

TalkinJapaneseat DroidKaigi 2025 · 2025-09-10..09-12· [android, frontend-architecture]
name:Chiko
links:none on file
slides:none on file

JetStream was converted into a single Compose APK that runs on phone, tablet, foldable, Chromebook, TV, car and XR by replacing TV-specific Material with mobile Material3, rebuilding a few TV cards, and adding visual focus effects using an IndicationNodeFactory modifier. Playback state was moved to Media3 for background restoration so video position survives rotations; the work took about three months with ~1.5 engineers in five phases, using simple ViewModel state for most configuration changes and adaptive layouts that change navigation chrome by input device and window size.

AI-written summary · about

  1. 0:00Adaptive applications
  2. 3:293 adaptive development points
  3. 7:04Why adaptive is needed
  4. 14:45Upquality guidelines
  5. 19:43JetStream adaptation
  6. 21:545-phase refactor process
  7. 25:43Material library migration
  8. 29:59Stateless restoration
  9. 34:18Adaptive layout design
  10. 39:35Summary and next steps
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.