Why CRDT didn't work out as well for collaborative editing xi-editor
I don't have much experience in this area, but I'd be interested in an overview of how different pieces of sofware handle the concurrent / multiplayer editing problem, like:<p>- Etherpad<p>- Google docs<p>- Apache / Google Wave (open sourced: <a href="http://incubator.apache.org/projects/wave.html" rel="nofollow">http://incubator.apache.org/projects/wave.html</a>)<p>- repl.it <a href="https://repl.it/site/blog/multi" rel="nofollow">https://repl.it/site/blog/multi</a><p>- figma <a href="https://www.figma.com/blog/multiplayer-editing-in-figma/" rel="nofollow">https://www.figma.com/blog/multiplayer-editing-in-figma/</a> (image editing rather than text editing)<p>So is the gist of it that OT relies on central servers and they all use OT rather than CRDT?  That was not entirely clear to me.<p>Looking at the xi analysis, it sounds like "IME" is specific to a desktop application using X (?), so it doesn't apply to any of this web software.<p>The rest of them seem like they do apply?<p>Is the problem that you have to pay a "CRDT tax" for every piece of state in the application?  I thought the same was true of OT.  Don't you have to express every piece of state within those constraints too?<p>repl.it doesn't seem to have a problem with syntax highlighting or brace matching (try it, it's pretty slick).  So is it just that they paid that tax with a lot of code or is there something else   fundamentally different about xi vs. repl.it ?  Or maybe xi is going for a lot lower latency than web-based editors?<p>recent thread about OT vs. CRDT that might be interesting: <a href="https://news.ycombinator.com/item?id=18191867" rel="nofollow">https://news.ycombinator.com/item?id=18191867</a>