WILEY Trends in Software 7


Edited by

Michel Beaudouin-Lafon


Presentation Preface Overview Abstracts Full text

Chapter 1 by Ehrlich focuses on a category of groupware for asynchronous group work such as the well-known Lotus Notes. More importantly, it provides an in-depth analysis and a set of recommendations to help design, develop and deploy groupware in an organization. Ehrlich emphasizes that groupware is for group work and therefore all aspects of group work must be well understood for the software to be accepted.


Chapter 2 by Ellis covers workflow systems. Since the 1960s, businesses have been converting their manual or mechanical information systems into computerized systems. Workflow systems go beyond traditional information systems by embodying a description of the work processes of the organization. The system therefore can be proactive, e.g. by automatically circulating documents or by reminding users of their duties when they are late. Ellis analyzes the promises, realities and problems of this category of groupware.


Chapter 3 by Mackay describes media spaces, i.e. communication systems that combine audio, video and computers to provide distant users with a means for social interaction and informal communication. Unlike videoconferencing rooms which require reservations and inevitably lead to formal meetings, media spaces attempt to broaden the bandwidth among users in order to support ``real-life'' human communication. Mackay covers the underlying design rationale of the existing systems and raises awareness on ethical and privacy issues of groupware.


Chapter 4 by Ishii describes systems that allow small groups to work in a tightly-coupled way at a distance, such as an instructor and a student or a group of designers. The chapter is illustrated by a description of a series of prototypes developed by Ishii and his group. While the prototypes are technically more and more complex, the chapter shows how the observation of the type of group work that was to be supported leads from one prototype to the next.


Chapter 5 by Prakash covers shared editors, editors that can be used by several users simultaneously to edit, in real-time, a single document. It marks the division between the two parts of the book: the concepts of shared editor are introduced and some examples are presented. The chapter then goes into an in-depth description of the techniques used to implement shared editors, focusing on issues such as managing the consistency between several copies of the document being edited and implementing multi-user undo.


Chapter 6 by Greenberg and Roseman describes groupware toolkits. In the same spirit as user interface toolkits, groupware toolkits provide programmers with predefined components that help implement groupware tools. The chapter covers toolkits for real-time (or synchronous) groupware, with components such as group widgets, awareness widgets, session managers, etc. Greenberg and Roseman use their own toolkit, GroupKit, to illustrate the design issues of such tools.


Chapter 7 by Dewan covers software architectures for CSCW. Since groupware applications must interact, by definition, with several users, they are in general distributed over a network. Dewan systematically examines the various ways in which an application can be decomposed into modules, threads and processes and the many tradeoffs that the various solutions incur. This leads to a set of measures for an architecture that help better understand this large design space.


Chapter 8 by Dourish covers software infrastructures, i.e. the types of services that are or could be provided by the operating system, network and other middleware to implement groupware applications. Given the varying needs of groupware applications, Dourish presents a particular approach, open implementation, as particularly promising since it combines flexibility, performance and openness.


Chapter 9 by Johnson provides an original perspective on the role of formal methods in CSCW, more particularly in the requirements phase of development. Johnson introduces several formal notations and models and uses examples to show how they can be applied to practical cases.