Why CRDT didn't work out as well for collaborative editing xi-editor
I don&#x27;t have much experience in this area, but I&#x27;d be interested in an overview of how different pieces of sofware handle the concurrent &#x2F; multiplayer editing problem, like:<p>- Etherpad<p>- Google docs<p>- Apache &#x2F; Google Wave (open sourced: <a href="http:&#x2F;&#x2F;incubator.apache.org&#x2F;projects&#x2F;wave.html" rel="nofollow">http:&#x2F;&#x2F;incubator.apache.org&#x2F;projects&#x2F;wave.html</a>)<p>- repl.it <a href="https:&#x2F;&#x2F;repl.it&#x2F;site&#x2F;blog&#x2F;multi" rel="nofollow">https:&#x2F;&#x2F;repl.it&#x2F;site&#x2F;blog&#x2F;multi</a><p>- figma <a href="https:&#x2F;&#x2F;www.figma.com&#x2F;blog&#x2F;multiplayer-editing-in-figma&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.figma.com&#x2F;blog&#x2F;multiplayer-editing-in-figma&#x2F;</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 &quot;IME&quot; is specific to a desktop application using X (?), so it doesn&#x27;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 &quot;CRDT tax&quot; for every piece of state in the application?  I thought the same was true of OT.  Don&#x27;t you have to express every piece of state within those constraints too?<p>repl.it doesn&#x27;t seem to have a problem with syntax highlighting or brace matching (try it, it&#x27;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:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=18191867" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=18191867</a>