Look, Mum, No Internet - Creating great experiences with offline-first apps
summary
A practical recipe for an offline‑first loyalty‑card app: store resources in a local DB, use HTTP caching headers and split large lists into per‑resource revisions so most users see content offline, mark rows with tombstones and local/backend revision hashes to avoid DB locks, synchronize changes with a background worker (e.g. WorkManager), push invalidations and payloads via FCM topic pushes, generate DTOs from a JSON schema, resolve conflicts on the server; this reduces servers, survived peak loads, and keeps UI responsive.
AI-written summary · about
chapters (21)
- 0:00Introduction and Ralph
- 1:10Why offline first apps
- 3:39User experience benefits
- 7:35Decoupling app and backend
- 8:17The golden age of offline apps
- 10:24Adding a backend to the app
- 11:07Act two the backend
- 12:53Peak season readiness
- 13:34Caching headers and data consumption
- 16:02Slaying the monster that mutates
- 17:07Uploading changes to backend
- 18:53Downloading changes from backend
- 19:57Distributing backend changes
- 21:19Optimizing the database structure
- 23:04Mailman and FCM improvements
- 23:47Working with synced data stores
- 26:18Synced data store methods
- 27:42Building the loyalty cards screen
- 29:06Automatic backend synchronization
- 30:11Backend logic with queues
- 31:14Summary and benefits of offline first
related talks
45mOffline First (Web) Apps
43mOffline-first Architecture - How to survive without the internet?
39mSay Hello to Offline First
41mOffline First
31mI'm offline, cool! What now?
21mGo Offline First to Save The World
38mHow we developed an Offline‑First app using Persistent Storage
06mI'm Offline, cool. What now?
