~/talk

New algorithms for collaborative text editing

Talkat Strange Loop 2023 · 2023-09-21..09-22· [frontend-architecture, web-platform]
slides:none on file

Prototype called Upwelling experimental editor builds real-time CRDT editing with explicit drafts and merges that behave like Git branches and rebases, and it runs locally first so edits work offline. The implementation uses Automerge CRDT with RGA and compression and a separate repo IO layer, compiled to Rust and WebAssembly for cross-platform use. A LaTeX edit trace of ~250,000 operations compresses to 184 kilobytes for 250k ops, proving full-history storage is practical. Rich formatting uses PerryText for rich formatting and the merge and diff tooling actually work on concurrent edits.

AI-written summary · about

  1. 0:00Introduction
  2. 0:47Collaborative text editing needs
  3. 2:54Conflict-free replicated data types overview
  4. 4:20Suggestion mode problems
  5. 6:49Asynchronous collaboration need
  6. 7:11Upwelling demo
  7. 10:22Local-first design
  8. 12:50AutoMerge CRDT algorithm
  9. 17:30Editing history compression
  10. 20:02AutoMerge data storage
  11. 25:23Document version reconstruction
  12. 29:20Peritext rich text CRDTs
  13. 33:29Rich text CRDT challenges
  14. 36:40AutoMerge implementation
  15. 38:48Research to production
  16. 39:10Q&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.