top | item 39616982

(no title)

kevsim | 2 years ago

When we built Kitemaker [0] we elected to not use CRDTs. We built our sync engine after reading the blog article Figma wrote about they didn't need CRDTs because they have the server arbitrating any conflicts. We ended up taking the same approach. It's worked out very well for us though in a tool like our "last one in wins" generally works fine and doesn't lead to a lot of surprises.

For documents, we had to do something more sophisticated. At the time we built our collaborative text editing, the prevailing opinions were that CRDTs were inferior for text editing so we ended up going with Operational Transforms. That took a LOT of work to get right and is still problematic from time to time. If we had it to do all over again now, we'd definitely challenge that decision (and may do so in the future anyway even though we have a system that works).

0: https://kitemaker.co

discuss

order

No comments yet.