Groupware Toolkits for

Groupware toolkits let developers build applications for synchronous and distributed computer-based conferencing. This chapter describes four components that we believe toolkits must provide. A run-time architecture automatically manages the creation, interconnection, and communications of both centralized and distributed processes that comprise conference sessions. A set of groupware programming abstractionsallows developers to control the behaviour of distributed processes, to take action on state changes, and to share relevant data. Groupware widgetslet interface features of value to conference participants be added easily to groupware applications. Session managers let people create and manage their meetings and are built by developers to accommodate the group’s working style. We illustrate the many ways these components can be designed by drawing on our own experiences with GroupKit, and by reviewing approaches taken by other toolkit developers.

[1]  Allan Kuchinsky,et al.  Strudel—an extensible electronic conversation toolkit , 1990, CSCW '90.

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

[3]  Mark Pendergast,et al.  Implementing Gesturing with Cursors in Group Support Systems , 1993, J. Manag. Inf. Syst..

[4]  Kenneth P. Birman,et al.  The process group approach to reliable distributed computing , 1992, CACM.

[5]  T. C. Nicholas Graham,et al.  Linguistic support for the evolutionary design of software architectures , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[6]  Krishna Bharat,et al.  Building distributed, multi-user applications by direct manipulation , 1994, UIST '94.

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

[8]  Carl Gutwin,et al.  Using Disortion-Oriented Displays to Support Workspace Awareness , 1996, BCS HCI.

[9]  Saul Greenberg,et al.  GROUPKIT: a groupware toolkit for building real-time conferencing applications , 1992, CSCW '92.

[10]  Atul Prakash,et al.  Supporting multi-user, multi-applet workspaces in CBE , 1996, CSCW '96.

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

[12]  Atul Prakash,et al.  The Session Capture and Replay Paradigm for Asynchronous Collaboration , 1995, ECSCW.

[13]  John C. Tang Findings from Observational Studies of Collaborative Work , 1991, Int. J. Man Mach. Stud..

[14]  Thomas W. Malone,et al.  Experiments with Oval: a radically tailorable tool for cooperative work , 1992 .

[15]  Gerald Estrin,et al.  Prototyping synchronous group applications , 1994, Computer.

[16]  Thomas Berlage,et al.  A selective undo mechanism for graphical user interfaces based on command objects , 1994, TCHI.

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

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

[19]  Saul Greenberg,et al.  TeamRooms: network places for collaboration , 1996, CSCW '96.

[20]  Saul Greenberg Sharing views and interactions with single-user applications , 1990 .

[21]  Richard N. Taylor,et al.  Chiron-1: a software architecture for user interface development, maintenance, and run-time support , 1995, TCHI.

[22]  Saul Greenberg,et al.  Building real-time groupware with GroupKit, a groupware toolkit , 1996, TCHI.

[23]  W. Keith Edwards Session management for collaborative applications , 1994, CSCW '94.

[24]  Saul Greenberg,et al.  Real time groupware as a distributed system: concurrency control and its effect on the interface , 1994, CSCW '94.

[25]  Christer Carlsson,et al.  DIVE - A platform for multi-user virtual environments , 1993, Comput. Graph..

[26]  Saul Greenberg,et al.  Building flexible groupware through open protocols , 1993, COCS '93.

[27]  Daniel G. Bobrow,et al.  Design for Conversation: Lessons from Cognoter , 1991, Int. J. Man Mach. Stud..

[28]  T. C. Nicholas Graham,et al.  ClockWorks: Visual Programming of Component-Based Software Architectures , 1996, J. Vis. Lang. Comput..

[29]  John F. Patterson,et al.  A taxonomy of architectures for synchronous groupware applications , 1995, SIGO.

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

[31]  Saul Greenberg,et al.  GroupWeb: a WWW browser as real time groupware , 1996, CHI 1996.

[32]  Hiroshi Ishii,et al.  ClearBoard: a seamless medium for shared drawing and conversation with eye contact , 1992, CHI.

[33]  Saul Greenberg,et al.  Making contact: getting the group communicating with groupware , 1993, COCS '93.

[34]  Sudhir R. Ahuja,et al.  A comparison of application sharing mechanisms in real-time desktop conferencing systems , 1990 .

[35]  Steven L. Rohall,et al.  Rendezvous: an architecture for synchronous multi-user applications , 1990, CSCW '90.

[36]  Steven L. Rohall,et al.  The Rendezvous architecture and language for constructing multiuser applications , 1994, TCHI.

[37]  Theodore Alan O'Grady,et al.  Flexible data sharing in a groupware toolkit , 1998 .

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

[39]  Ralph D. Hill The abstraction-link-view paradigm: using constraints to connect user interfaces to applications , 1992, CHI '92.

[40]  T. C. Nicholas Graham,et al.  Relational views as a model for automatic distributed implementation of multi-user applications , 1992, CSCW '92.

[41]  Keith A. Lantz,et al.  Replicated architectures for shared window systems: a critique , 1990 .

[42]  John K. Ousterhout,et al.  Tcl and the Tk Toolkit , 1994 .

[43]  Michael R. Macedonia,et al.  MBone provides audio and video across the Internet , 1994, Computer.

[44]  Prasun Dewan,et al.  A high-level and flexible framework for implementing multiuser user interfaces , 1992, TOIS.

[45]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[46]  John F. Patterson,et al.  Comparing the programming demands of single-user and multi-user applications , 1991, UIST '91.

[47]  Geraldine Fitzpatrick,et al.  Specifying dynamic support for collaborative work within WORLDS , 1995, COCS '95.

[48]  Saul Greenberg,et al.  GroupWare for Real-Time Drawing: A Designer's Guide , 1995 .

[49]  Carl Gutwin,et al.  Applying distortion-oriented displays to groupware , 1996, CSCW '96.

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

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

[52]  Paul Dourish,et al.  Consistency guarantees: exploiting application semantics for consistency management in a collaboration toolkit , 1996, CSCW '96.

[53]  Paul Dourish,et al.  Portholes: supporting awareness in a distributed work group , 1992, CHI.

[54]  Paul Dourish,et al.  Developing a reflective model of collaborative systems , 1995, TCHI.

[55]  T. C. Nicholas Graham,et al.  Efficient distributed implementation of semi-replicated synchronous groupware , 1996, UIST '96.

[56]  Atul Prakash,et al.  DistView: support for building efficient collaborative applications using replicated objects , 1994, CSCW '94.

[57]  Carl Gutwin,et al.  Supporting awareness of others in groupware , 1996, CHI Conference Companion.

[58]  Prasun Dewan,et al.  Access control for collaborative environments , 1992, CSCW '92.