NetEdit: A Collaborative Editor

We present a collaborative text editor named NetEdit. NetEdit uses a replicated architecture with processing and data distributed across all clients. Due to replication, the response time for local edits is quite close to that of a single-user editor. Clients do not need explicit awareness of other clients since all communication is coordinated by a central server. As a result, NetEdit is quite scalable (linear growth relative to purely distributed systems (quadratic growth) in terms of number of communication paths required as the number of clients grow. NetEdit uses an n-way synchronization algorithm derived from the synchronization protocol of the Jupiter collaboration system. Along with describing the editor, its architecture and its synchronization algorithm, we present the results of a usability study that evaluated the collaboration awareness tools included in NetEdit.

[1]  Richard R. Muntz,et al.  COCA: collaborative objects coordination architecture , 1998, CSCW '98.

[2]  Alex Mitchell,et al.  COMMUNICATION AND SHARED UNDERSTANDING IN COLLABORATIVE WRITING , 1996 .

[3]  Carl Gutwin,et al.  Semantic telepointers for groupware , 1996, Proceedings Sixth Australian Conference on Computer-Human Interaction.

[4]  Saul Greenberg,et al.  GROUPWARE TOOLKITS FOR SYNCHRONOUS WORK , 1996 .

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

[6]  Michael Koch,et al.  Using Component Technology for Group Editors — The Iris Group Editor Environment , 1997 .

[7]  Matthias Ressel,et al.  An integrating, transformation-oriented approach to concurrency control and undo in group editors , 1996, CSCW '96.

[8]  Robert E. Kraut,et al.  Collaborative document production using quilt , 1988, CSCW '88.

[9]  David Kaufer,et al.  Computer support for distributed collaborative writing: defining parameters of interaction , 1994, CSCW '94.

[10]  Carl Gutwin,et al.  Workspace awareness support with radar views , 1996, CHI Conference Companion.

[11]  Jakob E. Bardram,et al.  Designing for the dynamics of cooperative work activities , 1998, CSCW '98.

[12]  Clifford A. Shaffer,et al.  Supporting worker independence in collaboration transparency , 1998, UIST '98.

[13]  Yanchun Zhang,et al.  Achieving convergence, causality preservation, and intention preservation in real-time cooperative editing systems , 1998, TCHI.

[14]  Prasun Dewan,et al.  Flexible user interface coupling in a collaborative system , 1991, CHI.

[15]  Saul Greenberg,et al.  GROUPWARE TOOLKITS FOR SYNCHRONOUS WORK , 1996 .

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

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

[18]  Prasun Dewan,et al.  Architectures for Collaborative Applications , 1999 .

[19]  Yanchun Zhang,et al.  Real-Time Cooperative Editing on the Internet , 2000, IEEE Internet Comput..

[20]  Michael Dixon,et al.  High-latency, low-bandwidth windowing in the Jupiter collaboration system , 1995, UIST '95.

[21]  Carl Gutwin,et al.  Workspace Awareness in Real-Time Distributed Groupware: Framework, Widgets, and Evaluation , 1996, BCS HCI.

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

[23]  Johann H. Schlichter,et al.  Workspae Awareness for Distributed Teams , 1996, Coordination Technology for Collaborative Applications.

[24]  Daniel G. Bobrow,et al.  WYSIWIS revised: early experiences with multiuser interfaces , 1987, TOIS.

[25]  Chengzheng Sun,et al.  Operational transformation in real-time group editors: issues, algorithms, and achievements , 1998, CSCW '98.

[26]  Paul Dourish,et al.  Awareness and coordination in shared workspaces , 1992, CSCW '92.

[27]  Carl Gutwin,et al.  Workspace awareness for groupware , 1996, CHI Conference Companion.

[28]  Clifford A. Shaffer,et al.  Transparent sharing of Java applets: a replicated approach , 1997, UIST '97.

[29]  John F. Patterson,et al.  Notification servers for synchronous groupware , 1996, CSCW '96.

[30]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[31]  M. Roseman,et al.  A usability study of awareness widgets in a shared workspace groupware system , 1996, CSCW '96.

[32]  L. S. Jackson,et al.  Java object-sharing in Habanero , 1998, CACM.

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

[34]  James Begole,et al.  Flexible collaboration transparency: supporting worker independence in replicated application-sharing systems , 1999, TCHI.