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

05/02/2019
by   David Sun, et al.
0

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 study on representative OT and CRDT solutions and working co-editors based on them, we present our main research discoveries in relation to this question and beyond in a series of three related and complementary articles. In prior work, 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 OT and CRDT research, and the consequential differences in the adoption of and 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 system implementation and "peer-to-peer" co-editing.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset