Programming support for CSCW : using X windows
This thesis presents a model for programming support for synchronous, distributed CSCW (Computer Supported Co-operative Work). Synchronous, distributed CSCW aims to allow groups of people separated, by distance to work together in real time as if they were at the same location. The model proposed in the thesis allows an application program to be constructed using user interface components known as “shared widgets”. A shared widget displays underlying application data on multiple screens and processes input from multiple users distributed over a network. The distribution of data to and from the users and the underlying network communication is hidden from the application program within the shared widget. The model describes a shared widget as comprising a single “Artefact” and a number of “Views.” The Artefact contains the underlying data and the actions that can be performed on it. A View is the presentation of the Artefact on a user's screen. Shared widgets contain a View for each user in the group. Each user can provide input to the Artefact via their own View, and any change made to the Artefact is reflected synchronously in all the Views. The Artefact can also impose a floor control policy to restrict input to a particular user or group of users, by checking each input event against a known floor control value. The model differs from previous approaches to programming support for CSCW in that the distributed nature of the users is hidden from the application programmer within the shared widgets. As a result, the application programmer does not have to be concerned with the processing of input events or the distribution of output to multiple users. The hiding of these implementation details within the shared widgets allows the CSCW application to be constructed in a similar way to a single-user application. An implementation of the shared widget model, using X Windows, is also described in the thesis. Experimental results and observations are given and used to suggest future directions for further research.