OT (Operational Transformation) was invented for supporting real-time co-editors in the late 1980s and has evolved to become core techniques widely used in today's working co-editors and adopted in 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 capable of making concurrent operations natively commutative in co-editors. On top of that, CRDT solutions have made broad claims of superiority over OT solutions, and often portrayed OT as an incorrect and inefficient technique. Over one decade later, however, CRDT is rarely found in working co-editors; OT remains the choice for building the vast majority of today's co-editors. Contradictions between the reality and CRDT's purported advantages have been the source of much confusion and debate in co-editing researcher and developer communities. To seek truth from facts, we set out to conduct a comprehensive and critical review on 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. These discoveries help explain the underlying reasons for the choice between OT and CRDT in the real world. We report these results in a series of three articles. In this article (the second in the series), we reveal the differences between OT and CRDT in their basic approaches to realizing the same general transformation and how such differences had resulted in different technical challenges and consequential correctness and complexity issues. Moreover, we reveal hidden complexity and algorithmic flaws with representative CRDT solutions, and discuss common myths and facts related to correctness and complexity of OT and CRDT. We hope the discoveries from this work help clear up common myths and confusions surrounding OT and CRDT, and accelerate progress in co-editing technology for real world applications.
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? Based on comprehensive review and comparison on representative OT and CRDT solutions and co-editors based on them, we present our discoveries in relation to this question and beyond in a series of three articles.In prior work, we have revealed that CRDT is like OT in following the same general transformation approach and CRDT is not natively commutative for concurrent operations in co-editors, which helps to clarify what CRDT really is and is not for co-editors. In this article, we reveal OT and CRDT differences in correctness and complexity by dissecting and examining representative OT and CRDT solutions. We explore how different basic approaches ̶ the concurrency-centric approach taken by OT and the content-centric approach taken by CRDT ̶ had resulted in different technical challenges, correctness and complexity issues, and solutions. Moreover, we reveal hidden algorithmic flaws with representative CRDT solutions, and discuss common myths and facts related to correctness, time and space complexity, and simplicity of OT and CRDT. We present facts and evidences that refute CRDT claimed advantages over OT. We hope the discoveries from this work help clear up common myths and confusions surrounding OT and CRDT, and accelerate progress in co-editing technology for real world applications. ; URL: https://www.ntu.edu.sg/home/CZSun 20,38,43,54,55,58,61,70,71,77], and support real-time collaboration in rich-text co-editing in word processors [60,65,68,82], HTML/XML Web document co-editing [10], spreadsheet co-editing [69], 3D model co-editing in digital media design tools [1,2], and file synchronization in cloud storage systems [3]. Recent years have seen OT being widely adopted in industry products as the core technique for consistency maintenance, ranging from battle-tested online collaborative richtext editors like Google Docs 1 [11], to emerging start-up products, such as Codox Apps 2 .A variety of alternative techniques for consistency maintenance in co-editors had also been explored in the past decades [14,16,18,41,42,72]. One notable class of techniques is CRDT 3 (Commutative Replicated Data Type) for co-editors [4,5,8,25,32,37,39,40,41,45,47,48,79,80,81]. The first CRDT solution for plain-text co-editing appeared around 2006 [40,41], under the name of WOOT (WithOut Operational Transformation). One mo...
Most past research efforts in co-editing focused on homogeneous co-editing, which allows multiple users to use the same editor to edit shared documents in the same session, and nearly all real-world co-editors, such as Google Docs, are homogeneous co-editors. In this work, we explore issues and solutions in building heterogeneous co-editing systems, which allow multiple users to use different editors to edit shared documents in the same session. To drive our exploration, we built a prototype heterogeneous co-editing system, named CoVim+CoEmacs, which allows multiple users to use full functionalities and UI features of two comprehensive and rivalry text editors, Vim and Emacs, in the same co-editing session. In this paper, we focus on technical issues in designing and implementing heterogeneous co-editors in general and CoVim+CoEmacs in particular. We have motivated this work by potential usage benefits of heterogeneous co-editing systems and used working scenarios under the CoVim+CoEmacs prototype to illustrate some novel usages and inner workings of such systems, but left systematic user studies on heterogeneous co-editing to future work. We hope the insights and experiences drawn from this work can not only contribute to advancing state-of-the-art collaborative system design and implementation, but also provide inspiration to future heterogeneous collaborative application system designers.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2025 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.