3 ms·
I believe Notion uses them.
by cdmckay 3y ago
I believe Notion uses them.
- endisneigh 3y agoreally? you have a link to a blog post or something? last I heard they explicitly did not use them.
- ko_pivot 3y agoIn production, they don’t. This is evident when two users try to edit the same block at the same time — its last writer wins right now, not merging. They have hired some engineers to work on a CRDT text editor implementation though.
- jakelazaroff 3y agoNo idea whether Notion uses CRDTs, but last writer wins is a (naive) strategy for editing text. You can see this in the article — if you edit the LWW Map, for example, even though the keys are merged, each value will be taken from one peer or the other. Once you get to that last “primitive” CRDT — the register holding each map value — updates are atomic. So Notion may be using CRDTs for e.g. the order of blocks in a page, but not (yet?) using them to merge text.
- auggierose 3y agoNo, Notion uses OT (operational transform).
- jitl 3y agoNotion doesn't use OT or CRDT in production. Most things are last-write-wins, but we have operations that merge like list re-ordering or permission changes. Today our text is last-write-wins, but we're developing a CRDT solution – if that sounds like something you'd like to work on, shoot me an email jake@makenotion.com or apply https://boards.greenhouse.io/notion/jobs/5602426003 https://boards.greenhouse.io/notion/jobs/5602426003
- tcoff91 3y agoIsn't last-write-wins technically a CRDT? It's just not a very good one. For many use-cases though a per-column last-writer-wins CRDT is perfectly adequate. - Edits can be made on any node at any time independently and without coordinating with other nodes. - All nodes eventually converge to the same state.
- paulgb 3y agoA CRDT can have last-write-wins semantics (as in the article above), but LWW doesn’t fully describe a CRDT because it doesn’t specify a way to determine which write is actually “last”. CRDTs don’t assume that there is a fully-ordered stream of updates, so there is no “last update” per se.
- tcoff91 3y agoYeah so something like a last write wins + hybrid logical clocks for ordering is a crdt then.