Kumiyo Nakakoji, Uwe Malinowski, Jonas Löwgren
We started this 11/2 day workshop at CHI'95 with the purpose of exploring issues and challenges in integrating various existing techniques that have been developed to support user-interface design processes. The goal of the workshop was to develop a conceptual map for these techniques, which will guide user-interface designers to determine which support techniques are appropriate in which design situations, and how they can be integrated. The focus during the construction of this map was on finding suitable classification schemes for the various techniques.
User interface design is a knowledge-intensive task. Design requirements are given as a form of specification in terms of the application domain. User-interface designers map the specification (which is often fluctuating) to an interface design by taking into account a variety of design knowledge including but not limited to: (1) recommendations or quasi-standards of the application domain, (2) corporate-specific user interface guidelines or style-guides of both clients' site and software developers' site, (3) a set of general user interface guidelines, and (4) user interface standards if previous versions are already in use. While using the design knowledge, user interface designers cope with a huge amount of information during the design process. They have to consider the dynamic behavior of the system during use, the layout, choice and combination of media, and appropriateness for different cultural backgrounds. Required knowledge differs from one application domain to another, and body of knowledge is subject to constant changes. With the types and the amount of such knowledge, user interface designers cannot be aware of the complete set of knowledge that has to be considered during the user interface design process.
In response to the problem, knowledge-based approaches have been studied to support user-interface design. Typically, the design information that will be necessary during the user-interface design process is stored in a large database or a knowledge-base. The use of the stored "knowledge" varies in different approaches:
- "Passive" support where designers can access the design information when they need it in a way similar to database queries. This "passive" approach, however, poses a problem because it assumes that the designers know the existence of the knowledge, when it is applicable, and how to access it using the system. This cannot always be the case, considering the amount of information and its diversity.
- "Active" support where a system monitors user-interface design activities and automatically provides guidance and hints as inferred necessary and relevant. A constraint-based design environment prevents designers from making design moves that are inferred invalid by the system according to the set of predefined rules. This approach is not always applicable as not all design decisions can be classified a priori as right or wrong, or good or bad, at the point of time the decision is made. This problem is addressed by a critiquing system that evaluates and critiques a partial design during the design process using predefined rules. Different from the constraint-based approach, designers are allowed to violate rules or recommendations by not responding to the critics. But again, this is not the perfect solution because it is sometimes much more efficient to avoid errors before making them than to let the designers to make errors and later point out the errors when they are detected.
- "Automatic design generation" support where a system produces a user- interface design based on formal models specified by user-interface designers. Once the underlying models and knowledge required to map models into designs are developed, the approach relieves designers of making detailed user-interface design decisions. However, it is challenging to completely model dynamic behavior of users a priori and impossible to codify design knowledge used by user-interface designers.
Individual approaches have reached a stage where they are about to leave or have already left research laboratories for industrial practical usage. And yet, none of these approaches have provided a "silver bullet" for issues and challenges of user interface design. At CHI'94, a panel was held to discuss the "best" interaction technique for user interface design. At the end of the discussion, the panelists as well as the audience came to the conclusion that each of the proposed techniques has both strengths and weaknesses and that a combined approach will result in a better support for the user interface designer than taking an individual approach.
CHI'95 was appropriate for having a workshop to discuss the integration of the approaches, with respect to both the expected participants and the point of time. In the past few years, several workshops have already taken place, each of which focused on a single knowledge-based supporting technique, for example a critiquing approach or a constraint-based approach. Strengths and weaknesses of each approach have been understood well enough to make the comparison among the approaches. And yet, no formal forums have been offered to discuss integrating the approaches. This workshop was held to find a way to combine the different approaches to overcome the weaknesses of the individual approaches.
We set our goal of the workshop as to develop a conceptual map that helps user-interface designers to determine which support techniques are appropriate in which circumstances, and how they can be integrated through addressing the following questions:
- What is the strength and weakness of each individual approach?
- in which design situations?
- in laying out
- in choosing media
- in considering cultures (localization & internationalization)
- what are other design situations?
- with which types of design knowledge or information?
- Can any combination of approaches overcome the problems better?
- What does combination mean?
- What parts are dependent on a specific interaction technique?
- knowledge representations
- frameworks
- architectures
- What are good interaction techniques with a combined system?
It was not expected that this workshop would deliver the solutions to the above questions. Instead, the goal was to establish a community that develops a shared understanding of the problems and of the existing approaches, and would help one another in contributing to a better integrated approach towards a system to support the user interface design process.
Prior to the workshop, we asked potential participants to write position statements to describe their current interests regarding knowledge-based support for a user interface design process. Twelve participants were selected. The selected participants demonstrated a nice variety of roles and of interests: theorists and practitioners, academia and industry, and interests and experiences for different supporting techniques, though we did not have anyone particularly interested in constraint-based supporting techniques.
We started the workshop by defining its scope. We then used a brain-storming session to enumerate existing user-interface design support techniques to identify classification schemes for the techniques. We have gone through the process of identifying key questions to ask during the classification. We used the HUMANOID system [Szekely, Luo, Neches 1992, 1993] as an example technique to classify to evaluate our classification scheme. We concluded the workshop by identifying future directions.
Right from the beginning we encountered issues in defining terminology:
- We found that limiting our scope to "user-interface designers" was too narrow and not realistic because designing a user-interface involves multiple stakeholders with different roles. We defined "designers" to include relevant stakeholders in a user-interface design process.
- It turned out to be extremely difficult to decide whether a technique is knowledge-based or not. We decided to concentrate on the supportive aspect of a technique rather than on the knowledge-based approach.
- We found that the term "user-interface design" implies different connotations in different research approaches. It is not adequate to talk about user-interface design per se. The participants agreed that the term "interactive system design" would be much more appropriate for describing what we wanted to focus on rather than talking about "user-interface design" per se.
With this, the scope of the workshop was more concretely defined as to support stakeholders in a process of interactive system design.
Using the brainstorming technique, we tried to identify as many interactive system design support approaches as possible. Then, we tried to roughly characterize each approach. The purpose of this activity was to identify what types of questions we ask ourselves in classifying the techniques, and not to develop the "right" categorization of the approaches.
Note that this is not an exhaustive list but only a list of approaches mentioned by the participants during the workshop. Also, since it was not the goal to classify systems and techniques "correctly," some categorizations may not be most suitable for characterizing the system or technique.
- Integrating task and domain knowledge: The UTM framework [Johnson, Drake, Wilson 1991], Telos [Mylopolous, et al. 1990];
- Documenting design decisions and traceability support tools: Raison d'Etre [Carroll, et al. 1994], gIBIS [Conklin, Begeman 1988], PHI [McCall 1991], DRL [MacLean, Young, Moran 1989];
- Guidelines-based evaluation: Interface Design Assistant (IDA) [Reiterer, 1994], KRI [Löwgren, Nordqvist, 1992], Chimes [Jiang, et al. 1992];
- Cognitive user modelling for evaluation: PUMs [Young, Green, Simon 1989], ICSexpert [May, Barnard, Blandford 1993];
- Automatic design generation: ITS [Wiecha, et al. 1990], Humanoid/Mastermind [Szekely, Luo, Neches, 1992, 1993], UIDE [Foley, et al. 1991; Gieskens, Foley 1992], Trident [Vanderdonckt, Bodart 1993; Bodart et al. 1994, 1995], Jade [Vander Zanden, Myers, 1990], Dost [Dewan, and Solomon 1990], UofA* [Singh, Green 1991], Don [Kim, Foley 1993] [de Baar, Foley, Mullet 1992], Ace. [Johnson, et al. 1993];
- Modality theory: IMAP [Verjans, Bernsen 1994; Bernsen, Bertels 1993];
- Constraint-based approaches: the Opus editor in PengUIMS [Hudson, Mohamed 1990], C32 [Myers 1991];
- Critiquing-based approaches: Framer [Lemke, Fischer 1990].
Our search for a classification scheme started with collecting all the criteria we thought important to describe the differences among approaches. Approximately thirty criteria (in question forms) were raised as used. After this initial step, we came up with one prime question per criteria group. Six questions were identified to classify supporting techniques and systems:
- What does the system know about?
- How is this knowledge represented?
- What is this knowledge used for and how?
- Who are intended users of the system?
- Which phases of the design process does the system intend to support?
- What types/classes of systems can be designed with this approach?
While going through the six prime questions, one more interesting question came up:
- How practical is the system? (e.g. Can developers use the system without help by the designers? Is the technology commercially available?)
The above list was developed on a theoretical basis for the classification scheme. We have applied the classification scheme to some of the example approaches listed in the brain-storming session to test whether the scheme appropriately characterizes systems and techniques. Below is an example of applying the questions to the HUMANOID system. We used HUMANOID because some of the developers of the system were presented at the workshop.
- What does the system know about?
- standard interaction techniques (Motif);
- dialog sequencing;
- presentation techniques;
- application data structures;
- the application domain (somehow, in the form of commands or interaction tasks).
- How is this knowledge represented?
- declarative, frame-based and with constraints.
- What is this knowledge used for and how?
- making development faster;
- not to improve the quality;
- easier to build a larger design (automatic, immediately from model);
- templates.
- Who are intended users of the system?
- software developers;
- not user-interface design experts;
- no modeling knowledge is necessary.
- Which phases of the design process does the system intend to support?
- late conceptual design;
- prototyping;
- implementation;
- tailoring;
- reuse.
- What types/classes of systems can be designed with this approach?
- WIMP-interfaces;
- the two large reference applications are a logistics application and a knowledge-based development environment.
- How practical is the system?
- currently, the system cannot be used without the help of the developers; but it would be possible to achieve this.
The developers of HUMANOID at the workshop claimed that this was a fair description of their approach.
Based on the experiences with the example classifications (each participant did one as homework overnight), we decided that this scheme was too high-level and still not satisfactory. We thought that it might be interesting to define what is actually supported by each approach. "Supportable" steps during a user-interface design process include:
- Generation. Does the system support the user (designer) to build and evolve design solutions?
- Recognition of solutions. Does the system support the user (designer) to find and recognize good solutions for different but similar problems (holistic evaluation)?
- Evaluation. Does the system help the user (designer) to evaluate design solutions?
- Saving steps. Does the system save design steps by providing appropriate templates, examples, and intermediate design states?
- Guidance towards profitable subareas. Does the system guide designers to decompose design problems into sub-problems that can make the design task easier and simpler to perform?
- Shift of Paradigm. Does the system provide the user (designer) with new perspectives and viewpoints, which can lead to a new and different design space?
We have applied this new classification scheme to the approaches raised in the brain-storming session. Table 1 illustrates a summary of classifications. The result brought us the initial version of a conceptual map that can guide us to choose interactive system design support techniques.
Table 1: Example classifications of the techniques
------------------------------------------------------------------
Generation Evaluation Guidance Shift
towards of
Recognition Saving profitable Paradigm
of Solutions Steps subareas
------------------------------------------------------------------
Style-guides X X
Examples X X X X
Reusable X X
components
Constraints X
Critics X
GOMS X
Modalities X X X
Task/service X X
mapping
Transformation X X
components
Traceability X X
support
Empirical X
------------------------------------------------------------------
Using Table 1, we easily identified three research areas that need more work. First, we need techniques that can support the designer in recognizing already existing solutions, including reuse. Second, we need more support to guide the designer in refining a design problem into profitable sub-problems. Finally, more research needs to be done in helping designers to shift the paradigm to achieve a creative solution.
We held this workshop in recognition of the need to develop a deeper understanding of what the strengths of the different approaches are and how they can be combined to make them most useful for user interface designers. We used an assumption that combining the approaches increases usefulness as a prerequisite. We were successful not having any discussions about "which technique is better."
In summary, we partially achieved our goal of the workshop to develop a conceptual map, which describes which technique supports which design aspects. Although we did not have time to develop our understanding of necessary technologies to integrate different approaches, the classification schemes, the table and other outcomes of the workshop will help us to achieve the goal.
- Bernsen, N.O. and Bertels, A. (1993).
- A methodology for mapping information from task domains to interactive modalities. Esprit Basic Research project GRACE Deliverable 10.1.3.
- Bodart, F., Hennebert, A.-M., Leheureux, J.-M., Provot, I. and Vanderdonckt, J. (1994).
- A Model-based Approach to Presentation: A Continuum from Task Analysis to Prototype, in Proceedings of Eurographics Workshop on Design, Specification, Verification of Interactive Systems (Bocca di Magra, 8-10 June 1994), F. Paterno (Ed.), Eurographics Series, pp. 25-39.
- Bodart, F., Hennebert, A.-M., Leheureux, J.-M., Provot, I., Zucchinetti, G. and Vanderdonckt, J. (1995).
- Key Activities for a Development Methodology of Interactive Applications, Chapter 4 in Critical issues in User Interface Systems Engineering, D. Benyon and Ph. Palanque (Eds.), Springer-Verlag.
- Carroll, J., Alpert, S., Karat, J., Van Deusen, M., and Rosson, M. (1994).
- Raison d'Etre: Capturing design history and rationale in multimedia narratives. In Human Factors in Computing Systems (CHI'94 Proceedings), pp. 192-197. New York: ACM Press
- Conklin, J., Begeman, M., (1988).
- gIBIS: A Hypertext Tool for Exploratory Policy Discussion, Transactions of Office Information Systems, Vol.6, No.4, pp.303-331, IEEE.
- de Baar, D., Foley, J., and Mullet, K. (1992).
- Coupling application design and user interface design. In Human Factors in Computing Systems (CHI'92 Proceedings), pp. 259-266. New York: ACM Press.
- Dewan, P., and Solomon, M. (1990).
- An approach to support automatic generation of user interfaces. ACM Trans. Programming Languages and Systems 12(4):566-609.
- Foley, J., Kim, W., Kovacevic, S., and Murray, K., (1991).
- UIDE -- An Intelligent User Interface Design Environment, in J. Sullivan and S. Tyler (eds.) Architectures for Intelligent User Interfaces: Elements and Prototypes, pp.339-384, Reading MA: Addison-Wesley.
- Gieskens, D.F., and Foley, J.D, (1992).
- Controlling User Interface Objects through Pre- and Postconditions. In Proceedings of Human Factors in Computing Systems, CHI'92. Monterey, California, May, pp. 189-194, New York: ACM Press.
- Hudson, S., and Mohamed, S. (1990).
- Interactive specification of flexible user interface displays. ACM Trans. Information Systems 8(3):269-288. Another is C32: Myers, B. (1991). Graphical techniques in a spreadsheet for specifying user interfaces. In Human Factors in Computing Systems (CHI'91 Proceedings), pp. 243-249. New York: ACM Press.
- Jiang, J., Murphy, E., Bailin, S., Truszkowski, W., and Szczur, M. (1992).
- Prototyping a knowledge-based compliance checker for user- interface evaluation in Motif development environments. In Motif92: Second Annual International Motif Users Meeting, pp. 258-268. Bethesda, MD: Open Systems.
- Johnson, J., Nardi, B., Zarmer, C., and Miller, J. (1993).
- Ace: Building interactive graphical applications. Communications of the ACM 36(4):41- 55.
- Johnson, P., Drake, K., and Wilson, S. (1991).
- A framework for integrating UIMS and user task models in the design of user interfaces. In Duce, D., Gomes, M., Hopgood, F., and Lee, J. (eds) User Interface Management and Design, pp. 203-216. Berlin: Springer Verlag.
- Kim, W., and Foley, J. (1993).
- Providing high-level control and expert assistance in the user interface presentation design. In Human Factors in Computing Systems (InterCHI'93 Proceedings), pp. 430-437. New York: ACM Press.
- Lemke, A., Fischer, G., (1990).
- A Cooperative Problem Solving System for User Interface Design, Proceedings of AAAI-90, Eighth National Conference on Artificial Intelligence, pp.479-484, Cambridge, MA: AAAI Press/The MIT Press.
- Löwgren, J., and Nordqvist, T. (1992).
- Knowledge-based evaluation as design support for graphical user interfaces. In Human Factors in Computing Systems (CHI'92 Proceedings), pp. 181-188. New York: ACM Press.
- MacLean, A., Young, R., Moran, T., (1989).
- Design Rationale: The Argument Behind the Artifact, Human Factors in Computing Systems, CHI'89 Conference Proceedings (Austin, TX), pp.247-252, New York: ACM Press.
- May, J., Barnard, P., and Blandford, A. (1993).
- Using structural descriptions of interfaces to automate the modelling of user cognition. User Modelling and User-Adapted Interaction 3, pp. 27-64.
- McCall, R., (1991).
- PHI: A Conceptual Foundation for Design Hypermedia, pp.30-41, Design Studies, Vol. 12, No. 1, Surrey, UK: Butterworth Scientific Limited.
- Myers, B. (1991).
- Graphical techniques in a spreadsheet for specifying user interfaces. In Human Factors in Computing Systems (CHI'91 Proceedings), pp. 243-249. New York: ACM Press.
- Mylopolous, J., Borgida, A., Jarke, M., and Koubarakis, M. (1990).
- Telos: Representing knowledge about information systems. ACM Trans. Information Systems 8(4):325-362.
- Reiterer, H. (1994).
- A user interface design assistant approach. In Brunnstein, K., and Raubold, E. (eds) 13th World Computer Congress 94, vol 2, pp. 180-187. Amsterdam: Elsevier.
- Singh, G., and Green, M. (1991).
- Automating the lexical and syntactic design of graphical user interfaces: The UofA* UIMS. ACM Trans. Graphics 10(3):213-254.
- Szekely, P., Luo, P., and Neches, R., (1992).
- Facilitating the Exploration of Interface Design Alternatives: The HUMANOID Model of Interface Design. In Proceedings CHI'92, May, pp. 507-515, New York: ACM Press.
- Szekely, P., Luo, P., and Neches, R., (1993).
- Beyond Interface Builders: Model-Based Interface Tools. In Proceedings of INTERCHI'93 April, pp. 383-390, New York: ACM Press.
- Vanderdonckt, J., and Bodart, F. (1993).
- Encapsulating knowledge for intelligent automatic interaction objects selection. In Human Factors in Computing Systems (InterCHI'93 Proceedings), pp. 424-429. New York: ACM Press.
- Vander Zanden, B., and Myers, B. (1990).
- Automatic, look-and-feel independent dialog creation for graphical user interfaces. In Human Factors in Computing Systems (CHI'90 Proceedings), pp. 27-34. New York: ACM Press.
- Verjans, S. and Bernsen, N.O. (1994).
- PaTerm: A case study in information mapping. Esprit Basic Research project AMODEUS-2 Working Paper RP5-TM-WP6.
- Wiecha, C., Bennett, W., Boies, S., Gould, J., and Greene, S. (1990).
- ITS: A tool for rapidly developing interactive applications. ACM Trans. Information Systems 8(3):204-236.
- Young, R., Green, T., and Simon, T. (1989).
- Programmable user models for predictive evaluation of interface designs. In Human Factors in Computing Systems (CHI'89 Proceedings), pp. 15-19. New York: ACM Press.
Kumiyo Nakakoji received her B.A. degree in computer science from Osaka University, Japan, in 1986, and her Ph.D. from the Department of Computer Science and the Institute of Cognitive Science at University of Colorado, Boulder in 1993, through a scholarship provided by Software Research Associates, Inc., of Japan. Her thesis work explored the role of a specification component in domain-oriented design environments and its use for fine-tuning the critiquing component. Nakakoji has published a number of papers in the topic of knowledge-based design environments and knowledge-delivery techniques. She was a co-organizer of the "Cross-cultural Issues in Human-Computer Interaction" workshop at InterCHI'93, and served as a design tool session discussant in CHI'94. Her recent research interests include knowledge-based approach for multimedia authoring environments and cross-cultural considerations in human-computer interaction design and in software engineering. Currently, she is an Adjoint Assistant Professor at University of Colorado and a visiting Assistant Professor at Nara Advanced Institute of Science and Technology while working for Software Research Associates, Inc.
Uwe Malinowski received a doctoral degree for a work on knowledge- based user support from the University of Braunschweig, Germany. He worked in the field of intelligent tutoring systems and adaptive help systems for the last six years. Since 1991, Malinowski has been a research scientist as a member of the adaptive user interface research team at Siemens Corporate Research and Development, Munich, Germany. He has organized several international workshops including "Adaptive User Interfaces -- Results and Prospects" held in Munich, March 1992, and on "Computer-Aided Adaptation" at InterCHI'93 in Amsterdam, May 1993. He has published several papers in this field and is a co-editor of the book "Adaptive User Interfaces -- Principles and Practice". From October 1993 to September 1994. Malinowski worked as a visiting researcher with the Human Computer Collaboration Group at the University of Colorado at Boulder.
Jonas Löwgren is Assisting Professor in the Human-Computer Interaction research group at the Department of Computer and Information Science, Linköping University, Sweden. Löwgren is a head of the research group that focuses on supporting professional usability-oriented design by studying design practice and developing methods, tools and techniques. He has been interested in knowledge-based tools for design support, primarily based on critiquing approaches for more than five years. He has published several papers in the field, addressing technical issues as well as the feasibility of design-support tools in professional practice. Löwgren participated in workshops at CHI'92 and InterCHI'93 and co-organized a workshop on the teaching of HCI at CHI'94.
Kumiyo Nakakoji, CB430 Department of Computer Science, University of Colorado, Boulder, Co. 80309-0430, USA; tel: +1 (303)492-3912, fax: +1 (303)492-2844;
kumiyo@cs.colorado.edu
Uwe Malinowski, Corporate Research and Development, AG, Germany.
Uwe.Malinowski@zfe.siemens.de
Jonas Löwgren, Department of Computer and Information Science Linköping University;
jlo@ida.liu.se.