HackerPapers

arXiv:1905.01517cs.DC

Real Differences between OT and CRDT in Building Co-Editing Systems and Real World Applications

David Sun, Chengzheng Sun, Agustina Ng, Weiwei Cai

Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.

Abstract

OT (Operational Transformation) was invented for supporting real-time co-editors in the late 1980s and has evolved to become a core technique used in today's working co-editors and adopted in major industrial products. CRDT (Commutative Replicated Data Type) for co-editors was first proposed around 2006, under the name of WOOT (WithOut Operational Transformation). Follow-up CRDT variations are commonly labeled as "post-OT" techniques and have made broad claims of superiority over OT solutions, in terms of correctness, time and space complexity, simplicity, etc. Over one decade later, however, OT remains the choice for building the vast majority of co-editors, whereas CRDT is rarely found in working co-editors. Why? To seek truth from facts, we set out to conduct a comprehensive and critical review of representative OT and CRDT solutions and working co-editors based on them. From this work, we have made important discoveries about OT and CRDT, and revealed facts and evidences that refute CRDT claims over OT on all accounts. We present our discoveries in three related and complementary articles. In prior two articles, we have revealed the similarities of OT and CRDT in following the same general transformation approach in co-editors, and their real differences in correctness and complexity. In this article, we examine the role of building working co-editors in shaping OT and CRDT research and solutions, and consequential differences in the choice between OT and CRDT in real world co-editors and industry products. In particular, we review the evolution of co-editors from research vehicles to real world applications, and discuss representative OT-based co-editors and alternative approaches in industry products and open source projects. Moreover, we evaluate CRDT-based co-editors in relation to published CRDT solutions, and clarify some myths surrounding "peer-to-peer" co-editing.

arXiv comments
16 pages. This article has been revised in accordance to the other two companion articles, which have been recently published at PACMHCI (https://doi.org/10.1145/3375186; and https://doi.org/10.1145/3392825, respectively). arXiv admin note: substantial text overlap with arXiv:1810.02137, arXiv:1905.01302
Journal reference
DOI
Subjects
cs.DCDistributed, Parallel, and Cluster Computing cs.HCHuman-Computer Interaction cs.SESoftware Engineering

On Hacker News

Linked by 1 identifiable commenter in 2 comments across 1 thread, from May 2019 to May 2019. Found in 2 HN submissions from Apr 2022 to Jul 2023. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments1 thread

    • Thanks for the mention. We've re-organized the material and updated the submissions by splitting into three parts. We wanted to extend the content but felt that in its original form the article was too dense. The new structure consists of three related but more self-contained…

      nusedView on HNParent context

    • Enjoyed your demos. Quill.js delta fits nicely with OT (and we do mentioned in https://arxiv.org/pdf/1905.01517.pdf). Here is a Quill.js coediting demo, without using a ShareDB backend: https://codepen.io/dnus/pen/OojaeN

      nusedView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.