Conference Paper

Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types

Fulltext URI

Document type

Text/Conference Paper

Additional Information



Journal Title

Journal ISSN

Volume Title


Association for Computing Machinery


Near real-time collaboration using Web browsers is becoming rapidly more and more popular for many applications such as text editing, coding, sketching and others. These applications require reliable algorithms to ensure consistency among the participating Web clients. Operational Transformation (OT) and more recently Commutative Replicated Data Types (CRDT) have become widely adopted solutions for this kind of problem. However, most existing approaches are non-trivial and require trade-offs between expressiveness, suitable infrastructure, performance and simplicity. The ever growing number of potential use cases, the new possibilities of cutting-edge messaging protocols that shaped the near real-time Web, and the use of N-way communication between clients (e.g. WebRTC), create a need for peer-to-peer algorithms that perform well and are not restricted to only a few supported data types. In this paper, we present YATA, an approach for peer-to-peer shared editing applications that ensures convergence, preserves user intentions, allows offline editing and can be utilized for arbitrary data types in the Web browser. Using Yjs, its open-source JavaScript library implementation, we have evaluated the performance and multiple usage of YATA in Web and mobile browsers, both on test and real-world data. The promising evaluation results as well as the uptake by many commercial vendors and open-source projects indicate a wide applicability of YATA.


Nicolaescu, Petru; Jahns, Kevin; Derntl, Michael; Klamma, Ralf (2016): Near Real-Time Peer-to-Peer Shared Editing on Extensible Data Types. Proceedings of the 2016 ACM International Conference on Supporting Group Work. DOI: 10.1145/2957276.2957310. Association for Computing Machinery. pp. 39–49. Sanibel Island, Florida, USA