"Offline" is not an error
summary
monday.com builds an offline‑first Android client that records every user change locally, applies optimistic local‑first updates to the UI, and persists sync jobs in a RemoteOperation table so a WorkManager queue retries them in background. Implementation uses Room + Flow, coroutines, pagination, DiffUtil, and parsers/executors for each operation. Result: 2.5M operations observed, ~8% initially failed (~200k), and the sync system rescues ~97% of failures with ~90% of those re‑syncing within the first minute.
AI-written summary · about
chapters (9)
- 0:00Introduction and setup
- 1:31Speaker introduction and background
- 6:29Offline challenges and user experience
- 8:56Displaying data with local-first approach
- 15:22Synchronizing offline changes introduction
- 20:17WorkManager and operation queue
- 23:49Handling operation execution and failures
- 36:12Production results and impact
- 37:15Final thoughts and Q&A
related talks
37mLet’s Sync Up! Tips and Tricks to Add Offline Sync to Your App with Confidence
36m“Make your app work perfectly offl…” — Connection Interrupted
06mCreate offline-first apps
42mThe Challenges of Offline Work in Mobile
39mIndemnity in the Data Layer
39mSay Hello to Offline First
37mIdemnity in the Data Layer
38mThe real case of offline-first app: Farmer App…
