The model represents a functional model of collaborative support for spatial decision-making, from which practical heuristics can be derived. It is described in terms of a set of entities. The software agents within the group-based user interface architecture support a set of primitives defined by the valid transitions between the states of the entities in the model.
The benefits of encompassing a UIMS in the user interface architecture include the possibility of supporting different machine platforms, facilitate the construction of context-sensitive dialogue and the addition of knowledge-based support. Further, by employing knowledge-based techniques, the architecture enables the provision of a higher level interface, that is, one in which the data types and functions presented to the user more closely approximate user tasks than existing application commands. The architecture and a set of development tools have been implemented, and a prototype has been constructed that supports collaborative spatial decision-making.
A group is defined as several users (one or more) working on a collaborative decision-making task. Each group is supported by an application environment. The environment is used by an individual or shared by a group in order to support the common task. Potentially, the environment can run more than one application instance. An application can provide task-related functionality or a shared space, such as audio/ video communications links between users. An application that provides task-related functionality can be shared in real-time or asynchronously. An application needs to run within an application environment in order to be accessible by a group, so even if the application starts with one user, others can join later. Applications that operate outside an application environment influence this work but are not considered a part of it.
A user can belong to several groups at the same time and thus participate in several tasks supported by application environments respectively. Since potentially multiple users can belong to multiple application environments, it is necessary to introduce the membership ticket entity. A membership ticket defines a link between a specific user and a specific application environment. It needs both a user and an application environment in order to exist.
An application instance is considered to comprise of abstract data objects. Each object belongs to a particular data class: overlay, physical representation, logical representation, functional data or persistent data.
An access ticket defines a link between a user and an abstract data object. A user can interact with an abstract data object if there exists an access ticket defining the link. A user can have many access tickets, and, as a result, can interact with many objects. In reality, an access ticket is more than just a token. An access ticket supports techniques to enable concurrency and data consistency, that is, access by multiple users to the same data object.
UIMS require the separation of an application's functional core from its user-interaction subsystem, under the assumption that this approach provides both software engineering advantages (more effective development and improved maintenance) and end-user advantages (user- centred focus of control and user interface consistency) (Myers 1989). The user-interaction subsystem is frequently partitioned into logical components, originally specified in the Seeheim model (Pfaff 1985). The presentation component controls the presentation of information to the user and commonly involves an abstraction of the information from its realisation to the user. The dialogue control component manages the dynamics of the interaction with the user and controls any sequencing. The application interface model is a model of the semantics of the application which can be used for error checking and queries regarding the consequences of actions. A discussion of the merits of a full UIMS over interface builders is contained in (Myers 1993).
The group-based user interface implements a derivative of the FOCUS UIMS (Edmonds and McDaid, 1990) which realises the Seeheim model but with a number of extensions. The implementation of the Seeheim model with its extensions broadly include: the integration of an executable task model into the dialogue controller, the re-use of existing systems, and a modular structure with components communicating using a messaging system.
Knowledge-based techniques have been applied to task support to provide a higher level interface and context-sensitive dialogue, that is, dialogue which is responsive to the current state of interaction. Further, the performance of semantically nonsensical actions are prevented.
The benefits of re-using existing software tools are both personal and cost-effective. Individuals invest time and effort in learning single-user decision-making tools. Naturally, some resistance would be met if a new tool had to be learnt for working in a group. Further, existing software is already constructed and tested; no extra effort is required to provide the same functionality.
Software agents provide the group support offered by the user interface. Three agents have been designed and constructed: a user agent, a conference agent and an application agent. The user agent and application agent are located within the architecture as shown below. The conference agent manages the communication between these components. (Edmonds et al., 1994) gives a full description of the agents.
Users | Presentation Layer | User Agent | Dialogue Controller | Application Agent | Application Interface | Existing software tool
The user agent controls the interaction between a group of users and the software tool. It takes advantage of the abstraction of information into objects for the user in the dialogue controller and the objects realisation in the presentation component of the UIMS. Effectively, the abstract information objects are equivalent to the logical data objects in the model and the realised objects are equivalent to the physical data objects. A presentation component and dialogue controller exists for each user and the user agent distributes the logical data objects between the dialogue controllers and the presentation components. As a result of users having their own presentation component, users are able to view the output on different hardware, running different windowing software and with different representations. The agent supports feedback of other users' activities and supports multiple users interacting at the same time by supporting access control mechanisms. In summary, the user agent supports the following primitives, as defined by the model: create access ticket, remove access ticket and share input.
The conference agent supports the facilities necessary to set-up and dismantle a group of users working on a collaborative decision-making task. It enables an application environment to be started and stopped. It enables users to join and leave the environment. It supports the invocation of an existing software tool (or application instance) in the environment and its subsequent termination. It supports the creation and removal of membership tickets.
The application agent maintains a record of the interaction with the existing software tool in order that a new user joining the application environment can be brought to the same state.
The existing software tools are assumed to contain the functional data objects and to have access to the persistent data objects.
Edmonds, E.A., Candy, L., Jones, R.M. and Soufi, B., 1994, Support for collaborative design: agents and emergence. Communications of the ACM, 37 (7), 41-47.
Jones, R.M., Hinde, C. and Edmonds, E.A. (1994). Modelling collaborative activity. LUTCHI Report 94/K/LUTCHI/0171. Loughborough University of Technology.
Myers, B.A., 1989, User-interface tools: introduction and survey. IEEE software, 6 (1), 15-23.
Myers, B.A., 1993, State of the art in user interface tools. In Advances in Human-Computer Interaction, vol. 4, edited by H.R. Hartson and D. Hix (Norwood, NJ: Ablex Publishing), pp. 110-150.
Pfaff, G., 1985, User interface management systems (Berlin: Springer Verlag).
Westervelt, J., 1991, Introduction to GRASS 4. GRASS Information Center, U.S. Army CERL, Champaign, Illinois, U.S..
Branki, N.E., Edmonds, E.A. & Jones, R.M. (1993). A study of socially shared cognition in design. Environment and Planning B: Planning and Design, 20, pp. 295-306.
Edmonds, E.A., Candy, L., Jones, R.M. and Soufi, B. (1994). Support for collaborative design: agents and emergence. Communications of the ACM, 37 (7), pp. 41-47.
Jones, R.M. & Edmonds, E.A. (1994). A framework for negotiation. In Connolly, J.H. & Edmonds, E.A. (editors), CSCW and Artificial Intelligence. Springer-Verlag, London. pp. 13-22. ISBN 3-540-19816-4.
Jones, R.M., Edmonds, E.A. & Branki, N.E. (1994). An analysis of media integration for spatial planning environments. Environment and Planning B: Planning and Design, 21, pp. 121-133.