Asynchronous UX
summary
Concrete UX rules and code patterns emerge: use idempotency key in localStorage to make long actions safe to retry and avoid double payments, disable buttons and show a progress state while preventing double submits, prefer skeleton loaders vs indeterminate progress only when the skeleton can reliably mirror the UI, introduce a small delay before showing spinners to avoid flicker, cancel async work with a cooperative cancellation token or mounted flag to avoid setState after unmount, and treat optimistic updates as requiring rollback strategies or CRDTs for correctness.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:16Queries
- 4:13Progress Indicator
- 5:58Empty States
- 8:17Side Effects
- 14:40Field Validation
- 15:15Blocking Nonblocking Actions
- 15:41Double Submissions
- 16:11Network Issues
- 17:18Mounting
- 18:52Race Conditions
- 19:49Recap
- 20:11Outro
related talks
48mUX Programming for Developers
40mCreating Fast-Feeling Web Apps
18mThe need for speed - Single-page apps, Optimistic UIs, Reactivity
27mDon't block the event loop!JavaScript Async for Effortless UX
26mThe Virtue of Laziness: Leveraging Incrementality for Faster Web UI
09mRoad to a Better UX with Suspense and Concurrent UI
22mRoad to a better UX with Suspense and Concurrent UI
54mHow to build the modern, optimistic and reactive user interface, we all want.
