Re:OT and CRDT trade-offs for Real-Time collaboration
by eudoxus on Tuesday January 14, 2020 @07:34AM
(#22044187)
Preserving the position of the cursor is a crucial feature for collab editors. However, he doesnt go into detail explaining why CRDTs make this feature impossible. Sure the CRDT route splits the text, but I fail to see why that makes cursor pos preservation impossible?
[ Parent
| on HN ]
Re:OT and CRDT trade-offs for Real-Time collaboration
by spyder81 on Tuesday January 14, 2020 @08:17PM
(#22050918)
It's not impossible, particularly in cases where the model is fairly flat.
In complex models it is symptomatic of a larger issue with complexity in CRDTs; the post was already quite long and I didn't want to repeat any more of the research I'd linked to.
Re:OT and CRDT trade-offs for Real-Time collaboration
by jiofih on Wednesday January 15, 2020 @02:59AM
(#22052457)
You mention that example as a turning point for choosing OT, confirming your research. But to an outsider it is not particularly convincing. Especially since you’d expect a CRDT implementation to use the rope/tombstone structure, applying the transform to that sequence of characters and not actually have to split a text node, which looks like a limitation of this particular implementation, or tight coupling between the data model and the DOM.
The post is a good introduction to OT and CRDT, but is very light on actual trade-offs and seems to end with a gut-feeling conclusion, when the title promised “trade-offs between”.
Re:OT and CRDT trade-offs for Real-Time collaboration
by spyder81 on Wednesday January 15, 2020 @04:38PM
(#22058981)
It's hard to offer more detail than that in a blog post. I'm not going to repeat the research papers or write one of my own. The post is already so long and complex, covering so many surface details, I couldn't reasonably push it any further.
Re:OT and CRDT trade-offs for Real-Time collaboration
by jiofih on Thursday January 16, 2020 @02:42AM
(#22062410)
I’d suggest skipping right to the meat of the subject (pros/cons in this case), assuming some previous knowledge, if that’s what the article proposes to share, and simply point readers to learning resources; it’s not possible to start from scratch on every topic. The deeper the subject, the more glaring this problem becomes.