Surface interaction : separating direct manipulation interfaces from their applications.
To promote both quality and economy in the production of applications and their
interactive interfaces, it is desirable to delay their mutual binding. The later the binding,
the more separable the interface from its application. An ideally separated
interface can factor tasks from a range of applications, can provide a level of independence
from hardware I/O devices, and can be responsive to end-user requirements.
Current interface systems base their separation on two different abstractions.
In linguistic architectures, for example User Interface Management Systems in the
Seeheim model, the dialogue or syntax of interaction is abstracted in a separate
notation. In agent architectures like Toolkits, interactive devices, at various levels of
complexity, are abstracted into a class or call hierarchy.
This Thesis identifies an essential feature of the popular notion of direct manipulation:
directness requires that the same object be used both for output and input.
In practice this compromises the separation of both dialogue and devices. In addition,
dialogue cannot usefully be abstracted from its application functionality, while
device abstraction reduces the designer's expressive control by binding presentation
style to application semantics.
This Thesis proposes an alternative separation, based on the abstraction of
the medium of interaction, together with a dedicated user agent which allows direct
manipulation of the medium. This interactive medium is called the surface. The Thesis
proposes two new models for the surface, the first of which has been
implemented as Presenter, the second of which is an ideal design permitting document
The major contribution of the Thesis is a precise specification of an architecture
(UMA), whereby a separated surface can preserve directness without binding in
application semantics, and at the same time an application can express its semantics
on the surface without needing to manage all the details of interaction. Thus
UMA partitions interaction into Surface Interaction, and deep interaction. Surface
Interaction factors a large portion of the task of maintaining a highly manipulable
interface, and brings the roles of user and application designer closer.