For optimists, our UI is pretty pessimistic
summary
Claim: replace blocking progress dialogs with optimistic UI that immediately updates a local database and moves network work to background jobs. Implementation details: use IntentService (or JobScheduler for smarter batching and network conditions), insert the new item into the DB and update adapters before the server responds, mark cards as failed and surface errors with snackbars, notifications or badges. Surprising anchors: humans expect feedback within ~100 ms, and many regions remain on slow networks (60–70% predicted on poor connections by 2022). ProgressDialog is deprecated in Android O.
AI-written summary · about
chapters (11)
- 0:00Intro
- 0:57Talk Outline
- 3:55Optimistic UI
- 5:52Issues with pessimistic approach
- 10:15Failure to think Often a skipped stage in design & development thinking
- 13:07R.I.P Progress Dialog
- 14:50Intent Service Launch background service to perform a task
- 16:15Job Scheduler Schedule tasks based on given conditions
- 18:08Manipulate local data during request Manipulate data locally when a request takes place and have the ul reactively reflect this
- 24:31Notification Badges Awareness of errors outside of your app
- 26:47To conclude...
related talks
54mHow to build the modern, optimistic and reactive user interface, we all want.
24mZero-Latency React Native: Apps Without Loading Spinners
28mOptimistic updates in a pessimistic world
23mOptimistic UI updates with Apollo Client and React
32mPeristence as the Single Source of Truth
32mLife is too short to develop only for Android – A journey to Server-driven UI
21mAsynchronous UX
18mThe need for speed - Single-page apps, Optimistic UIs, Reactivity
