WILEY Trends in Software 7


Edited by

Michel Beaudouin-Lafon


Presentation Preface Overview Abstracts Full text

Designing Groupware Applications: A Work-Centered Design Approach
K. Ehrlich
Lotus Development Corp.
Group-ware is about group-work. It is about developing technologies that support the way people communicate and collaborate to accomplish work goals in the context of personal, managerial and organizational imperatives. In contrast to single user applications which support peoples' tasks, groupware supports peoples' work. Tasks are often explicit, observable and concrete. Work is often tacit, invisible and amorphous. The challenge in developing a groupware application lies in understanding, explicating and then supporting the invisible work. The chapter provides some insight into the process of developing groupware applications by first describing some new methodologies for generating requirements. It then outlines several themes - communication, awareness, anonymity - which have emerged as common across many groupware applications. The chapter also addresses the technical and social issues that emerge when deploying a groupware application in an organization. Application deployment is one of the most challenging aspects of developing a groupware application.The chapter concludes with a case study of an application designed to support coordination and communication in distributed teams. The case study brings together the topics of Methodology, Design and Deployment in a concrete setting.

Workflow Technology
C.A. Ellis
University of Colorado
This chapter is concerned with workflow, its systems, its models, its problems and promises. Workflow management systems assist in the specification, modeling, and enactment of structured work processes within organizations. These systems are a special type of collaboration technology which we describe as "organizationally aware groupware". Since the turn of the decade, over 200 new workflow products have been introduced into the world market. This chapter motivates and defines the concepts of workflow. Examples are presented from existing products and prototypes. Finally, we explore some of the current inhibitors and research issues in this fast growing domain.

Media Spaces: Environments for Informal Multimedia Interaction
W.E. Mackay
Aarhus University
Distributed organizations, with distributed cooperative work, are a fact of life. How can new technologies help? Distributed video is an appealing choice, carrying more contextual information than voice alone and, arguably, better at conveying subtle cues, such as the emotional states. Although new commercial systems are being introduced, they focus primarily on providing new technology. Most are based on relatively simple extensions of two existing models of communication: formal meetings become videoconferences and telephones become videophones. However, research in computer-supported cooperative work has tried to emphasize the user, with models based on Shared Workspaces (to support shared work on a common task), Coordinated Communication (to support structured communication to serve a specified purpose), and Informal Interaction (to support informal, unplanned and unstructured interactions). Although mediaspaces can incorporate all three, they emphasize informal communication, providing people working together at a distance with interactions that they take for granted when they are co-located. This chapter describes some of the pioneering work in media spaces, with more detailed descriptions of our own work at Rank Xerox EuroPARC (RAVE for our own use in the laboratory and WAVE, to support engineers working collaboratively between facilities in England and the Netherlands), concluding with a discussion of the technical, user interface and social issues involved in designing media spaces.

Integration of Shared Workspace and Interpersonal Space for Remote Collaboration
H. Ishii
MIT Media Laboratory
Computer-based groupware and video telephony are the major technological components of remote collaboration support. However, integration of these two components has been a big design challenge. This chapter introduces the research effort to integrate the shared workspace created by groupware technology and the interpersonal space supported by video communication technology. TeamWorkStation and ClearBoard will be introduced as example systems which were designed to support focused real-time collaboration by distributed group members.

Group Editors
A. Prakash
University of Michigan
This chapter focuses on group editors, an important class of collaborative tools that allow multiple users to view and edit a shared document simultaneously. Building group editors requires solving non-trivial problems such as providing adequate response time for edit operations, ensuring consistency with concurrent updates, providing adequate per-user undo facilities, and providing collaboration awareness. Design choices are presented for implementing these facilities as well as examples of implementations from several group editors.

Groupware Toolkits for Synchronous Work
S. Greenberg and M. Roseman
University of Calgary
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 abstractions allows developers to control the behavior of distributed processes, to take action on state changes, and to share relevant data. Groupware widgets let 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.

Architectures for Collaborative Applications
P. Dewan
University of North Carolina
The architecture of a collaborative application is characterized by themodules, layers, replicas, threads, and processes into which the application is decomposed; the awareness in these components of collaboration functions; and the interaction among these components. It influences the function, fairness, fault tolerance, ease of modification, and performance of the application, the amount of programming effort required to implement the application, and the reuse of existing single-user code. This chapter presents a design space of existing and potential collaboration architectures and discusses the consequences of choosing different points in this space.

Software Infrastructures
P. Dourish
Xerox PARC
Increasingly, personal computers and workstations come ready "out of the box" to participate as nodes of a distributed computing network. Elements of distributed computing infrastructure, from network file systems and shared printers to high-speed connection backbones, are part of our everyday experiences as users of computers. This chapter discusses software infrastructures for the design of CSCW applications. In particular, it is concerned with how developments in distributed computing and user interface architecture can be exploited in applications that support collaborative activity. The chapter considers a variety of currently-available infrastructure components and discusses how they can be used in collaboration, before going on to suggest a new approach which revises the nature of the relationship between infrastructure and applications.

Expanding the Role of Formal Methods in CSCW
C. Johnson
University of Glasgow
Before we can build CSCW systems it is important to have a clear idea of the requirements that they must satisfy. This chapter argues that formal methods can be used to help represent and reason about these requirements. Unfortunately, the formal notations that support the development of single-user interfaces cannot easily be used to support the design of multi-user applications. Traditional approaches abstract away from the temporal properties that characterize interaction with distributed systems. They often neglect the input and output details that have a profound impact upon multi-user interfaces. The following pages argue that these details can be integrated into formal specifications. For the first time, it is shown how mathematical specification techniques can be enhanced to capture physical properties of working environments. This provides a link between the physiological studies of ergonomics and the interface design techniques of HCI. Such links have been completely neglected within previous work on design notations. In all of this, the intention is to fight against a narrow, myopic, view of formal methods.These notations need not simply be used to focus in upon a relatively small number of software engineering principles. The aim is to show that formal methods can be used creatively to solve a vast range of design problems within complex multi-user interfaces.