Position Paper for CHI 96 Basic Research Symposium (April 13-14, 1996, Vancouver, BC)

Reusable User Interface Metaphor Components

Randall Reid, Rick Kazman
Department of Computer Science,
University of Waterloo,
Waterloo, Ontario, Canada N2L 3G1
email: { rreid | rnkazman }@cgl.uwaterloo.ca


ABSTRACT

MetaCom, a framework for reusable components to be used in the development of user interface, is introduced. In particular, MetaCom is intended to support the implementation of user interface metaphors. The concept of the interface metaphor is decomposed into three distinct and implementable components: the presentation, interaction, and conceptual metaphor. It is then suggested that the interaction metaphor has the greatest potential to be reusable. MetaCom is then designed to implement components representing the interaction metaphor. A brief outline of the structure and use of MetaCom components and their connection to presentation and conceptual metaphors is given.

Keywords:
Metaphors, Software Engineering, Development tool, Component Programming, Reusability


IMPLEMENTING INTERFACE METAPHORS

The use of metaphors in interface development is not a new topic and is generally accepted as a useful tool for design [4,2,1]. Metaphor can be defined as the partial mapping of a known concept (the source) onto an unknown domain of knowledge (the target). From this partial mapping of concepts, based on the assumptions that the target and the source will be similar in other ways, the source is used to extend our understanding of the target domain. When applied to user interfaces, if developed from a metaphor that the typical user would accept, the advantages include increased familiarity and predictability. This has the effect of enhancing usability, particularly ease of learning.

Given an appropriate interface metaphor, implementing it involves developing both a presentation metaphor and an interaction metaphor. The presentation metaphor, involving issues such as appearance, affordance, and spatial layout, allows for the initial activation of the metaphor in the user's mind. The maintenance of the metaphor in the mind of the user is dependent on the interaction properties of the metaphor. Thus the interaction metaphor, handling issues such as state, dialogue, and defining the set of user operations or functions allowed under the metaphor, is critical.

From the literature reviewed, there are few tools available to support the implementation of the interface metaphor. Blumenthal [2] developed an interface specification generator based on metaphoric attributes. The problem with this work is that interface metaphors must be individually designed for each application and so the method promoted by Blumenthal does not lend itself towards software reuse. The focus of this research is to develop a framework for reusable components which can support the implementation of interface metaphors. This framework will be called MetaCom.

METAPHORIC COMPONENT

The development of MetaCom is based on the hypothesis that the presentation metaphor and the interaction metaphor can be implemented separately. The presentation metaphor is a concrete instantiation of the interface metaphor and is not expected to be generally reusable. On the other hand, the interaction metaphor can be implemented at a more abstract level thus allowing for reuse.

Each metaphoric component is defined by a set of cooperating objects representing the interaction metaphor. It borrows heavily from the concept of the metaphor layer in the Conceptual Architecture [1]. It implements the interaction metaphor using an Abstract Data Type (ADT), providing a set of allowable operations as well as providing for user interaction. Like the metaphor layer, a metaphoric component is separated from the application semantics and functionality. In addition, MetaCom provides for subsequent connection to presentation metaphors.

Use of Abstract Data Type

The ADT used to represent the metaphor can be understood as an analogical schema [5]. The ADT abstracts the similarities in the properties of allowable operations between metaphors. For example, the identities between the operations in a mail metaphor and in a waiting room metaphor, although different metaphors, can be identified at a more abstract level. In this example both metaphors allow for the addition of new elements (mail, persons) and the handling of those elements in a first come first serve basis. This is the description of a queue.

It is assumed that the differences between similar metaphors lie largely at the semantic level, for example the meaning attached to removing an element from the queue. In MetaCom the semantics of the metaphor is left to the application. MetaCom broadcasts notice of any change in its internal structure to the application. The application is then left free to interpret it accordingly.

Maintenance of State

Along with the provision for user operations, MetaCom also manages user interactions. This dialogue is represented by a finite state machine maintained by the metaphoric object. Using an event model, MetaCom maintains the dialogue state through a series of syntactic events. Presentation metaphors are expected to communicate with MetaCom using these logical events. Flexibility is given to presentation metaphor in implementing physical interaction techniques. The presentation metaphor is free to implement its own look and feel by mapping its interaction to the syntactic events required by MetaCom.

Implementing the Presentation Metaphor

Connection to the presentation metaphor is provided in a form similar to that suggested by the Abstract Data View (ADV) model [3]. The presentation metaphor is implemented as an ADV which is explicitly aware of the associated metaphoric component. However, the metaphoric component is not aware of the ADV. Instead MetaCom broadcasts relevant notification events indicating changes to its internal structure. The ADV is then responsible for intercepting and handling these notifications.

For each metaphoric component, MetaCom provides an abstract structure for the associated ADVs. This implements the message passing protocol. It is the responsibility of the developer to extend the implementation with details of the particular presentation metaphor.

POSITION STATEMENT

Presented above is our statement of research and a bit of the rationale behind it. An implementation of an initial set of metaphoric components is underway. The issue of reusability will be addressed by example.

Other issues such as composite metaphors [4], multiple views, cooperative systems, and the parameterization of the components based on metaphoric dimensional attributes are also to be investigated.

REFERENCES

  1. Bass, L., Kazman, R. and Little, R. Towards a Software Engineering Model of Human-Computer Interaction. In Engineering for Human-Computer Interaction. J. Larson and C. Unger, Eds., Elsevier Science Publishers, 1992, pp. 131-153.

  2. Blumenthal, B. Strategies for Automatically Incoporating Metaphoric Attributes in Interface Design, in Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology (Utah, October 3-5, 1990), ACM Press, pp. 66-75.

  3. Cowan, D.D., Lucena, C.J.P. Abstract Data Views: an interface specification concept to enhance design for reuse. IEEE Transactions on Software Engineering, 21, 3, (March 1995).

  4. Carroll, J.M., Mack, R.L. and Kellogg, W.A. Interface Metaphor and User Interface Design. In Handbook of Human-Computer Interaction, M. Helander, Ed., Elsevier Science Publishers B.V. (North-Holland), 1988, pp. 67-85.

  5. Gick, M.L. and Holyoak, K.J. Schema Induction and Analogical Transfer. Cognitive Psychology. 15, (1983), 1-38.

January 29, 1996
Randall Reid
Rick Kazman