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
- 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.
- 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.
- 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).
- 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.
- 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