A Tale of Two Toolkits: Relating Infrastructure and Use in Flexible CSCW Toolkits

The design of software toolkitsembodies a fundamental tension. On the one hand, itaims to reduce programmer effort by providingprefabricated, reusable software modules encapsulatingcommon application behaviours. On the other, it seeksto support a range of applications, which necessitatesavoiding an overly-restrictive commitment toparticular styles of application behaviour.We explore this tension in the domain of collaborativeapplications, which we believe are particularlysubject to problems arising from this tension. Basedon an analysis of the basic issues of flexibility intoolkit design, we explore opportunities for thedesign of toolkits which avoid application style commitments, with illustrations from two toolkits whichwe have developed. A comparative analysis of these twoapproaches provides insight into the underlyingquestions and suggests new design opportunities fortoolkits that provide a framework for applicationenhancement and extension.

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

[2]  Jonathan Trevor,et al.  Cola: A lightweight platform for CSCW , 2004, Computer Supported Cooperative Work (CSCW).

[3]  Victoria Bellotti,et al.  Informed Opportunism as Strategy: Supporting Coordination in Distributed Collaborative Writing , 1993, ECSCW.

[4]  Prasun Dewan,et al.  A tour of suite user interface software , 1990, UIST '90.

[5]  Richard Bentley,et al.  Medium versus mechanism: Supporting collaboration through customisation , 1995, ECSCW.

[6]  Christopher Fry,et al.  Experiments with Oval: a radically tailorable tool for cooperative work , 1992, CSCW '92.

[7]  James Paul Dourish,et al.  Open implementation and flexibility in CSCW toolkits , 1996 .

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

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

[10]  Paul Dourish,et al.  The Parting of the Ways: Divergence, Data Management and Collaborative Work , 1995, ECSCW.

[11]  W. Keith Edwards,et al.  Policies and roles in collaborative applications , 1996, CSCW '96.

[12]  Prasun Dewan,et al.  Coupling the user interfaces of a multiuser program , 1995, TCHI.

[13]  Randall H. Trigg,et al.  Adaptability and Tailorability in NoteCards , 1987 .

[14]  Harry C. Forsdick,et al.  MMConf: an infrastructure for building shared multimedia applications , 1990, CSCW '90.

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

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

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

[18]  Susanne Bødker,et al.  From implementation to design: tailoring and the emergence of systematization in CSCW , 1994, CSCW '94.

[19]  Gary M. Olson Cognitive science and machine intelligence laboratory, University of Michigan , 1989, CHI '89.

[20]  Gregor Kiczales,et al.  Beyond the Black Box: Open Implementation , 1996, IEEE Softw..

[21]  Saul Greenberg,et al.  Computer-supported cooperative work and groupware , 1991 .

[22]  W. Keith Edwards,et al.  Coordination infrastructure in collaborative systems , 1996 .

[23]  Gregor Kiczales,et al.  Towards a new model of abstraction for the engineering o f software , 1992 .

[24]  Bonnie A. Nardi,et al.  Twinkling Lights and Nested Loops: Distributed Problem Solving and Spreadsheet Development , 1991, Int. J. Man Mach. Stud..

[25]  Prasun Dewan,et al.  An editing-based characterization of the design space of collaborative applications , 1994 .

[26]  Thomas P. Moran,et al.  User-tailorable systems: pressing the issues with buttons , 1990, CHI '90.

[27]  Jakob Nielsen Interact '87 , 1988, SGCH.

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

[29]  Jonathan Trevor,et al.  The use of adapters to support cooperative sharing , 1994, CSCW '94.

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

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