Undo and Redo Support for Replicated Registers

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Stewen, Leo, Kleppmann, Martin
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916440119967744
author Stewen, Leo
Kleppmann, Martin
author_facet Stewen, Leo
Kleppmann, Martin
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2404_11308
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Undo and Redo Support for Replicated Registers
Stewen, Leo
Kleppmann, Martin
Distributed, Parallel, and Cluster Computing
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.
title Undo and Redo Support for Replicated Registers
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2404.11308