~/talk

From single player to multiplayer-building realtime collaborative experiences with Flutter

Talkat Flutter Vikings 2022 · 2022-08-31..09-01· [frontend-architecture]
links:none on file
slides:none on file

Shows how SuperEditor becomes a real‑time collaborative editor by adding an OT sync layer using the Delta format for edits, an operational transformation transform method on the server, and an Elixir backend that stores every change. Implements client sync engine that diffs with Delta.diff, transforms remote selections, and preserves undo/redo via delta.invert. Demo sustains ~20 simultaneous users without breaking. Codebase is a companion repo (initially private) and the approach groups keystrokes and composes changes to keep documents consistent.

AI-written summary · about

  1. 0:00Introduction and background
  2. 3:15Demo of real-time collaboration
  3. 5:40From single-player to multiplayer
  4. 8:10Challenges with last-write-wins
  5. 11:20Choosing operational transformation
  6. 14:31Delta format for document changes
  7. 17:42Change Deltas and document updates
  8. 20:12Sync logic with server and clients
  9. 26:38Server-side change tracking
  10. 28:47Front-end sync engine
  11. 32:20Transforming document selections
  12. 34:05Implementing undo and redo
  13. 37:24Handling remote changes in history
  14. 39:12Integrating with Super Editor
  15. 40:17Challenges and next steps
~/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.