Alan Dix's short courses and tutorials

Building and Prototyping Groupware

Alan Dix and Devina Ramduny

First delivered at HCI'95, Huddersfield, 29th August 1995

You can download
  the complete tutorial notes (PDF).
  complete support materials including HyperCard stacks as Macintish binhex-ed self extracting archive (328k)
  Unix socket code examples as compressed tar (13k), zip file (12k), or individual source files (17 small files),

Main topics


There has been a recent explosion of interest in groupware and computer-supported cooperative work, both in research and in commercial systems. This is evidenced by the large number of workshops and conferences and has been recognised in the UK by the DTI/EPSRC CSCW programme. This tutorial aims to give the attendee an introduction to the process and problems of building groupware systems. The implementation parts will consider issues for both synchronous and asynchronous groupware and example of prototypes will be discussed.

The builders of groupware have to face not only the complexities of user interface building, but also issues such as distributed computing and network protocols. This can be a daunting task both for project managers and for the programmer. I hope that this tutorial will help the attendee to set the problems in perspective and avoid some of the worst pitfalls!

The tutorial will consider the choice of software architecture and its impact on system performance. We will also examine some of the difficulties of using standard graphical interface toolkits and some of the alternative groupware toolkits and programming paradigms. Finally, we will consider the low level problems of using networks and building and debugging robust and reliable groupware.

The tutorial should be suitable for both academic and industrial attendees who wish to build (or manage the building) of groupware systems. It is assumed that attendees already have some idea of the different kinds of groupware which are currently available.. The latter parts of the tutorial will assume a reasonable level of programming competence, but the use of HyperCard examples will, I hope, make it accessible to the non-expert.

The HyperCard stacks and the UNIX code used in the examples will be freely available for the attendees own personal use and further study.

Tutorial Notes

You can download the complete notes in Adobe PDF format.

Table of Contents

Instructor Biographies
Lecture Material
  What is Groupware
  Architectures for Groupware
Centralised architecture
Replicated architecture
Shared window architecture
Graphical toolkits and shared databases
Groupware toolkits and paradigms
Shared text
  Programming groupware
Causes of failure
Network communications
  Real code
UNIX sockets - simple talk
UNIX - more complex turn taking
Simple X based server
  Synchronous groupware
Two-way talk
Multi-party talk
Electronic post-it notes
  Asynchronous groupware
Simple email
Shared appointment database
  Rapid Prototyping Platforms
Program Listings
  UNIX sockets
Two-person talk
Basic library
Multi-party conference
Library headers Alan Dix 5/9/98