We are interested in producing formal and conceptual tools for
interface designers.
This paper describes a development in the latter category.

Various interface styles suggest paradigms for understanding interaction.
Direct manipulation suggests the interface as a passive entity,
tools for the user to control.
Intelligent interfaces suggest instead an active interface, a colleague
which (or even who) cooperates with the user on the task in hand.
User interface management systems typically have a paradigm between the
two where the interface is seen primarily as a translator, or mediator
between the user and the application.
Each of these paradigms seem useful in different contexts,
but mixing them runs the risk of getting the worst,
rather than the best, of all worlds.

Viewing the interface as a medium
allows us to make sense of the interplay
between passive and active components of an interface.
The word medium here is taken to include the whole software/hardware
amalgam, with both its functional and aesthetic attributes.
In particular it is not limited to the information theoretic concept of
a channel or the physical characteristics of a device,
although these will both be facets of the media.
In this paradigm, we can decompose systems into agents
(human or machine), media and objects (AMO).

The motivating example for this approach is of course mail and
conferencing systems.
Clearly when viewed as theoretical communication channels
most such systems are identical: they differ more in the qualitative
aspects of the interface.
The important thing to note is that these non-functional differences
such as pace and ease of interaction can make profound differences to
the content of communication.
This is typified by the differences between face-to-face, telephone
and paper mail communication.

In the mail example, the total system consists of the medium and the
people who are communicating.
The medium is (relatively) passive and the people active.
In general systems have other active members than just the humans
and we refer to both types of active member as agents.
The final classification, objects
refers to those components which are passive, but are not merely
artifacts of the interface, for instance data-files.

The distinctions introduced can be used purely descriptively or
normatively in judging existing or putative systems.
Examples of interface issues which can be addressed are:

Interface toolkits:
UIMS take a semi-active role in the interface,
they can be seen as an additional agent in the system, between the
interface media and the application (another agent).
Window managers are less interventionist leaving the application to shape the media.

Hypertext:
some of the metaphors used to describe hypertext
(eg. stacks of cards) suggest a passive object to browse.
However many systems involve computation and change even when
not authoring.
Depending on users' perception of the active and passive roles
of system components they will make different inferences about their
possible behaviour and integrity.
Clarifying the distinction between the hypertext as media
and computer agents that act on it, simplifies the situation
and suggests possible improvements to the conceptual design.

Adaptive and intelligent interfaces:
these are often justified by analogy with human dialogue
but can be attacked on the grounds of unpredictability.
By analysing appropriate real world situation in terms of
agents and media,
we can make recommendations as to which parts of a computer system
should be subject to adaptivity.
In particular, in human dialogue, the medium does not change.

In these and similar ways, we can use the proposed framework to
analyse real world phenomena
and their relationships to such interface techniques, and thus suggest
directions for future development.