An architecture for distributed user interfaces

This technical report is based on a dissertation submitted 1994 by the
author for the degree of Doctor of Philosophy to the University of
Cambridge, Darwin College.

Abstract

Computing systems have changed rapidly since the first graphical user
interfaces were developed. Hardware has become faster and software
architectures have become more flexible and more open; a modern
computing system consists of many communicating machines rather than a
central host. Understanding of human-computer interaction has also
become more sophisticated and places new demands on interactive
software; these include, in particular, support for multi-user
applications, continuous media, and ‘ubiquitous’ computing. The layer
which binds user requirements and computing systems together, the user
interface, has not changed as quickly; few user interface architectures
can easily supportthe new requirements placed on them and few take
advantage of the facilities offered by advanced computing systems.

Experiences of implementing systems with unusual user interfaces has
shown that current window system models are only a special case of
possible user interface architectures. These window systems are too
strongly tied to assumptions about how users and computers interact to
provide a suitable platform for further evolution. Users and application
builders may reasonably expect to be able to use multiple input and
output devices as their needs arise. Experimental applications show that
flexible user interface architectures, which support multiple devices
and users, can be built without excessive implementation and processing
costs.

This dissertation describes Gemma, a model for a new generation of
interactive systems that are not confined to virtual terminals but
allows collections of independent devices to be bound together for the
task at hand. It provides mediated shared access to basic devices and
higher-level virtual devices so that people can share computational
facilities in the real world, rather than in a virtual world. An example
window system shows how these features may be exploited to provide a
flexible, collaborative and mobile interactive environment.