CHI '95 ProceedingsTopIndexes
PapersTOC

Using Computational Critics to Facilitate Long-term Collaboration in User Interface Design

Uwe Malinowski (1) and Kumiyo Nakakoji (2) (3)

(1)
Siemens Corporate R&D; ZFE ST SN 5 D 81730 M�nchen, Germany +49 (89) 636-2969 malinow@zfe.siemens.de
(3)

Software Research Associates Inc. Software Engineering Lab. 1-1-1 Hirakawa-cho, Chiyoda-ku Tokyo 102, Japan Kumiyo Nakakoji (3) Department of Comp. Science University of Colorado Boulder, CO 80309-430, USA +1 (303) 492-3912 kumiyo@cs.colorado.edu

© ACM

Abstract

User interface design and end-user adaptation during the use of the system should be viewed as an ongoing collaborative design process among interface designers and end-users. Existing approaches have focused on the two activities separately and paid little attention to integration of the two by supporting their asynchronous collaboration over a long period of time throughout the evolution of the interface design. Our knowledge-based domain-oriented user interface design environments serve both as design media and as communication media among interface designers and end-users. An embedded computational critiquing mechanism not only identifies possible problematic situations in a design for user interface designers and end-users but also facilitates asynchronous communication among stakeholders. The presentation of critiquing messages often triggers designers and end-users to articulate design rationale by describing how they responded to the critiques. The recorded design rationale mediates collaboration among end- users and user interface designers during the end-user adaptation and redesign of the interface by providing background context for a design decision.

Keywords:

Usability Engineering, Collaborative Design, Design Rationale, User Interface Design Environments, Critiquing Systems, End-user Adaptation, Process Control.

Introduction

Issues of concern to user interface development are twofold: (1) knowledge necessary for interface design is distributed among interface designers and end-users; and (2) design tasks are ill-defined and open-ended by nature.

First, design knowledge necessary for interface design is distributed [11]. Designing a user interface requires two types of knowledge: knowledge about user interface design and knowledge about the application domain. Initially, there is a symmetry of ignorance between interface designers and end-users in which (1) the understanding required to solve the design problem is distributed, and (2) there is no common language that allows the stakeholders to communicate their understanding to each other [11]. Thus, not only the thin spread of application domain knowledge among user interface designers [2] but also little understanding about computer technology among end-users [3] causes communication breakdowns between end-users and interface designers [5].

Approaches have been made to improve collaboration among interface designers and end-users. A participatory design approach encourages end-users to have a stake in the user interface design process from the very beginning [3]. Another approach is to encourage interface (system) designers to participate in end-users' work settings [12]. Although we acknowledge the importance of such face-to-face collaboration among interface designers and end-users, a challenge we see is that interface designers are not available all the time during the use of the system. Once the system is released, designers are rarely assigned to maintenance and it is difficult for end-users to contact designers directly in order to communicate their requests. End- users and interface designers need to collaborate asynchronously over a long period of time throughout the life-cycle of a system.

Second, user interface design is an ill-defined and open-ended problem-solving task. Understanding a design problem and solving it are intertwined tasks; one cannot completely specify the problem before starting to solve it [23, 24]. Starting with a vague and incomplete problem description, people sketch out a partial solution. By seeing the partial solution, they identify portions of the problem that have not yet been understood, gain an understanding of the problem, and then refine the solution [25]. By iterating this process, understanding of the problem gradually emerges. Design problems are open-ended in that the knowledge necessary for a design can never be completely articulated a priori [23]. Traditional knowledge acquisition approaches that aim at capturing expert knowledge will not work because some part of expert knowledge always remains tacit - people know more than they can tell [21]. Thus, end-users cannot foresee the many different ways in which they will use the system. Furthermore, the system might change the way tasks are performed, and changes to the environment might make a different design necessary. Specific needs always emerge during the system usage, not due to sloppy requirements analysis but due to the very nature of design tasks. In response to this, ways to enable the end-user to adapt the user interface have been proposed [15].

To cope with these challenges, we present our approach to view user interface design as an evolving collaborative design process by interface designers and end-users of the system over a long period of time [9]. The process starts with the development of a user interface by user interface designers while collaborating with end-users. During the use of the system, end-users should be enabled to customize the system to their specific needs, which cannot be determined a priori but emerges only during use. After a while, user interface designers should be able to redesign the interface because end-users may have introduced inconsistencies and inefficient modifications during the adaptation.

Knowledge-based, domain-oriented design environments that facilitate asynchronous collaboration among different types of stakeholders in various design domains have been studied [7]. A computational critiquing component of such an interface design environment [8] supports the interface design and end-user adaptation as an evolutionary design process. The embedded critiquing component:

  1. supports both user interface designers and end-users by identifying potentially problematic situations in a design and presenting design knowledge relevant to the situation; and
  2. facilitates long-term collaboration among interface designers and end-users by triggering them to record design rationale, which helps them to understand the underlying context of a certain design decision.

In this paper, we first describe a computational critiquing mechanism embedded in a domain- oriented user interface design environment as a framework of our approach. We then present a scenario to illustrate how the critics support user interface development as a collaborative evolutionary design process using the domain of traffic management systems as an object-to- think-with. We describe the prototype system and discuss necessary improvements.

FRAMEWORK: EMBEDDED CRITICS IN A DESIGN ENVIRONMENT

Domain-oriented knowledge-based design environments that cope with the issues discussed in the previous section have been studied in various domains, including kitchen floor plan designs and network design [7]. We have applied the design environment approach to user interface design. In the application domain of integrated traffic management systems, for example, the system provides knowledge not only about interface design (e.g., a guideline in designing a pop- up menu) but also about the domain (e.g., necessary functions for a train station). Figure 1 illustrates a cycle of design, user adaptation, and subsequent redesign as a process model for user interface design supported with a design environment. The system is initially designed by interface designers in collaboration with end-users. Although not shown in Figure 1, this collaboration is very important for both design process and result. The application is equipped with mechanisms that allow end-users to adapt the interface during the use of the system. By this means, the interface "gradually evolves." Finally, the system is occasionally "redesigned" by interface designers in collaboration with the end-users to reorganize changes made by the end- users that might have introduced inconsistencies.

FIGURE 1:User Interface design as an evolutionary process.

Critiquing is the exchange of a reasoned opinion about a product or action, which triggers further reflection on or changes to the artifact being designed [8]. Critiquing has been found to be an effective and natural method people use in collaborative problem solving [10, 17]. The critiquing mechanism embedded in a design environment helps people engage in design activities by:

  1. monitoring the current status of user interface design and informing them of possible breakdowns in what they have done;
  2. providing them with knowledge (either about user interface design or about the application- domain) relevant to the identified breakdowns; and
  3. encouraging them to articulate design rationale by motivating them to describe how they responded to the critiquing messages.

The first two aspects of the mechanism support user interface designers and end-users to exploit the system's stored knowledge by delivering the task-relevant knowledge even when they do not know about the existence of the knowledge, or when they do not realize the need to know the design knowledge. A part of such knowledge can be accumulated through the third aspect of the mechanism: design rationale.

Previous efforts [8, 14] have reported that embedded computational critiquing mechanisms in design environments have proven to be effective in supporting user interface designers by providing application-domain knowledge while developing a user interface. We also use this critiquing mechanism to support end-users to adapt their interface to their needs by providing user interface design knowledge. Computer-aided adaptation has been proposed to enable users to adapt the user interface [13]. Experiments with prototypes [16] showed that enabling is not enough - end-users need support during the adaptation process. We have identified that the critiquing approach is an effective knowledge-elicitation technique by motivating people to articulate design knowledge [19]. In the study of critiquing components in various design environments, we have observed that users often articulated why they violated the principles when being critiqued. This information was accumulated as design rationale. For example, in the study of the KID kitchen design environment [18], when a subject used a double- bowl sink when designing a kitchen for a single-person household, and KID presented a critiquing message saying that the subject should use a single-bowl sink if the design was for a small family, the subject articulated: "Well, ... Do you think a college student will do dishes every day? I don't think so... I wanna stack up dishes in one sink and I need another one."

In the study of a critiquing mechanism of another system called VDDE (Voice-Dialogue Design System) [1], when the system informed subjects that a design violated a certain design guideline, they stated that another conflicting rule was more important, therefore, they had to violate the indicated guideline.

The above evidence demonstrates that critiquing mechanisms are effective methods to elicit knowledge from users and encourage them to articulate design rationale. Design rationale plays a crucial role in supporting long-term asynchronous communication among stakeholders in design tasks [6]. Design rationale provides descriptions and explanations for why a certain design decision is being made [6, 26]. Because the context of certain design decisions is not always explicit, explicitly articulated design rationale that describes why a design decision is made with regard to which design intention helps people to have a better understanding of the design. In user interface design, for example, design rationale recorded by interface designers will help end-users adapting the user interface to understand why the user interface has been designed that specific way. A ration-ale for adaptation recorded by end-users will help user interface designers to redesign the interface. This rationale can later be translated into knowledge usable by the critiquing component. Thus, triggered by critiquing mechanisms, the system serves as communication media that supports collaboration between user interface designers and end- users. Figure 2 illustrates this process.

FIGURE 2:Asynchronous Long-term Communications THE SCENARIO.

In this section, we present a scenario to illustrate our approach in the domain of user interface design for a traffic management system to allow traffic managers to monitor and influence the traffic flow on streets as well as that of railway trains. An interface design environment for the domain is provided for user interface designers. It consists of a user interface toolkit, a critiquing component and an argumentation component. The scenario focuses on how the order of functions in pop-up menus has been refined by designers and by end-users throughout the design life cycle, supported by the system's critiquing.

(1) Initial Requirements

The user interface is required to show the graphical representation of the objects, including streets, intersections, railway tracks, and stations. Figure 3 illustrates an example interface consisting of several streets and railroad lines, two intersections with the main street ("IS-1" and "IS-2") and two railway stations ("ST-A" and "ST-B"). The required functionality for each of the objects is depicted in Figure 4.

FIGURE 3:User Interface for Traffic Management.

FIGURE 4:Required Functionality

(2) Initial Design by Interface Designers

Using the given requirements, interface designers start designing pop-up menus for the functionality of the objects under consideration. Since no order criterion is specified, they choose to organize the pop-up menus alphabetically. However, Display Video is placed in the last position in the menu for the intersection IS-1 in order to keep the consistency among objects of the same type, i.e., with IS-2, which does not need the functionality because video cameras are not installed in IS-2 (Figure 5).

FIGURE 5:Menus after the initial design.

(3) System's Critique of the Initial Design

The critiquing component analyzes the design. The rule "Consistency between pop-up menus" fires, saying that the pop-up menus for stations and intersections are not consistent. Having chosen alphabetical order and consistency between pop-up menus for objects of the same type as the ordering criteria, the designers do not understand why the system complains about this. So the designer decides to inspect the related argumentation, which describes why this rule fired in the current situation. The argumentation component explains that in this domain, the functions Schedule Screen and Traffic Light are semantically analogous to end-users (see Figure 9).

FIGURE 9:Argumentations for Designers.

This leads the designer to exchange the positions of Schedule Screen and Display Video on the menus for ST-A and ST-B so that Schedule Screen and Traffic Lights appear in the same position in the menus (Figure 6). The designers record this design rationale in the argumentation component to describe why they switched the positions of Schedule Screen and Display Video. The design is now released to end-users for real use.

FIGURE 6:Menus after Redesign Based on Critiquing.

(4) End-users' Adaptation and the System's Critiquing

After using the system for some time, one of the users thinks that the order of the functions in the pop-up menus is inadequate. In a discussion with colleagues, the decision is made to change the order of the items in the pop-up menus according to the frequency of use (Figure 7).

FIGURE 7:Menus after Adaptation by the End- users.

When end-users make this arrangement by using adaptation mechanisms provided by the design environment, the system presents a critiquing message complaining about the lack of consistency between pop-up menus, as mentioned above. The user presses the explain button to get an explanation of why the critiquing message is significant. The argumentation component explains that consistent positions of functions in pop-up menus support learning and reduce search time and error rate (Figure 10).

FIGURE 10:Argumentation for End-users.

With this explanation, the end-users understand that it is principally good to have consistent pop- up menus and that this rule must have been the reason for the user interface designer to set up the menus as they were. However, after discussing this conflict between the users' needs and the rule from the interface guidelines, the users decide to change the order as planned (Figure 7) conscious of the violation of the rule. The users document this decision in the argumentation tool, explaining that it seems to be more important for them that the menus fit their needs defined by their tasks than the user interface guidelines (Figure 11).

FIGURE 11:Design-Rationale recorded by End-user.

(5) Redesign by Designers - Informed by the Recorded Argumentation

The system is used in the changed setup for some time before a new version is developed that includes a redesign of the user interface. The user interface designers examine the adaptations made by end-users during the usage of the system. Inspecting the adaptation of the pop-up menus, the designers wonder why the users might have adapted the interface in a way that clearly violates user interface guidelines, although they must have been informed by the critiquing component about the rule concerning semantic consistency. The designers examine the argumentation available for this design decision. After reading the explanation given by the end-users, the designers understand that the end-users think that usability increases if the frequency of usage is reflected in the order of the menu items. This was not part of the initial requirements, nor had end-users detected this before using the system on a regular basis.

Therefore, the designers decide to design the pop-up menus in a partly consistent way, so that the menus for one type of objects is consistent, but not necessarily consistent with the menus of different objects by changing the order of functions in the menu for IS-1 and IS-2. This design also allows consideration of the frequency of usage of the functions (Figure 7). The solution is discussed with and accepted by the end-users who made and explained the adaptation of the pop-up menus.

FIGURE 8: Menus after Redesign based on Adaptation.

Besides informing the user interface designer about the application domain, the domain knowledge implemented by the end-users in the argumentation tool is used in a second way. A knowledge engineer analyzes all the information and implements it in the knowledge base of the critiquing component. In this example, the frequency of usages of the functions is added to the knowledge base (Figure 11).

FIGURE 12:Knowledg_Base Update by a Knowledge Engineer based on the Design Rationale of the End-user

DISCUSSION OF THE SCENARIO

The scenario illustrates how the embedded computational critiques support the evolution of the user interface design by:

  1. helping interface designers to become aware of domain knowledge such as semantic correspondence between "Schedule Screen" and "Traffic Lights" operations;
  2. helping end-users to learn about user interface guidelines, for example, that pop-up menu items should be ordered with semantic consistency; and
  3. informing interface designers of the rationale behind the change end-users have made, i.e., it was more important for the end-users to arrange pop-up menus according to the frequency of usage rather than the semantic consistencies.

Our emphasis in using critiquing mechanisms in a design environment is on providing related argumentation and explanation of why the critiquing rule is significant, rather than on simply notifying users or designers of possible problematic situations. Different stakeholders need different descriptions for the same critiquing rule. That is, critics for user interface design are related to both user interface guidelines and domain semantics. In the scenario a critique fired using these two types of knowledge:

For example, in the scenario, the same critiquing rule fired to both the end-user and the designer: "pop-up menus need to be ordered semantically consistent." User interface designers needed to know which operations are semantically corresponding to each other in this specific domain. End- users needed to know what "semantic consistency" is and when and why it is important in user interface design.

Thus, the critiquing mechanisms need to combine both domain knowledge and user interface design knowledge. Our implementation separates the two types of knowledge by using the notion of "domain-distinction," which is further described below. By integrating these two types of knowledge-bases rather than using a single knowledge-base for "user interface design for traffic management systems," the same user interface guideline knowledge can be combined with another application domain knowledge to produce a domain-oriented design environment.

THE PROTOTYPE

The current prototype of a user interface design environment for integrated traffic control systems is implemented on a Macintosh computer using MCL. The prototype has been built on top of Agentsheets, a substrate for building visual design environments [22]. Agentsheets supports the creation of galleries of design units that can be used to build visual representations in a work area. In this prototype system, tools for adding, erasing, and moving objects can be selected from a toolbar. The user interface objects are presented in the gallery and can be copied into the artifact. Currently, the application-specific objects include streets, intersections, railroad lines, bridges, and stations. Additionally, pull-down and pop-up menus are available (Figure 3).

FIGURE 13: User Interface Design Environment with Critiquing Message Pane

The critiquing component consists of a critiquing manager and a set of rules. The manager decides which rules are applicable in the current situation, based on the action of the designer and on the type of the objects involved in the current design activity. The rules themselves are of the form

if condition then reaction

with condition describing a situation that is an error or a problem that requires a warning. Reaction defines the message that will be given to the designer.

The critiquing component monitors the actions of the designer. Every time an interface object is placed, moved, or deleted, or the definition of a menu is changed, the critiquing manager identifies all rules that are applicable in this situation. The conditions of all rules are inspected. The messages defined in the rules where the condition is true are displayed in the message window. This means that all information is delivered to the designer immediately as a response to the design activity. Additionally, the designer can select a "critique complete design" function. This is necessary because some conditions can be checked in a meaningful way only when the design is finished; otherwise, they would deliver the same information after each design step. An example involves the completeness rules (see below).

The messages are presented in a message window. In this window, the "explain" button gives access to the explanations of rules. Additionally, rules can be disabled for the current situation ("reject" button), allowing the designer to define an exception situation. A rule disabled for a specific situation will not be checked in the future for this part of the design, but remains active for the rest of the artifact. Pressing the "where" button highlights all objects related to any currently displayed message. Selecting a single message highlights only the objects related to this message.

The set of currently implemented rules covers different groups of rules. Some rules represent user interface design principles, like a maximum number of items in a menu or the maximum depth of cascaded menus. The second group of rules checks the completeness of the design according to a given specification. This currently covers the required objects and required functions for the system and for the individual objects. Another group of rules represents the consistency requirements, for example, that functions with the same name always appear in the same location in all pop-up menus. Finally, a group of rules that represent design knowledge that is strictly application domain specific was implemented. These rules describe the topological relationship of user interface objects that are allowed in this domain.

As mentioned above, our prototype system integrates two knowledge-bases: user interface guideline knowledge and application domain knowledge. Figure 14 illustrates an applicability condition. It checks whether the operations in the same position of two different menus (menu-A and menu-B) are semantically consistent. Note that the function "menu-consistency" is independent from the application domain. Providing another "domain-map" will check semantic consistency in a different domain.

FIGURE 14: An Applicability Condition Rule for Menu Consistency

In order to link critiquing rules with argumentation, we use the notion of domain-distinctions (see Figures 9, 10, and 12). The argumentation-base is structured as a network of nodes consisting of issues, answers, and arguments based on IBIS [4]. An issue-answer pair represents a design decision in terms of function, structure, or behavior at various levels of abstraction. In our system, issue-answer pairs and arguments are associated with domain-distinctions. Whereas the domain- distinctions come from the vocabulary of user interface design, the arguments are part of the application domain vocabulary. Each domain-distinction is related to a LISP function that checks the current interface design. For example, "Semantic-correspondence (menu-A menu-B)" is related to two predicates: first to determine which functions (operations) are semantically corresponding (i.e., domain knowledge), and second, to determine whether semantically corresponding operations such as "schedule screen" and "traffic lights" occur in different positions in different pop-up menus.

DISCUSSION AND FUTURE DIRECTIONS

The use of critiquing techniques for user interface design is not new [14], and supporting end-user adaptation by a critiquing component is implicitly suggested by the CAA approach [13]. However, none of the existing approaches combine the two and use the technique to facilitate long-term collaboration among end-users and user interface designers. Our approach is to integrate the two activities with a design environment, where the knowledge-base gradually evolves through the two activities.

As of now, the critiquing component has been implemented, and ways to implement a design rationale component and to combine it with a critiquing component have been studied in different domains, including voice dialog design and kitchen design [20]. A hypermedia system has proven to be a useful basis for the implementation.

Critiquing and design rationale in user interface design differ from other domains that have been investigated, as different types of critiquing and explanation are necessary for users with different background knowledge, i.e., user interface designers and end-users. The need for different support is obvious, but further investigations are necessary to identify how to consider these differences.

To make the critiquing component most effective for the designer, only information relevant to the current situation should be delivered. The designer needs the ability to customize the set of applicable rules. A first step is made by allowing the designer to disable rules for specific situations. Additionally, the rules need to be organized in different rule sets that can then be enabled or disabled by the designer. The need for rule sets occurs, for example, when a designer creates user interfaces for different customers and each of them has corporate design guidelines. Additionally, different domains require different rule sets.

Furthermore, it will be interesting to explore how different mechanisms to support the designer or the design process can be combined in a way that is most effective for the designer. Mechanisms that share the goal of supporting the designer in creating a usable interface include constraints, implemented in the user interface design toolkit; critics, as described in this paper; and agents, which also support the designer in an active way.

Finally, integrating a specification component that allows stakeholders to state their design requirements with a critiquing mechanism allows further tunes of the critics. For example, if the user interface design is a walk-up-and-use type of system, the operations of a pop-up menu should be ordered alphabetically, or, if the user interface needs to be internationalized, then the operations should not be ordered alphabetically because different languages may cause conflicts among the orders. Those conflicting guidelines will support designers and end-users to further refine their understanding of the design intention [20].

In this paper, we have presented our approach of using critiquing mechanisms to support user interface design. We have discussed problems inherent in user interface design and claimed that such design should be facilitated as an ongoing, evolving, and collaborative design process between user interface designers and end-users. Critiquing mechanisms can support both end- users and interface designers by providing design knowledge relevant to their task at hand, and invoke them to record design rationale. Such stored design rationale plays a crucial role in supporting long-term asynchronous collaboration among interface designers during redesign and end-users during adaptation.

Acknowledgments

We would like to thank Gerhard Fischer and the HCC group at the University of Colorado, who contributed to the conceptual framework and the systems discussed in this paper. This research was conducted at the University of Colorado and supported by Software Research Associates, Inc. (Tokyo, Japan) and Siemens Corporate Research and Development (Munich, Germany).

References

1. N.Bonnardel, T.Sumner: From System Development to System Assessment: Exploratory Study of the Activity of Professional Designers. in Proceedings of the 7th European Conference on Cognitive Ergonomics, 1994, forthcoming.

2. B.Curtis, H.Krasner, N. Iscoe: A Field Study of the Software Design Process for Large Systems. Communications of the ACM, Vol. 31, No. 11, November, 1988, pp. 1268-1287.

3. P. Ehn and M. Kyng: The Collective Resource Approach to Systems Design. In P.Ehn, G.Bjerknes, M. Kyng (eds.): Computers and Democracy - A Scandinavian Challenge. Avebury, Aldershot, UK, 1987.

4. J. Conklin and M. Begeman: gIBIS: A Hypertext Tool for Exploratory Policy Discussion, Transactions of Office Information Systems, Vol. 6, No. 4, 1988, pp. 303-331.

5. G. Fischer: Communications Requirements for Cooperative Problem Solving Systems. In The International Journal of Information Systems (Special Issue on Knowledge Engineering), Vol. 15, No. 1, 1990, pp. 21-36.

6. G. Fischer, J. Grudin, A.C. Lemke, R. McCall, J. Ostwald, B.N. Reeves, F. Shipman: Supporting Indirect, Collaborative Design with Integrated Knowledge-Based Design Environments. Human Computer Interaction, Special Issue on Computer Supported Cooperative Work, Vol. 7, No. 3, 1992, pp. 281-314.

7. G. Fischer, K. Nakakoji: Beyond the Macho Approach of Artificial Intelligence: Empower Human Designers - Do Not Replace Them. Knowledge-Based Systems Journal, Vol. 5, No. 1, 1992, pp. 15-30.

8. G. Fischer, K. Nakakoji, J. Ostwald, G. Stahl, T. Sumner: Embedding Critics in Design Environments. The Knowledge Engineering Review Journal, Vol. 4, No. 8, 1993, pp. 285-307.

9. G. Fischer, R. McCall, J. Ostwald, B.N. Reeves, F. Shipman: Seeding, Evolutionary Growth and Reseeding: Supporting Incremental Development of Design Environments. Human Factors in Computing Systems, CHI'94 Conference, (Boston, MA), ACM, pp. 292-298. 10. G. Fischer, B.N. Reeves: Beyond Intelligent Interfaces: Exploring, Analyzing and Creating Success Models of Cooperative Problem Solving. Applied Intelligence, Special Issue Intelligent Interfaces, Vol. 1, No. 1992, pp. 311-332.

11. J. Greenbaum, M. Kyng: Design at Work: Cooperative Design of Computer Systems. Lawrence Erlbaum Associates, Hillsdale, NJ, 1991.

12. K. Haltzblatt, H. Beyer, Making Customer-Centered Design Work for Teams, Communication of the ACM, Vol.36, No.10, October, pp. 93-103.

13. T. K�hme: A User-Centered Approach to Adaptive User Interfaces. In Knowledge -Based Systems Vol. 6, No. 4, December 1993, Butterworth-Heinemann, Oxford, 1993.

14. A.C. Lemke, G. Fischer: A Cooperative Problem Solving System for User Interface Design, Proceedings of AAAI-90, Eighth National Conference on Artificial Intelligence, AAAI Press/The MIT Press, Cambridge, MA, August 1990, pp. 479-484.

15. U.Malinowski, T.K�hme, H.Dieterich, M.Schneider-Hufschmidt: A Taxonomy of Adaptive User Interfaces. In A. Monk, D. Diaper, M. D. Harrison (Eds.): People and Computers VII, Proceedings HCI '92. Cambridge University Press, Cambridge 1992.

16. U.Malinowski, T.K�hme, H.Dieterich, M.Schneider-Hufschmidt: Computer-Aided Adaptation of User Interfaces with Menus and Dialog Boxes. In G.Salvendy, M.J.Smith (eds.): Human-Computer Interaction: Software and Hardware Interfaces. Proceedings of HCI Int. 1993, Orlando, Florida. Elsevier, Amsterdam, 1993.

17. N. Miyake: Constructive Interaction and the Iterative Process of Understanding. Cognitive Science, Vol. 10, No. 1986, pp. 151-177.

18. K. Nakakoji: Increasing Shared Understanding of a Design Task between Designers and Design Environments: The Role of a Specification Component. Dissertation Thesis, University of Colorado at Boulder, 1993.

19. K.Nakakoji, G.Fischer: Intertwining Knowledge Delivery and Elicitation: A Process Model for Human-Computer Collaboration in Design. In Special Issue of Knowledge-Based Systems on Human-Computer Collaboration, forthcoming in 1995.

20. K.Nakakoji, T. Sumner, B.Harstadt: Perspective-Based Critiquing: Helping Designers Cope with Conflicts Among Design Intentions. In J.Gero (ed.): Artificial Intelligence in Design �94. Butterworth-Heinemann 1994.

21. M. Polanyi: The Tacit Dimension. Doubleday, Garden City, NY, 1966.

22. A. Repenning: AGENTSHEETS: A Tool for Building Domain-oriented Dynamic, Visual Environments. University of Colorado at Boulder, Department of Computer Science, Technical Report CU-CS-693-93, 1993.

23. H. Rittel, M.M. Webber: Planning Problems Are Wicked Problems. In N. Cross (ed.), Developments in Design Methodology. John Wiley & Sons, New York, 1984.

24. H.A. Simon: The Structure of Ill-Structured Problems. Artificial Intelligence, Vol. No. 4, 1973, pp. 181-200.

25. A.S.Snodgrass, R. Coyne: Is Designing Hermeneutical? Technical Report, Department of Architectural and Design Science, University of Australia, 1990.

26. K.Yakemovic, E.Conklin: Report on a Development Project Use of an Issue-Based Information System. In Proceedings of the Conference on CSCW, Los Angeles, October 1990, pp. 105-118.