Required reading for people building collaborative editing systems: https://www.moment.dev/blog/lies-i-was-told-pt-2

The CRDT community as a whole has a culture of hyping up their stuff without acknowledging the caveats. Because many users don't really understand what these libraries do very deeply, this marketing is causing people to adopt them without realizing what they are getting into.

Lies I was Told About Collaborative Editing, Part 2: Why we don't use Yjs / Moment devlog

Lies I was Told About Collaborative Editing, Part 2: Why we don't use Yjs / Moment devlog
@marijn Interesting. Do you know of good plaintext collaborative editing algorithm implementations? e.g. something suitable for markdown editors?
@mb21 For plain text I'd go with plain old OT. But also see my comment here https://mastodon.social/@marijn/116243257696298778
@marijn oh really? why? I thought OT was more complex to implement than CRDTs?
@mb21 for plain text, implementing OT is pretty straightforward. CTDTs are quite a bit more involved, especially if they need to be (memory) efficient
@marijn okay, will have to investigate OT JavaScript libs then if I’ll ever add one to PanWriter :)
@mb21 Yes, it's fine. Being plain text, it doesn't have the issues that CRDTs have with rich text. If all you need is syncing a text doc over a server, it still doesn't buy you much, but it can be easier to integrate syncing of data outside of the doc if you have a CRDT. Merging offline edits still won't magically do the right thing.