Undo any operation at any time in group editors

  title={Undo any operation at any time in group editors},
  author={Chengzheng Sun},
  booktitle={CSCW '00},
The ability to undo operations is an indispensable feature of real-time group editors, but supporting group undo is a difficult problem. None of the existing solutions for group undo is able to support undoing any operation at any time with guaranteed success. In this paper, we contribute a novel group undo solution with such a capability. The basic idea is to interpret an undo command as a concurrent inverse operation by means of operational transformation, so that an operation is always… 

Figures from this paper

Undo as concurrent inverse in group editors
The proposed undo solution consists of a generic transformation control algorithm that is capable of generating, transforming, and representing valid inverse operations in any context, and a set of transformation functions that are capable of preserving undo-related transformation conditions and properties.
A transparent selective undo algorithm for collaborative editing
A novel selective undo algorithm T-UNDO (transparent selective undo) is proposed, which can be transparently integrated into the consistency maintenance algorithms of do operations that maintains insertions before deletions in the edit history.
Undoing any operation in collaborative graphics editing systems
The Any Undo solution presented in this paper is able to undo any operation in collaborative graphics editing systems and focuses on producing the correct version and the correct number of versions.
A Constraint-based Approach for Generating Transformation Patterns
Constraint Satisfaction Problem (CSP) theory is used to devise correct and undoable transformation patterns (w.r.t OT and undo properties) which considerably simplifies the design of collaborative objects.
Using Task Models for Cascading Selective Undo
This paper defines a task model for implementing selective undo in the face of dependencies that may exist between the undone action and other subsequent user actions, and presents the selective undo algorithm and discusses extensions that account for differing kinds of inter-action dependencies.
Compensation in Collaborative Editing
This paper presents a novel undo approach based on the notion of compensation used in databases where compensating operations semantically undo other operations and is generic in the sense that it can be used in association with any operational transformation algorithm.
Toward Undoing in Composite Web Services
This work presents some relevant aspects of the so-called “selective undo” model, and then some hints on how to transpose it into the framework of composite web services.
Using CSP for coordinating undo-based collaborative applications
To correctly manipulate undo for a shared object, it is proved that the set of operations of size n • 4 must be totally Commutative, while only a subset of commutative operations is necessary otherwise.
Concurrent Undo Operations in Collaborative Environments Using Operational Transformation
This paper aims to highlight two general conditions that need to be satisfied by any transformation adapted to undo, and presents a general undo algorithm based on the definition of a generic undo-fitted transformation, which automatically verifies these conditions.
An empirical evaluation of undo mechanisms
This study shows that, for the application studied, when a user is asked to perform undo in the absence of any guidance, the user will tend to gravitate toward an undo mechanism that uses existing dependencies between user actions.


A framework for undoing actions in collaborative systems
A general framework for implementing undo in collaborative systems is proposed, which allows users to reverse their own changes individually, taking into account the possibility of conflicts between different users' operations that may prevent an undo.
Giving Undo Attention
A selective undo mechanism for graphical user interfaces based on command objects
Selective undo introduced here can undo isolated commands by copying them into the current state “if that is meaningful” and the semantics of selective undo are argued to be more natural for the user, because the mechanism only looks at the command to undo and the currentState and does not depend on the history in between.
Reducing the problems of group undo
A new approach is described which reduces local group undo to a transformation-based method for combining the effects of concurrently issued user commands and introduces mirror and folding operators in order to build a unique and consistent multidimensional model of the user interaction.
An integrating, transformation-oriented approach to concurrency control and undo in group editors
An improved version of an existing distributed algorithm for concurrency control that is based on operation transformations is presented and a set of necessary and sufficient conditions to be satisfied in order to ensure consistency in a replicated architecture is presented.
Issues in the Design of a Toolkit for Supporting Multiple Group Editors
The detailed design and implementation of the DistEdit toolkit is described and the experiences in converting several editors, including Gnu Emacs and Xedit, to group edi- tors using the toolkit are reported.
A General Multi-User Undo/Redo Model
The model constructs the command history of a particular user by including all local commands and those remote commands whose results were made visible to that user and allows a user to undo/redo corresponding commands in the command histories of all users of a program.
Operational transformation in real-time group editors: issues, algorithms, and achievements
An integrative review of the evolution of operational tra=formation techniques, with the go~ of identifying the major is-m, dgotiths, achievements, and remaining Mlenges, and a new optimized generic operational transformation control algorithm.
Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems
A consistency model, with properties of convergence, causality preservation, and intention preservation, is proposed as a framework for consistency maintenance in real-time cooperative editing systems and an integrated set of schemes and algorithms are devised.
Dix: “Giving undo attention,
  • Interacting with Computers,
  • 1992