Undo and Redo Support for Replicated Registers
Abstract: Undo and redo functionality is ubiquitous in collaboration software. In single user settings, undo and redo are well understood. However, when multiple users edit a document, concurrency may arise, leading to a non-linear operation history. This renders undo and redo more complex both in terms of their semantics and implementation. We survey the undo and redo semantics of current mainstream collaboration software and derive principles for undo and redo behavior in a collaborative setting. We then apply these principles to a simple CRDT, the Multi-Valued Replicated Register, and present a novel undo and redo algorithm that implements the undo and redo semantics that we believe are most consistent with users' expectations.
- Gregory D Abowd and Alan J Dix. 1992. Giving undo attention. Interacting with computers 4, 3 (1992), 317–342.
- Pure operation-based replicated data types. arXiv preprint arXiv:1710.04469 (2017).
- Eric Brattli and Weihai Yu. 2021. Supporting Undo and Redo for Replicated Registers in Collaborative Applications. In 18th International Conference on Cooperative Design, Visualization, and Engineering (CDVE 2021). Springer LNCS volume 12983, 195–205. https://doi.org/10.1007/978-3-030-88207-5_19
- Stephen Dolan. 2020. Brief Announcement: The Only Undoable CRDTs Are Counters. In 39th Symposium on Principles of Distributed Computing (PODC 2020). ACM, 57–58. https://doi.org/10.1145/3382734.3405749 arXiv:2006.10494
- Local-first software: you own your data, in spite of the cloud. In Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software. 154–178.
- Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM 21, 7 (jul 1978), 558–565. https://doi.org/10.1145/359545.359563
- Scalable XML Collaborative Editing with Undo. In On the Move to Meaningful Internet Systems (OTM). Springer LNCS volume 6426, 507–514. https://doi.org/10.1007/978-3-642-16934-2_37 arXiv:1010.3615
- Near real-time peer-to-peer shared editing on extensible data types. In Proceedings of the 2016 ACM International Conference on Supporting Group Work. 39–49.
- Nuno Preguiça. 2018. Conflict-free replicated data types: An overview. arXiv preprint arXiv:1806.10254 (2018).
- Matthias Ressel and Rul Gunzenhäuser. 1999. Reducing the problems of group undo. In Proceedings of the 1999 ACM International Conference on Supporting Group Work. 131–139.
- A comprehensive study of convergent and commutative replicated data types. Technical Report.
- Chengzheng Sun. 2000. Undo any operation at any time in group editors. In Proceedings of the 2000 ACM conference on Computer supported cooperative work. 191–200.
- The Automerge Contributors. 2024. Automerge CRDT Library. https://github.com/automerge.
- The YJS Contributors. 2024. YJS Library. https://github.com/yjs/yjs.
- Evan Wallace. 2019. How Figma’s multiplayer technology works. https://web.archive.org/web/20230904085717/https://www.figma.com/blog/how-figmas-multiplayer-technology-works/
- Logoot-Undo: Distributed Collaborative Editing System on P2P Networks. IEEE Transactions on Parallel and Distributed Systems 21, 8 (Aug. 2010), 1162–1174. https://doi.org/10.1109/TPDS.2009.173
- A CRDT Supporting Selective Undo for Collaborative Text Editing. In 15th IFIP WG 6.1 International Conference on Distributed Applications and Interoperable Systems (DAIS 2015). Springer LNCS volume 9038, 193–206. https://doi.org/10.1007/978-3-319-19129-4_16
- A Generic Undo Support for State-Based CRDTs. In 23rd International Conference on Principles of Distributed Systems (OPODIS 2019). Dagstuhl LIPIcs, Article 14. https://doi.org/10.4230/LIPIcs.OPODIS.2019.14
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.