~/talk

Surviving Network Failures: Building Resilient Offline-First…

Talkat DroidKaigi 2025 · 2025-09-10..09-12· [flutter]
links:none on file
slides:none on file

Concrete blueprint for offline-first Flutter apps: use local storage as the source of truth (SQLite/Hive/Isar/ObjectBox), implement an outbox and sync engine with client-generated IDs and idempotent PUTs, batch pushes/pulls and use delta sync, apply exponential backoff with jitter and WorkManager/OS background constraints, and resolve conflicts with last-write-or per-field merging or CRDTs. A field data collection app rebuilt this way sees a nearly 40% task completion uplift, fewer support calls, and durable offline UX.

AI-written summary · about

  1. 0:00Offline-first resilience intro
  2. 1:48Network failures are normal
  3. 3:34Common app failure patterns
  4. 5:41Resilient offline-first traits
  5. 6:45Offline-first blueprint pillars
  6. 8:10Resilient design principles
  7. 9:18Local-first design foundation
  8. 10:44Choosing local storage
  9. 11:49Repository abstraction
  10. 12:33Outbox and sync engine
  11. 13:17Sync triggers and patterns
  12. 14:21Server-side sync contracts
  13. 15:26Conflict resolution strategies
  14. 16:55Practical conflict resolution
  15. 18:00Background sync constraints
  16. 19:47Retry and circuit breakers
  17. 20:51User experience for offline-first apps
  18. 22:15Testing offline in production
  19. 23:00Security and data handling
  20. 24:27Implementation roadmap
  21. 26:17Rural data collection case
  22. 28:46Common pitfalls and fixes
  23. 30:53Recap and checklist
  24. 32:42Q&A
~/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.