Skip to content

jorendorff/univax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UNIVAX: How not to implement collaborative editing

(stab 3)

All the code in here is meant as a motivating example for a talk on CRDTs.

The hope is that the code will be complicated enough, or the latency bad enough, or the fact that we're implementing a whole text editor self-evidently ridiculous enough, that CRDTs will seem amazing by comparison.

See http://blog.humphd.org/thimble-and-bramble/ for some reasons why this is a bad idea:

One of the things I've loved most about working with the Brackets source is that it uses so much of the the best of the open web. Its ~1.3 million lines of code offer APIs for things things like:

  • code hinting, static analysis, and linting
  • language parsing and tokenizing (html, css, js, xml, less)
  • file system operations
  • editors
  • live DOM diff'ing and in-browser preview
  • swappable servers
  • layout, widgets, and dialogs
  • localization, theming, and preferences
  • extension loading at runtime, with hundreds already written

There are other approaches, but they all have problems. See Clobberation and Quilljoy.

About

How not to implement collaborative editing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published