A framework for undoing actions in collaborative systems

The ability to undo operations is a standard feature in most single-user interactive applications. We propose a general framework for implementing undo in collaborative systems. The framework allows users to reverse their own changes individually, taking into account the possibility of conflicts between different users' operations that may prevent an undo. The proposed framework has been incorporated into DistEdit, a toolkit for building group text editors. Based on our experience with DistEdit's undo facilities, we discuss several issues that need to be taken into account in using the framework, in order to ensure that a reasonable undo behavior is provided to users. We show that the framework is also applicable to single-user systems, since the operations to undo can be selected not just on the basis of who performed them, but by any appropriate criterion, such as the document region in which the operations occurred or the time interval in which the operations were carried out.

[1]  Wilfred J. Hansen User engineering principles for interactive systems , 1972, AFIPS '71 (Fall).

[2]  Prasun Dewan,et al.  Multi-User Undo/Redo , 1992 .

[3]  William E. Weihl,et al.  Atomic data abstractions in a distributed collaborative editing system , 1986, POPL '86.

[4]  Y. Yang,et al.  A new conceptual model for interactive user recovery and command reuse facilities , 1988, CHI '88.

[5]  Robert E. Kraut,et al.  Quilt: a collaborative tool for cooperative writing , 1988 .

[6]  Jeffrey Scott Vitter US&R: A new framework for redoing (Extended Abstract) , 1984 .

[7]  Alain Karsenty,et al.  An algorithm for distributed groupware applications , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[8]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[9]  Sudhir R. Ahuja,et al.  The Rapport multimedia conferencing system-a software overview , 1988, [1988] Proceedings. 2nd IEEE Conference on Computer Workstations.

[10]  B. Lampson In alto user's handbook , 2016 .

[11]  VAN,et al.  Computer assisted tracing of text evolution , .

[12]  Daniel G. Bobrow,et al.  Beyond the chalkboard: computer support for collaboration and problem solving in meetings , 1988, CACM.

[13]  Atul Prakash,et al.  Issues in the Design of a Toolkit for Supporting Multiple Group Editors , 1993, Comput. Syst..

[14]  Gregory D. Abowd,et al.  Giving Undo Attention , 1992, Interact. Comput..

[15]  Clarence A. Ellis,et al.  Concurrency control in groupware systems , 1989, SIGMOD '89.

[16]  Richard M. Stallman,et al.  Gnu Emacs Manual , 1996 .

[17]  Harold W. Thimbleby,et al.  User interface design , 1990, ACM Press Frontier Series.

[18]  Richard E. Newman,et al.  MACE: a fine grained concurrent editor , 1991, COCS '91.

[19]  M. Good,et al.  The implementation of Etude, an integrated and interactive document production system , 1981 .

[20]  Thomas Berlage,et al.  A framework for shared applications with a replicated architecture , 1993, UIST '93.

[21]  Atul Prakash,et al.  Undoing actions in collaborative work , 1992, CSCW '92.

[22]  James D. Foley,et al.  The art of natural graphic man—Machine conversation , 1974 .

[23]  Ronald Baecker,et al.  The user-centered iterative design of collaborative writing software , 1993, INTERCHI.

[24]  Atul Prakash,et al.  DistEdit: a distributed toolkit for supporting multiple group editors , 1990, CSCW '90.

[25]  Jeffrey Scott Vitter US&R: A New Framework for Redoing , 1984, IEEE Software.

[26]  Marilyn Mantei Capturing the capture concepts: a case study in the design of computer-supported meeting environments , 1988, CSCW '88.

[27]  Clayton H. Lewis,et al.  Concepts and implications of undo for interactive recovery , 1985, ACM '85.

[28]  Clarence A. Ellis,et al.  Groupware: some issues and experiences , 1991, CACM.

[29]  E KrautRobert,et al.  Quilt: a collaborative tool for cooperative writing , 1988 .

[30]  David Kaufer,et al.  Issues in the design of computer support for co-authoring and commenting , 1990, CSCW '90.

[31]  Clarence A. Ellis,et al.  Design and use of a group editor , 1988 .

[32]  James E. Archer,et al.  COPE: A Cooperative Programming Environment , 1981 .

[33]  Irving L. Traiger,et al.  On the notions of consistency and predicate locks in a relational database system" cacm , 1976 .

[34]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[35]  Christos H. Papadimitriou,et al.  The Theory of Database Concurrency Control , 1986 .

[36]  Judith S. Olson,et al.  Groupwork close up: a comparison of the group design process with and without a simple group editor , 1993, TOIS.

[37]  Warren Teitelman,et al.  The interlisp reference manual , 1974 .

[38]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[39]  Chandrajit L. Bajaj,et al.  Shastra: multimedia collaborative design environment , 1994, IEEE MultiMedia.

[40]  Ronald M. Baecker,et al.  The user-centred iterative design of collaborative writing software , 1995 .