Mobius: A Loopy UI
summary
Spotify builds and uses Mobius, a Java library not tied to Android, to turn UI interactions into an explicit loop: immutable model + events → pure update function → next(model, effects) → effect handlers (often RxJava transformers) → feedback events. It runs across ~400 Android Studio modules and a ~1M‑line codebase with 100+ monthly contributors, yields deterministic tests via an update‑spec harness, reduces presenter variance, speeds PR reviews, improves debugging, and teams report it works for cross‑platform modeling and tool generation.
AI-written summary · about
chapters (30)
- 0:00Introduction
- 0:20Agenda
- 0:52Spotify
- 2:08MVP
- 4:45Framework
- 6:32Functional Programming
- 7:55Types of Functions
- 9:43Managing State
- 10:20Data Representation
- 11:20Events
- 11:50Model
- 14:09Sealed Classes
- 15:35Kotlin vs Java
- 15:52Diagram
- 16:08Mobius
- 17:46Update function
- 18:33Verify credentials
- 19:48Log requested event
- 20:02Logging in
- 21:26Effects
- 21:45Effects vs Events
- 26:37Navigate to home
- 28:24Effect Handler
- 29:57Attempt Log Handler
- 31:35Mobius RX
- 32:22Testing
- 34:59Summary
- 35:56Events vs Intent
- 36:23Mobius Side Effects
- 38:40Upcoming








