Live data from Hacker News

Collaborative Text Editing Without CRDTs or OT

mattweidner.com

1–10 of 86 posts

Re: Collaborative Text Editing Without CRDTs or OT

#6
I'm not an expert on this, but the main difference with a CRDT like Automerge seems to be the server reconciliation. See for example this article [1]. Automerge handles concurrent insertions by using a sequence number and relying on an agreed ordering of agent ids when insertions are concurrent, while this scheme relies on the server to handle them in the order they come in.

The article mentions this:

> This contrasts with text-editing CRDTs, in which IDs are ordered for you by a fancy algorithm. That ordering algorithm is what differs between the numerous text-editing CRDTs, and it’s the complicated part of any CRDT paper; we get to avoid it entirely.

I can buy the idea that many apps have a central server anyway, so you can avoid the "fancy algorithm", though the server reconciliation requires undoing and replaying of local edits, so it's not 100% clear to me if that's much simpler.

[1] https://josephg.com/blog/crdts-go-brrr/

Re: Collaborative Text Editing Without CRDTs or OT

#7
Cool to see a write up on this! Discovered the same method years ago and also wondered why it doesn’t show up in academic literature.

I implemented this in a decentralized context and as a CRDT though, so that the properties hold (commutative, idempotent and associative).

Re: Collaborative Text Editing Without CRDTs or OT

#8
post #6

I'm not an expert on this, but the main difference with a CRDT like Automerge seems to be the server reconciliation. See for example this article [1]. Automerge handles concurrent insertions by using a sequence number and relying on an agreed ordering of agent ids when insertions are concurrent, while this scheme relies on the server to handle them in the order they come in. The article mentions this: > This contrast…

Agreed, the undoing and replying isn’t exactly non-fancy. Peristent B+Tree is also not very non-fancy.

Re: Collaborative Text Editing Without CRDTs or OT

#10
post #7

Cool to see a write up on this! Discovered the same method years ago and also wondered why it doesn’t show up in academic literature. I implemented this in a decentralized context and as a CRDT though, so that the properties hold (commutative, idempotent and associative).

If the idea is to have an alternative to CRDT, what did you gain from building it as CRDT?
Post reply on HN