Embedding Critics in Design Environments Gerhard Fischer 1 Kumiyo Nakakoji 1 ,3 Jonathan Ostwald 1,4 Gerry Stahl 1,2 Tamara Sumner 1 University of Colorado Boulder, Colorado 80309-0430, USA e-mail: gerhard@cs.colorado.edu 2) School of Environmental Design University of Colorado Boulder, Colorado 80309, USA 3) Software Engineering Laboratory Software Research Associates, Inc. 1-1-1 Hirakawa-cho, Chiyoda-ku, Tokyo 102, Japan 4) Nynex Science and Technology Center White Plains, New York, USA Acknowledgments The authors thank the members of the Human-Computer Communication group at the University of Colorado, who contributed to the conceptual framework and the systems discussed in this paper. The research was supported by the National Science Foundation under grants No. IRI-8722792 and IRI9015441, by the Colorado Advanced Software Institute, by US WEST Advanced Technologies, by the NYNEX Science and Technology Center, and by Software Research Associates, Inc. (Tokyo, Japan). We especially wish to thank Barbara Gibson at Kitchen Connection in Boulder, Colorado, for sharing her expertise in kitchen design. Acknowledgments______________________________________________________________1 Abstract______________________________________________________________________3 1. Introduction ______________________________________________________________3 2. The Critiquing Approach____________________________________________________3 3. 2.1. Importance of Human Critiquing __________________________________________4 2.2. Applying Computer-Based Critiquing to Design_______________________________5 Embedding Critics in Integrated Design Environments____________________________7 3.1. Analyses of Early Critiquing Systems _______________________________________8 3.2. HYDRA: A Multifaceted Architecture for Design Environments _________________10 3.3. Scenario Illustrating Generic, Specific, and Interpretive Critics_____________________13 4. 5. Three Embedded Critiquing Mechanisms______________________________________14 4.1. Generic Critics________________________________________________________16 4.2. Specific Critics ________________________________________________________18 4.3. Interpretive Critics_____________________________________________________20 Benefits of Embedding: Increasing the Shared Context __________________________22 5.1. Increasing the Designer’s Understanding of Design Situations _________________________________ 23 5.2. Pointing Out Significant Design Situations _____________________________________23 5.3. Locating Relevant Information In Large Information Spaces ______________________24 6. The Dynamic Nature of Critiquing Knowledge__________________________________26 6.1 Supporting Designers in Adapting the Critiquing System __________________________26 6.2 “Seeding” the Critiquing System with Domain Knowledge_________________________26 6.3 Accumulating Design Knowledge Through Critics _______________________________26 7. 8. Conclusions _____________________________________________________________27 References_______________________________________________________________28 2 Abstract Human understanding in design evolves through a process of critiquing existing knowledge and consequently expanding the store of design knowledge. Critiquing is a dialog in which the interjection of a reasoned opinion about a product or action triggers further reflection on or changes to the artifact being designed. Our work has focused on applying this successful human critiquing paradigm to humancomputer interaction. We argue that computer-based critiquing systems are most effective when they are embedded in domain-oriented design environments, which are knowledge-based computer systems that support designers in specifying a problem and constructing a solution. Embedded critics play a number of important roles in such design environments: (1) they increase the designer’s understanding of design situations by pointing out problematic situations early in the design process, (2) they support the integration of problem framing and problem solving by providing a linkage between the design specification and the design construction, and (3) they help designers access relevant information in the large information spaces provided by the design environment. Three embedded critiquing mechanisms – generic, specific, and interpretive critics – are presented, and their complementary roles within the design environment architecture are described. Keywords: Cooperative Problem-Solving Systems, Critics, Critiquing, Design, Design Analysis, Design Environments, Design Rationale, Explanation, Generic Critics, Specific Critics, Specification, Interpretive Critics, Domain-orientation 1. Introduction Human understanding in design evolves through a process of critiquing [Fischer, 1991 #74] existing knowledge and consequently expanding and refining the state of knowledge. Our work has focused on applying this human critiquing paradigm to human-computer interaction. Our experience with this approach is based on several years of system prototyping, the integration of cognitive and design theories, and empirical evaluation of these systems. Based on these experiences, we conclude that computational critiquing systems are most effective at supporting human designers when embedded in domain-oriented design environments [Fischer, 1992 #238]. In Section 2, we explain why the critiquing paradigm is essential for supporting the complex activity of design. Using illustrations from critiquing systems we have built, we demonstrate in Section 3 how embedding in design environments enhances the computational critiquing process. Examples of our embedded critiquing system are drawn from HYDRA-KITCHEN, a residential kitchen design environment we have built. Section 4 explains three embedded critiquing mechanisms we have designed, implemented, and studied, called generic, specific, and interpretive critics. Finally, in Section 5 we assess some of the benefits of these embedded critiquing mechanisms. 2. The Critiquing Approach Critiquing is a dialog in which the interjection of a reasoned opinion about a product or action triggers further reflection on or changes to the artifact being designed. For example, a kitchen designer might 3 critique a kitchen floor plan in terms of building code violations, efficiency, safety concerns, or eventual resale value. An agent – human or machine – capable of critiquing in this sense is a critic. Computer-based critics are made up of sets of rules or procedures for evaluating different aspects of a product; sometimes each individual rule or procedure is referred to as a critic [Fischer, 1991 #74]. 2.1. Importance of Human Critiquing Human critiquing plays an important role in design both in the growth of human knowledge and in terms of error elimination. By “human critiquing” we mean subjecting our designs and products to the scrutiny of other people, be they peers, domain specialists, or society in general. Complex design activities prohibit an individual from knowing everything that is relevant; in addition, expertise is frequently controversial. Complex design situations can therefore be characterized by a “symmetry of ignorance’’ [Rittel, 1984 #243], and the knowledge needed to solve a design problem is distributed among designers and their clients [Rittel, 1984 #71]. Critiquing is an important method for working within such a framework of distributed knowledge because it fosters a maximum of participation in order to activate as much of the distributed design knowledge as possible. In kitchen design, the designer and the homeowner take turns proposing ideas and criticizing each other’s suggestions. In this way, the often tacit knowledge [Polanyi, 1966 #208] that each party has can come into play and complement the other’s partial grasp of the design problem. Critiquing is ubiquitous. It is, for example, at the heart of the scientific method. Popper [Popper, 1965 #62] theorized that science advances through a cycle of conjectures and refutations. Scientists formulate hypotheses and put forth these conjectures for scrutiny and refutation by the scientific community. Besides contributing to the growth of knowledge, this critiquing cycle of conjectures and refutations is essential for creating a shared understanding within the scientific community and providing a stable base for future growth in scientific knowledge. Critics play an important role in making designers aware of breakdown situations [Fischer, 1993 #239]. Petroski [Petroski, 1985 #63] noted the importance of failure in the growth of engineering knowledge. For instance, when an airplane crashes, the Federal Aviation Administration sends a team of specialists to the site to determine the cause of the accident. In essence, these specialists are critiquing the plane’s design and construction and current aviation practices. Over the years, this practice has contributed much to the growth of aviation knowledge in terms of both airplane design and improved safety regulations [Chambers, 1985 #237]. In turn, this growth in knowledge contributes toward future error elimination; that is, planes with the same defect are repaired and aviation regulations are improved to prevent similar crashes. The activity of critiquing plays an important role in engineering, science, and design in general. It produces many benefits, including the growth of knowledge, error elimination, and the promotion of mutual understanding by all participants. Through the critiquing process, designers gain a better understanding of the design problem by hearing the different points of view of other design participants. In our work, we have taken this successful human critiquing paradigm and shown how it can be effectively applied to 4 enhance human-computer interaction. In the remainder of this paper, the term “critiquing” will refer to computer-based critiquing systems. 2.2. Applying Computer-Based Critiquing to Design Our design environments are cooperative problem-solving systems [Fischer, 1990 #14] in which the computer system helps users design solutions themselves as opposed to having an expert system design solutions for them. As illustrated in Figure 1, critiquing is integral to cooperative problem-solving systems. The core task of critics is to recognize and communicate debatable issues concerning a product. Critics point out problematic situations that might otherwise remain unnoticed. Many critics also advise users on how to improve the product and explain their reasoning. Critics thus help designers avoid problems and learn different views and opinions. Critiquing systems augment the ability of human designers to evaluate their solutions; decisions concerning whether or not to follow the critic suggestions are left up to the designers. Problem Create Modify Design a kitchen for a left-handed cook Solution DW Analyze Computer Critic Reflect Critic Rule: The dishwasher should be on the left side of the sink if the cook is left-handed. Critique Figure 1. A cooperative problem-solving system has two agents – a human designer and a computer-based critic. Both agents contribute what they know about the domain to solving some problem. For the critiquing systems discussed in this paper, the human’s primary role is to generate and modify solutions; the computer’s role is to analyze these solutions and produce a critique for the human to consider in the next iteration of this process. Critiquing systems are well suited for design tasks in complex problem domains in which the traditional expert systems or automated design approaches have proven inadequate. Such design tasks have the following characteristics: (a) knowledge about the design domain is incomplete and evolving , (b) the problem requirements can be specified only partially, and (c) necessary design knowledge is distributed among many design participants. 5 a. Knowledge about the design domain is incomplete and evolving. Some domains, such as user interface design [Lemke, 1990 #91] and lunar habitat design [Stahl, 1993 #171], are not sufficiently understood; that is, creating a complete set of principles that exhaustively captures their domain knowledge is impossible. Complex problem domains are continually changing as new design knowledge is gained and old design knowledge becomes obsolete. For example, user interface design principles have certainly changed to accommodate the shift from primarily character-based user interfaces to sophisticated graphical user interfaces. Any system supporting design in complex domains must be able to evolve with the domain. Expert systems and automated design approaches are infeasible in these complex situations in which all the potential relevant background knowledge cannot be articulated [Winograd, 1986 #213]. Because autonomous expert systems leave the human out of the decision process and all “intelligent” decisions are made by the computer, these systems require a priori a comprehensive knowledge base covering all aspects of the tasks being performed. Most expert systems also fail to adequately support the evolution of domain knowledge. First, expert systems typically do not support the addition of knowledge by domain experts and instead rely on knowledge engineers to acquire this knowledge from domain experts and subsequently codify it for the specific system. Second, expert systems have shown themselves to be brittle [Rittel, 1984 #71]; that is, a small shift in the problem domain can render an expert system’s knowledge base obsolete and inoperative [Buchanan, 1984 #224]. An important aspect of embedded critiquing systems is their incremental nature; they do not need a large or comprehensive rule-base to be effective. Because critics are structured to be independent entities, adding or modifying a critic does not affect the behavior of the remaining critics. Parts of the critiquing system can remain operational and continue to support the design process while other parts undergo evolutionary change. In the HYDRA-KITCHEN system we have prototyped a “generic” critiquing mechanism that is knowledgeable about commonly accepted design principles and standard design practices. These principles are found in textbooks and training programs and are recognized by professional kitchen designers as being important aspects of producing a “good” floor plan. Although this general knowledge base is insufficient for automating the design of kitchen floor plans or for making a detailed analysis of the appropriateness of the design for a particular client, the generic critiquing system provides designers with valuable feedback concerning their floor plan designs. One study involving both amateur and expert kitchen designers showed that HYDRA’S generic critics helped both categories of designers even though its rule-base contained only 24 critic rules [Fischer, 1989 #152]. b. The problem requirements can be specified only partially. Design problems are ill-defined: they cannot be precisely specified before attempting a solution [Rittel, 1984 #71]. Problem specifications reflect the designer’s understanding of the problem framing and the problem solution. Researchers in situated cognition [Lave, 1988 #95] and design [Schoen, 1983 #129] have shown that designers arrive at solutions by iteratively reframing the problem – adjusting and refining their understanding of the problem framing and problem solution to reflect decisions made, means that may be chosen, materials available, and other changes in the context. Thus, problem specifications are not only incomplete, they are also dynamic in nature. 6 The expert system approach is based on the assumption that the problem to be solved can be fully articulated to the system a priori. The system can return a solution only if given a complete and accurate problem specification. Furthermore, changes in the problem specification can completely invalidate the expert system’s proposed solution. Thus, expert systems are inadequate in ill-defined domains with partial and evolving problem specifications. We have constructed a critiquing mechanism that supports design as a process of problem reframing. This “specific” critiquing mechanism enables only those critics pertinent to the current partial specification, and as such embodies domain knowledge concerning situation-specific design characteristics that not every design will share. In kitchen design, professional designers elicit this situation-specific knowledge from their customers using predefined questionnaires; the answers to these questionnaires form part of the kitchen specification. In HYDRA-K ITCHEN, as the designer changes the problem specification, the “specific” critiquing mechanism brings different sets of critics to bear upon the design. This mechanism supports the coevolution of problem framing and problem solving by making explicit the relationship between the partial problem specification and the current design solution. c. Necessary design knowledge is distributed among many design participants. Design domains such as network design are so large and complicated and have so many subdomains that no single person can know all there is to know [Fischer, 1991 #72]. In such complex domains, the necessary design knowledge is distributed among many participants and most design work is done by teams whose members have differing areas of expertise [Hackman, 1974 #198]; [Johansen, 1988 #202]. When designing in ill-defined domains, there are no “optimal” solutions [Simon, 1981 #4]. Conflicts in opinion about how to proceed often arise due to differences in the designers’ areas of expertise, their personal styles, and their particular problem framing. Often, such conflicts are resolved and design proceeds after designers present reasoned arguments supporting their opinions for discussion and negotiation. Our critiquing systems support design as a deliberative and interpretive process. Critiquing systems contain a collection of critics that embody different areas of domain expertise, different design styles, and often diverging opinions. Our “interpretive” critiquing mechanism supports designers with varying interests and differing areas of expertise to work together by allowing design knowledge to be defined and bundled into personal or topical groupings. Using this mechanism, designers can examine their design from many different perspectives in which each perspective brings different design knowledge and critics to bear upon the current design. All of our critiquing mechanisms – generic, specific, and interpretive – support design as a deliberative process. Besides simply pointing out a potential flaw in the design, these critics offer a reasoned opinion as to why their suggestion should or should not be followed. This interaction style typifies cooperative problem-solving systems: it is the role of the critiquing system to bring relevant design knowledge to the designer’s attention; it is the role of the designer to evaluate the trade-offs and make the final decisions. 3. Embedding Critics in Integrated Design Environments Our early research focused on building and evaluating general purpose (i.e., not-domain-oriented) critiquing mechanisms [Fischer, 1991 #74]. During later work, we became interested in building domain- 7 oriented design environments [Fischer, 1992 #238]. In the last few years, we have merged these two research interests by embedding critiquing mechanisms into domain-oriented design environments. This embedding enhances both the richness of the critiquing process and the ability of our design environments to support the complex activity of design. This section discusses early critiquing systems we have built and how they contributed to the development of the multifaceted architecture, HYDRA, for design environments. A scenario using HYDRA- K ITCHEN illustrates how the embedded critiquing mechanisms integrate the various components in the design environment. 3.1. Analyses of Early Critiquing Systems Critical analyses of our early stand-alone critiquing systems [Fischer, 1991 #74] and systems built by others [Burton, 1982 #214]; [Silverman, 1992 #211], combined with empirical evaluations, led us to realize that the challenge in building critiquing systems is not simply to provide feedback: the challenge is to say the right thing at the right time. Our analyses identified several shortcomings in early critiquing systems that hindered their ability to say the “right” thing at the “right” time: a. lack of domain orientation; b. insufficient facilities for justifying critic suggestions; c. lack of an explicit representation of the user’s goals; d. no support for different individual perspectives; e. timing problems with critic intervention strategies. a. Lack of domain orientation. L ISP -C RITIC [Fischer, 1987 #146] allows programmers to request suggestions on how to improve their code. The system proposes transformations that make the code more cognitively efficient (i.e., easier to read and maintain) or more machine efficient (i.e., faster or smaller). However, the lack of domain orientation limits the depth of critical analysis the critiquing system can provide. Without domain knowledge, critic rules cannot be tied to higher level concepts; LISP-CRITIC can answer questions such as whether the Lisp code can be written more efficiently, but it cannot assist a user in deciding whether the code can solve a specific problem. b. Insufficient facility for justifying critic suggestions. FRAMER [Lemke, 1990 #91] enables designers to develop window-based user interfaces on Symbolics Lisp machines. FRAMER’s knowledge base contains design rules for evaluating the completeness and syntactic correctness of the design as well as its consistency with interface style guidelines. Evaluations of FRAMER showed (1) that many users did not understand the consequences of following the critic’s advice or why the advice was beneficial to solving their problem, and (2) that when users do not understand why a suggestion is made, they tend to blindly follow the critic’s advice whether or not it is appropriate to their situation. FRAMER provided short explanations to address this problem. However, in design there are not always simple answers; access to argumentative discussions detailing the pros and cons of a particular suggestion are necessary [Rittel, 1984 #71]. c. Lack of an explicit representation of the user’s goals. JANUS [Fischer, 1989 #152] is a step toward addressing the previous shortcomings. JANUS allows designers to construct kitchen architectural floor plans. It contains two integrated subsystems: a domain-oriented kitchen construction kit and an issuebased hypermedia system containing design rationale. Critics respond to problems in the construction 8 situation by displaying a message and providing access to appropriate rationale in the hypermedia system. However, these critics often give spurious or irrelevant advice resulting from the lack of an explicit representation of the user’s task. The only task goal built into JANUS is one of building a “good” kitchen; that is, a kitchen that conforms to commonly accepted standards and design practices. With an explicit model of the designer’s intentions for a particular design, critics can be selectively enabled based on this model and provide less intrusive and more relevant advice. d. No support for different individual perspectives. It is not possible to anticipate all the knowledge necessary for a critiquing system to say the “right” thing in every design situation. Design domains are continually evolving as new knowledge is gained. JANUS-MODIFIER [Fischer, 1990 #240] was developed to respond to this problem by making the domain knowledge (including critics) end-user modifiable. But being able to add new knowledge is not sufficient; different users must be able to organize and manage design knowledge and critics to reflect their perspectives on design. Design environments need to support interpretation of a problem from many perspectives (technical, structural, functional, aesthetic, personal), and critique accordingly. e. Timing problems with critic intervention strategies. A number of systems [Fischer, 1985 #144]; [Burton, 1982 #214] investigated critic intervention strategies, which determine when and how a critic should signal a potential problem. This research focused on studying active versus passive intervention strategies. Active critics continually monitor user actions and make suggestions as soon as a problematic situation is detected. Passive critics are explicitly invoked by users to evaluate their partial design. A protocol analysis study [Lemke, 1990 #91] showed that passive critics were often not activated early enough in the design process to prevent designers from pursuing solutions known to be suboptimal. Often, subjects invoked the passive critiquing system only after they thought they had completed the design. By this time, the effort of repairing the situation was expensive. In a subsequent study using the same design environment, an active critiquing strategy was shown to be more effective by detecting problematic situations early in the design process. However, our interactions with professional designers showed that active critics are not a perfect solution either: they can disrupt the designer’s concentration on the task at the wrong time and interfere with creative processes. Interruption becomes even more intrusive if the critics signal breakdowns at a different level of abstraction compared to the level in which the task users are currently engaged. For example, if the designer is currently concerned about where the refrigerator should be located in a kitchen floor plan, then a critic suggestion that a double-bowl sink is better than a single-bowl sink is probably inappropriate and distracting at this point in time. What is needed is a critiquing system that: (1) alerts designers to problematic solutions, (2) avoids unnecessary disruptions, and (3) allows users to control the critic’s intervention strategy. Embedding critics in design environments allows users to control critic intervention through interaction with the construction, specification, and perspective design components built into the design environment. 9 3.2. HYDRA: A Multifaceted Architecture for Design Environments Design environments are computer programs that support designers in concurrently specifying a problem and constructing a solution. Design environments provide information repositories to store domain knowledge and allow designers to accumulate additional domain-knowledge through interaction with the environment. HYDRA (Figure 2 represents its components schematically; Figure 3 provides a screen image) contains design creation tools in the form of a construction component and a specification component. Design information repositories are provided in the form of argumentation and catalog knowledge bases. The architecture is multifaceted because these components provide multiple representations of both the current design and underlying domain knowledge. The critiquing mechanisms integrate these facets in the design environment architecture. The various representations are managed by the following four components: — The construction component is the principal medium for modeling a design. It provides a palette of domain-oriented design units, which can be arranged in a work area using direct manipulation. Design units represent primitive elements in the construction of a design, such as sinks and stoves in the domain of kitchen design. Critics can be tied to these domain-oriented design units and to relationships between design units. — The specification component allows designers to describe abstract characteristics of the design they have in mind. The specifications are expected to be modified and augmented during the design process, rather than to be fully articulated at the beginning. The specification provides the system with an explicit representation of the user’s goals. This information can be used to tailor both the critic suggestions put forth and the accompanying explanations to the user’s task at hand. — The argumentative hypermedia component contains design rationale based on the procedural hierarchy of issues (PHI) structure (see Figure 5) [McCall, 1987 #209]; [Conklin, 1988 #153]. The PHI structure consists of issues, answers, and arguments about decisions made during the course of design. Users can annotate and add argumentation as it emerges during the design process. Argumentation is a valuable component in a critic’s explanation; it identifies the pros and cons of following a critic suggestion and helps the user to understand the consequences of following a suggestion. — The catalog component provides a collection of previously constructed designs. These illustrate examples within the space of possible designs in the domain and support reuse [Prieto-Diaz, 1987 #226] and case-based reasoning [Kolodner, 1991 #225]. Catalog entries are also important components in a critic’s explanation. Often a critic does not suggest a course of action but instead points out a deficiency in the current design; catalog entries can then be used as specific examples illustrating sample solutions that address a deficiency noted by a critic. 10 Specification Component critic messages Construction Component Construction Analyzer Argumentation Component argumentation Argumentation Illustrator examples Catalog Component Figure 2. The critiquing process within HYDRA. The links between the components – the CONSTRUCTION ANALYZER and the ARGUMENTATION ILLUSTRATOR – are crucial for exploiting the synergy of the integration. This architecture derives its power from the integration of its components. When used in combination, each component augments the value of the others in a synergistic manner. The components of the architecture are integrated by two linking mechanisms (see Figure 2). Together, these linking mechanisms support the critiquing process by providing critic messages, explanatory argumentation, and illustrative examples: — The CONSTRUCTION ANALYZER is the core critiquing component in HYDRA. This mechanism analyzes the design construction for compliance with the currently enabled set of critic rules. When a lack of compliance is detected, the critic signals a breakdown and provides entry into the exact place in the argumentative hypermedia component in which the appropriate explanation is located. — The ARGUMENTATION ILLUSTRATOR can retrieve both positive and negative catalog examples to illustrate the problematic situation detected by the CONSTRUCTION ANALYZER. Providing specific examples is essential because the explanation given in the form of argumentation is often highly abstract and conceptual. Concrete design examples that match this explanation assist designers in understanding the potential problem, assessing the design situation, and devising a solution. In addition to the construction and argumentation components of its predecessor, JANUS, HYDRA supports a specification component [Fischer, 1991 #77] and a catalog of designs. The specification format is based on questionnaires used by professional kitchen designers to elicit their customers’ requirements, such as the kitchen owner’s cooking habits and family size. Each component in HYDRA contains design knowledge that can be used by an embedded critiquing mechanism to overcome the deficiencies of the stand-alone systems previously described. 11 As mentioned in Section 2.2, we have studied three classes of embedded critiquing mechanisms: generic, specific, and interpretive critics. These mechanisms embody different types of design knowledge and correspond to three dimensions of embedding. Generic critics are embedded in the construction and use domain knowledge concerning desirable spatial relationships between design units to detect problematic situations in the partial design construction. Specific critics are embedded in the partial specification and take advantage of additional knowledge in the partial specification to detect inconsistencies between the design construction and the design specification. Interpretive critics are embedded in a perspective mechanism that enables designers to create topical groupings of critics and design knowledge; such groupings support designers in examining their artifacts from different viewpoints. The argumentation and catalog components provide rich sources of domain knowledge that all three mechanisms use in their explanation process when communicating with the designer. The following section provides a scenario depicting how kitchen designers work within the HYDRA environment. The scenario describes the three critiquing mechanisms and it illustrates the benefits derived from embedding these mechanisms in the multifaceted architecture. 12 Figure 3. Screen image of HYDRA-KITCHEN. The “Current Specification” window shows a summary of currently selected answers using the specification component. An indicator attached to each of the selected answers allows users to assign weights of importance to the specified item in order to set priorities. The “Catalog” window shows previous kitchen designs that can be examined or reused. The “Current Construction” window shows a partial construction being built using components provided in a palette of kitchen design units (not shown). The “Messages” window is used to present critic notification messages. The number attached to the critic message is a weighted measure indicating the relevance of the fired critic. 3.3. Scenario Illustrating Generic, Specific, and Interpretive Critics Imagine that Bob, a professional kitchen designer, has been asked to design a kitchen for the Smith family. The partial specification of the Smith’s kitchen is articulated using HYDRA, as shown in Figure 3. Bob begins working on a floor plan in the construction area. He moves the dishwasher next to the cabinet. Bob’s action triggers a generic critic, and the message, “The dishwasher is too far from the sink,” is displayed. Generic critics reflect knowledge that applies to all designs, such as accepted standards, 13 building codes, and domain knowledge based on physical principles. Often, this generic knowledge can be found in textbooks, training curricula, or by interviewing domain practitioners. Bob highlights the critic’s message and elects to see its associated argumentation. The argumentation explains that plumbing guidelines require the dishwasher to be within one meter of the sink. Bob follows the critic’s suggestion and moves the dishwasher next to the right side of the sink (for details, see Fischer, et al. [Fischer, 1991 #74]). This action triggers a specific critic with the rule, “If you are left-handed, the dishwasher should be on the left side of the sink.” Specific critics reflect design knowledge that is tied to situation-specific physical characteristics and domain-specific concepts that not every design will share. These critics are constructed dynamically from the partial specification to reflect current design goals. This particular critic rule was activated because Bob specified that the primary cook is left-handed (see Figure 3). Bob examines the supporting argumentation, “Having the dishwasher to the left of the sink creates an efficient work flow for a left-handed person.” Bob decides this is an important concern and puts the dishwasher on the left side of the sink. Then Bob remembers that the Smiths are remodeling mainly to increase their property value in anticipation of selling in two years. So Bob decides to examine his design from a resale-value perspective. When Bob switches to the resale-value perspective, an interpretive critic is triggered with the rule, “The dishwasher should be on the right side of the sink.” Interpretive critics support design as a interpretive process by allowing designers to interpret the design situation from different perspectives according to their interests. In this perspective, the critic about the dishwasher and sink has been redefined and its associated rationale has been modified. Now the argumentation says, “Optimizing your kitchen for lefthanded cooks can adversely affect the house’s resale value since most kitchen users are right-handed.” Bob decides that enhancing the Smiths’ resale value is the more important consideration and moves the dishwasher. As long as he remains in the resale-value perspective, Bob will be informed by the critics whenever they detect a feature negatively affecting resale value. Additionally, the critics will provide Bob access to argumentation concerning designing for resale. 4. Three Embedded Critiquing Mechanisms This section describes in detail three embedded critiquing mechanisms – generic , specific , and interpretive critics. Examples of how these three critic styles are deployed was illustrated in the previous scenario. In all three mechanisms, critic knowledge is captured by rules with condition and action parts. The condition clause checks whether a certain situation exists in the current design construction. The action clause notifies the designer that a particular situation has been detected. Figure 4 illustrates a condition-action critic rule in which the condition checks if the stove is away from the window; the action part notifies the designer that “the stove is not away from the window.” For all three mechanisms, the basic critiquing process consists of the following phases: (1) the set of appropriate critic rules to be enabled is identified; (2) the design construction is then analyzed for compliance with the currently enabled set of critic rules; (3) when a lack of compliance is detected, the critic signals a possible problem and provides entry into the argumentative hypermedia component in which the appropriate explanation is located; and (4) concrete catalog examples that illustrate the 14 explanation given in the form of argumentation can optionally be delivered [Fischer, 1991 #74]. As illustrated in Table 1, the three critic mechanisms differ mainly in terms of how they enable critic rules and in the types of design knowledge embodied in their rules. Table 1. The three critic mechanisms – generic, specific, and interpretive - differ in how they enable critic rules, the rules’ scope of applicability, and the types of design knowledge each mechanism is best suited to represent. How Enabled Generic Specific Applicability Design Knowledge Example Enabled by placing All designs design units into the construction area Standards Cabinets should be 150 cm. above floor. Physical Principles Heat ignites flammable objects. Enabled by the partial specification Situation Characteristics Cook is left-handed and 150cm. in height. Specific design Abstract Domain Concepts Efficiency; safety. Interpretive Enabled by the currently active design perspective Specific perspective Multiple interpretations of domain concepts Cabinet height: convenient for cook. Cabinet height: desirable for resale value. Generic critics [Fischer, 1991 #74] are enabled by the placement of design units into the construction area. These critics apply to all designs containing the design unit to which the critics are attached. Generic critics reflect knowledge that is applicable to all designs, such as accepted standards or regulations or domain knowledge based on physical principles (see Table 1). Specific critics [Nakakoji, 1993 #242] are constructed dynamically to reflect the designer’s goals as they are stated explicitly in the specification component. These critics apply only to the design situation currently under consideration. Specific critics reflect design knowledge that is tied to situation-specific physical characteristics and domain-specific concepts that not every design will share. Interpretive critics [Stahl, 1993 #171] provide a mechanism for supporting design as an interpretive process; that is, they are a response to the recognition that domain concepts such as “cabinet height” and “efficiency” can have more than one definition or interpretation depending upon the current situation and the designer. Interpretive critics allow designers to view their work from multiple perspectives by creating, managing, and selectively activating different sets of design knowledge. Specific examples illustrating each of these critic mechanisms will be discussed below. Generic critics will be used to discuss the basic critiquing process described at the beginning of this section. The three mechanisms for embedded critics differ from one another primarily in how they determine which set of 15 critic rules should be enabled. The discussion of specific critics and interpretive critics will focus on how these mechanisms determine which critics are currently enabled. 4.1. Generic Critics Generic critics reflect knowledge that applies to all designs, such as accepted standards, building codes, and domain knowledge based on physical principles. Often, this generic knowledge can be found in textbooks, training curricula, or by interviewing domain practitioners. A generic critic representing an accepted kitchen design standard is the cabinet height critic. Kitchen designers agree that unless more specific information regarding the primary cook is known, the top cabinets should be placed 150 cm. above the floor. A generic critic reflecting domain knowledge based on safety principles is the “stove should be away from the window” rule shown in Figure 4. This rule reflects the principle that objects that generate heat (e.g., the stove) should not be placed under flammable objects (e.g., the curtains on the window). Generic critics in HYDRA are implemented as object-oriented methods of appliances and other design units in the design construction. When the design construction is altered, all design units implicated by the changes evaluate their critic methods. These methods are defined and parameterized by the information in property sheets such as those shown in Figure 4. For example, the rule box shown defines a generic critic for stoves. This method checks that the stove is “away from” all windows in the construction area. Figure 4. The “stove should be away from the window” critic rule and the definition of the “away-from” spatial relation. The condition away-from is defined in the relation property sheet as taking two objects and evaluating whether or not the minimum distance between them is greater than 12 inches. The corresponding message for display if this condition is not met is the critique: the first object “is not away from” the second object. 16 The critic defined in the rule sheet applies this relation to the stove as the first parameter and sequentially to each window in the construction as the second parameter. The definition specifies that this rule shall be applied to all windows (Apply to: All) because stoves should be away from all windows to prevent fires. Other critic rules specify only that there should exist at least one object in the construction (Apply to: One) that matches the condition relation with the first parameter -- for example, the dishwasher should be near at least one sink. Further requirements can be specified for the applicability of the critic rule. These applicability requirements make use of domain concepts like “generates heat,” “has curtains,” and “is flammable.” In the example rule, a stove has to be away from a window only if the stove generates heat (e.g., it is not a microwave), if the window has curtains, and if the curtains are flammable. Finally, the definition of the critic lists a topic in the argumentation issue-base that will be displayed if this critic fires and the user selects the critic message. All generic critics in HYDRA are defined through property sheets like these for rules and relations. Using these property sheets, designers are able to modify the definitions of existing critics and to create additional critics. Critics inform designers of potentially problematic situations by using a three-tiered approach that involves simple notification, supporting argumentation, and specific examples. First, the critic signals the designer of a potentially problematic situation with a simple initial notification message. The form of this initial notification message is defined by the critique phrase in the spatial relation definition. The critic shown in Figure 4 would display the message “Stove-1 is not away from Window-1.” Variables in the notification string are resolved into specific design units by the critic rule using the spatial relation. Associating notification messages with the spatial relations allows these messages to be shared by many critic rules. The downside of this approach is that the notification message signals only that a spatial relation was detected and does not report why this is significant. As discussed in Section 3.1, our work has shown that such “one-shot” notifications, which merely identify a situation, are inadequate. Critics that support design as an argumentative process [Rittel, 1984 #71] should be capable of presenting different alternatives and opinions and each alternative’s corresponding advantages and disadvantages. The critiquing systems use the argumentation component of HYDRA to provide the second tier of explanation, thereby “making argumentation serve design’’ [Fischer, 1991 #75]. Each critic rule has an associated link into the argumentation component where issues pertaining to the situation identified by the critic are discussed. For the critic in Figure 4, the associated link is found in the slot “Argumentation Topic: answer (stove, window).” The designer can view the critic’s associated design rationale by selecting the initial notification message displayed in the Message area (Figure 3). Because design rationale contains design issues accompanied by positive and negative argumentation, critic explanations in this form help the designer understand why the current design situation may be significant or problematic. 17 Sometimes designers may not understand the arguments made in the design rationale or they may understand the arguments but not know what action to take. In these situations, providing designers with specific examples can be helpful. The third tier of critic explanation delivers specific examples upon request that illustrate the issue being discussed. Designers can select an issue in the argumentation and request to see a positive example or a counter example. As illustrated in Figure 4, critic conditions are associated with argumentation issues. When the designer requests to see an example of a specific issue, the ARGUMENTATION ILLUSTRATOR (see Figure 5) takes the critic condition associated with the selected argumentation issue and searches the catalog component for examples that fulfill the condition. Figure 5. Argumentation consists of issues, answers, and arguments supporting or refuting answers. The designer can view the stove-away-from-window critic’s associated design rationale by selecting the initial notification message displayed in the Message area (e.g. “Stove-1 is not away from Window-1”) of Figure 3. The arguments shown explain why many kitchen designers believe windows and stoves should not be adjacent. Choosing the menu item “Show Example” causes example designs that illustrate the answer advocated in the argumentation to be delivered to the designer. 4.2. Specific Critics In HYDRA, specification knowledge is related to: (1) situation-specific physical characteristics such as the size and shape of the kitchen or the owner’s height, (2) specified requirements such as “a dishwasher should be included,” and (3) abstract domain concepts such as safety and efficiency. The specification issues were derived from questionnaires used by professional kitchen designers [Nakakoji, 1993 #242]. 18 Specific critics evaluate the construction situation for compliance with the partial specification. They reduce the intrusiveness of a critiquing system by narrowing the enabled critics to those that are relevant to the task at hand as determined from the partial specification. Specification-linking rules [Fischer, 1991 #77] are used to dynamically identify the set of specific critics to be enabled. The specification consists of issue/answer pairs (see Figures 3 and 6). A specification linking rule represents a dependency between an issue/answer pair in the specification and associated pro and con arguments in the argumentation component. As shown in Figure 6, a specification linking rule connects the argumentation issue “Where should the stove be located?” with the specification item “Is safety important to you?” The shared domain distinction “safety” is used to establish a dependency between this particular specification item and the argumentation issue. A critic condition is associated with each answer in the specification, and a domain distinction is associated with each argument. Domain distinctions are a vocabulary for expressing domain concepts, such as safety or efficiency. Whenever the designer modifies the specification, the critiquing system recompiles the specification-linking rules to reflect the newly relevant domain distinctions. In this way, critiquing criteria are tied to a representation of the partially articulated goals of a specific design project. Specification Is safety important to you? Issue: Answer: Argumentation-Base Issue: Where should the stove be located? Answer: Yes Domain-distinction: safety The stove should be away from all doors. Critic Condition: Arguments:[pros] Domain-distinction: Arguments:[cons] Domain-distinction: (away-from stove door) If stove is not away from a door, it is a fire-hazard. Specification-linking rule safety -> (away-from stove door) safety If stove is away from a door, it is not convenient for serving meals. Construction efficiency DW Figure 6. Derivation of the Specification-Linking Rules. The domain distinction associated with a specification item is paired with a matching pro or con argument in the hypermedia issue base. The critic condition associated with an answer is linked with the domain distinction to form a specific critic rule. The operation of the specification-linking rules can best be conveyed with an example. Assume the designer knows that the kitchen owners have young children and he specifies that having a safe (childproof) kitchen is very important (Figure 6). The domain distinction associated with this specification item is “safety.” In the argumentation, answers (e.g., “the stove should be away from all doors”) are associated with critic conditions (e.g., “away-from stove door”). Pro and con arguments are associated with domain 19 distinctions. In Figure 6, the domain distinction “safety” is associated with the pro argument and the domain distinction “efficiency” is associated with the con argument. Specification-linking rules link the domain distinctions activated in the specification with the appropriate critic condition. First, the argumentation is analyzed until the domain distinction activated in the specification (safety) is found. If the domain distinction is associated with a pro argument, then a specification-linking rule is created with the form: domain distinction implies critic condition. If the domain distinction is associated with a con argument, then a specification-linking rule is created with the form: domain distinction implies not critic condition. The specification-linking rules “safety implies stove awayfrom door” and “efficiency implies stove not away-from door” can be derived from the example in Figure 7. Whenever the designer modifies the specification, the critiquing system recomputes the specificationlinking rules. For the partial specification shown in Figure 7, specification-linking rules supporting the notion of safety will be constructed. The right side of the specification rules are the enabled critic conditions used to evaluate the design construction for adherence to the current specification. Often, conflicts between specific critics arise. The designer could have specified that he was concerned with both safety and efficiency. For example, having the stove to the left of the refrigerator may be efficient, but it may also be less safe if this places the stove next to a door. Using the specification component, the designer can not only state which concepts are of interest, he can also articulate his level of interest by weighting specification items. The critiquing system uses these weights to help prioritize critic activity. When a critic fires, it displays an importance weight next to the initial notification message that reflects the weights assigned to the specification items that enabled the particular critic rule (see Figure 3). The designer can then take these relative weights into account when deciding to respond to the critic messages. 4.3. Interpretive Critics Design can be viewed as an interpretive process [Stahl, 1993 #171]. Designers and their clients interpret the design situation according to personal backgrounds, experiences, and concerns. This means that there cannot be a unique set of domain knowledge that is adequate for all people and all interests. We have prototyped a design environment [Stahl, 1992 #169] with perspectives [Bobrow, 1980 #236] to provide alternative views or approaches to given design situations. The perspectives mechanism organizes all the design knowledge in the system. It allows items of knowledge to be bundled into personal or topical groupings or versions. For instance, a resale-value perspective might include critics and design rationale pertinent to homeowners concerned about their home’s resale appeal. A kitchen design environment might have perspectives for evaluating kitchens from the perspective of an electrician, a plumber, an interior designer, a realtor, a mortgage writer, or a city inspector. Perspectives could also be defined for individuals who have special preferences or for specific kitchens. A perspective for the Smith’s kitchen would include design rationale for its unique set of design decisions, so that any future modifications could be checked for consistency with those decisions. The organization of knowledge by perspectives encourages users to view the knowledge in terms of structured, meaningful categories, which they can create and modify. It provides a structure of contexts 20 that can correspond to categories meaningful in the design domain. This can ease the cognitive burden of manipulating large numbers of alternative versions of critics and other design knowledge. Interpretive critics are the result of interactions between the perspectives structure and the critic mechanisms (Figure 7). Critics are associated with design perspectives. The perspectives provide a mechanism for creating, managing, and selectively activating different sets of critics along with their related design knowledge, such as spatial relations, domain distinctions, palette items, and argumentation. A perspective can incorporate critics from other perspectives, including generic and specific critics from the default perspective (see Figure 7). Additionally, a perspective may modify any inherited critics and define new ones. Default Residential Kitchen Generic Critic Rule: Top Cabinets should be placed 150cm above floor. Resale Residential Kitchen Critic Rule: Top Cabinets should be placed not lower than 140 cm or higher than 160 cm. Smith's Residential Kitchen Critic Rule: Top Cabinets should be placed at 80% of cook's height. Cook's Height = 150 cm. Figure 7. Perspectives are arranged in an inheritance network. Three perspectives – a “default kitchen,” “Smith’s kitchen,” and a “resale kitchen” – are shown. The preferred placement of the top cabinets depends on the perspective selected. The critic rule analyzing the placement of the top cabinets is redefined within each of the three perspectives. Designers switch perspectives to examine a design from different viewpoints. Switching perspectives changes the currently effective definitions of critics, the terms used in these definitions, and other domain knowledge. As a result, the critics adapt to the different perspectives -- hence the term “interpretive” critics. The designer always works within a particular perspective. At any time, the designer can select a different perspective by name. New perspectives can also be created by assigning a name and selecting existing perspectives to be inherited. Bob, the designer working with the Smiths in the previous scenario, could create a Smith’s kitchen perspective and select the resale perspective to be inherited by it. Perspectives are connected in an inheritance network; a perspective can modify any knowledge inherited from its parents or it can add new knowledge. Consider the inheritance network shown in Figure 7. Suppose that in the default perspective there is a rule that checks “if the top cabinets are 150 cm above the floor.” In the Smith’s kitchen perspective the rule that determines cabinet height is based on the cook’s height. This same critic rule will be evaluated differently in the three different perspectives because it is defined in terms of the spatial relationship whose definition varies. Similarly, either the rule or the spatial relationship in the rule could be defined indirectly in terms of something in the argumentation issue-base, such as the answer to an issue requesting the primary cook’s height. Critics and the design 21 knowledge on which they are based can be adapted to interpret designs differently in many ways: by inheritance, by modification of inherited objects, or by addition of new objects into a perspective. Interpretive critics based on perspectives provide a mechanism for refining the critiquing process that is orthogonal to the specific critics. Specific critics fine-tune the generic critics that embody general domain knowledge, relating them to the design choices specified for a given project. Whereas the set of generic and specific critics may be extensible in the sense that new critics can be added from time to time, the perspectives mechanism provides for multiple definitions of these sets to exist simultaneously so that individual designers can fluidly adopt varying viewpoints on designs. This provides a means for structuring new critics and other knowledge representations as they emerge during use of the design environment and systematically retaining this knowledge for use in future projects. 5. Benefits of Embedding: Increasing the Shared Context Computational media offer great capacity for storing large volumes of information and support for managing dynamic information spaces [Norman, 1993 #175]. Computational media can integrate diverse information sources such as reference materials, solutions to previous design problems, and collections of design rationale. However, access to large information spaces creates a new problem for designers: information overload. In situations of information overload, the critical resource for designers is not information, but rather the attention with which to process information. Simon [Simon, 1981 #4] argued with convincing examples that a design representation suitable for a world in which the scarce factor is information may be exactly the wrong one for a world in which the scarce factor is attention. When presenting people with information, the primary concern is to present items that are relevant to the task at hand [Fischer, 1991 #77]. Critics embedded in design environments exploit a rich notion of the designer’s task at hand, or context, to provide relevant information to designers. Design environments support a cooperative problem-solving process in which the designer determines the context of design by manipulating interface objects (such as graphical objects and form-based objects) in the construction, specification, and perspective components. Objects in the construction component define a construction context that provides generic critics with a representation for the task at hand. Values and priorities for specification objects define a specific context that allows specific critics to compute relevant information for the particular task as specified by the designer. The perspective mechanism determines an interpretive context that enables collections of critics and their associated argumentation. The context defined by the construction, specification, and perspective situations allows the system to provide information relevant to a dynamic representation of the task at hand that is shared by the designer and the design environment. This shared context enables precise intervention by critics, reduces annoying interruptions, and increases the relevance of information delivered to designers. Critics embedded in design environments benefit the design process by increasing the designer’s understanding of design situations, by pointing out significant design situations that might have been overlooked, and by locating relevant information in very large information spaces. 22 5.1. Increasing the Designer’s Understanding of Design Situations The solution of a design problem necessarily involves coming to a deeper understanding of the problem through attempts to solve it. Design problems cannot be clearly defined “up front,” before any attempt at a solution is made. New requirements emerge during the design process [Schoen, 1983 #129]; [Rittel, 1984 #243]; [Fischer, 1992 #83] that cannot be identified until portions of the artifact have been designed or implemented. These aspects of design create the following dilemma: (1) one cannot gather information meaningfully unless the problem is understood, (2) one cannot understand the problem without having a concept of the solution in mind, and (3) one cannot understand the problem without information about it. Problem framing and problem solving are mutually enabling design processes because each informs the other. Design methodologists such as Schoen [Schoen, 1983 #129] and Rittel [Rittel, 1984 #243] stress the strong interrelationship between problem framing and problem solving. They characterize design problems by the need for designers to impose a discipline, or framing, on the problem in order to reduce the complexity of the situation to a manageable level. Problem framing is the process of determining the boundaries (or framework) of a problem, such as determining the “givens” of the problem, the assumptions under which the designer operates, and the criteria for evaluating a solution. Each move toward a design solution tests the problem framing, potentially exposing conflicting or unrealistic goals. Critics embedded in design environments support designers in creating and modifying the problem framing throughout the design process – not just in the beginning. Critics support a design process where “understanding the problem is the problem.” In this view of design, in which problem framings and problem solutions coevolve, each action by the designer has the potential to alter the understanding of the problem, which in turn can influence subsequent actions. Our goal is to support design as a cooperative problem-solving dialog between the designer and the evolving design situation. 5.2. Pointing Out Significant Design Situations By seeing design as a “reflective conversation with the situation” [Schoen, 1983 #129], action is governed by nonreflective thought processes and proceeds until it breaks down. A breakdown [Fischer, 1993 #239] occurs when the designer realizes that nonreflective action has resulted in unanticipated consequences – either good or bad. Schoen described this realization as ``the situation talks back.’’ Reflection is used to repair the breakdown, and then (nonreflective) situated action continues. The hallmark of reflection-in-action is that it takes place within the action present – within the time period during which the decision to act has been made but the final decision about how to act has not. This is the time period during which reflection can still make a difference in what action is taken. Schoen’s theory of design is based on designers interacting with traditional media, and the back-talk from the situation is determined solely by the designer’s skill, experience, and attention. Computational technology, such as critics embedded in design environments, affords a new type of back-talk from the design situation. Computational design situations can actively point out breakdowns to designers. This active design support enables designers to hear the situation talk back in situations that might have remained mute in passive media. 23 Reflection-in-action, as supported by embedded critics, is an ongoing cycle of action, breakdown, and reflection. Designers act when they shape the design situation. They establish a shared context with the design environment by manipulating interface objects in the construction, specification, or perspective components. Breakdowns are triggered by critics embedded in the design environment that detect situations that indicate the designer might need to reflect. Based on the shared context, critics support reflection by delivering information relevant to the breakdown situation. Argumentative information helps designers understand the breakdown situation, and the catalog contains design solutions that provide examples of how other designers have resolved similar problems. The scenario illustrates how embedded critics support design as a reflective conversation with the situation. In the scenario, critics triggered two consecutive breakdowns. In the first, the construction situation talked back to Bob when his actions violated a generic kitchen design principle that “the dishwasher should not be too far from the sink.” After some reflection, he moved the dishwasher nearer to the sink to comply with the critic. However, this action created a new breakdown situation. A specific critic signaled a breakdown to remind Bob that his actions were inconsistent with his partial specification; that is, his placement of the sink might not be optimal for left-handed cooks. This breakdown led him to reflect on his goals; instead of altering the design construction, Bob reformulated his partial specification. 5.3. Locating Relevant Information In Large Information Spaces Making information relevant to the task at hand poses many challenges for the design of interactive computer systems, particularly for problems in which the need for information is critical and yet precise information needs cannot be known in advance of attempts to solve the problem. Our design environments that support design in complex domains are high-functionality computer systems; that is, they provide a large amount of functionality and are built on large information bases. Such systems provide more information and functionality than a single person can master [Draper, 1984 #85]. Two factors contribute to this behavior: (1) the effort of finding information often outweighs the perceived benefits of doing so, and (2) users are not aware that the information even exists. Both factors can be related to the discrepancy between the designer’s perception of an information space and the actual information contained in a high-functionality system (see Figure 8). Designers are often unwilling to disrupt the design process to search for information in large information spaces, even if they know the information exists. In addition, designers may not know when they need information. Embedded critics save designers the trouble of explicitly querying the system for information. Critics notify designers of situations indicating the need to reflect (breakdowns) and provide access to information fueling reflection. The context of the breakdown situation serves as an implicit query that enables embedded critics to deliver relevant information. Designers benefit from needed information without having to explicitly ask for it. Embedded critics can also deliver relevant information [Nakakoji, 1993 #242] about which designers were unaware (see Figure 8). Critics provide the designer with a pointer into part of the system’s information space with which the designer needs to become aware. The designer can further browse the unfamiliar portion of the information space starting from the entry point provided by the critic. 24 Critics afford learning on demand [Fischer, 1991 #72] by letting designers access new knowledge in the context of actual problem situations; users are informed (1) when they are getting into trouble, (2) when they are missing important information, and (3) when they come up with problematic solutions. Learning on demand is a promising approach for the following reasons: (1) it contextualizes learning by integrated it into work rather than relegating it to a separate design phase; (2) it lets designers see for themselves the usefulness of new knowledge for actual problem situations, thereby increasing the designers’ understanding of their situations; and (3) it makes new information relevant to the task at hand, thereby leading to better decision making, better products, and better performance. Information Mistakenly Believed to Exist in Design Environment Information Contained in Design Environment Information Space as Perceived by Designer Information Contained in Design Environment but Unknown to Designer Information Known to be Contained in Design Environment Figure 8. Large information spaces contain more information than a single person can know exists. The oval represents the information a designer perceives to be in the design environment. The square represents the information actually contained in the design environment. This figure illustrates that the designer’s perception includes information that does not exist in the design environment, and does not include some information that actually exists in the design environment. Critics exploit the shared context of breakdown situations to compute what information is relevant to the task at hand. In the scenario, each critic’s notification message was linked to information in the argumentation component. For the “dishwasher not too far from the sink” issue, the designer was reminded of plumbing requirements he might have known about but did not remember in the context of the design situation. The “left-handed” specific critic identified information the designer had previously been unaware of: that the recommended positions of the sink and dishwasher are dependent on whether the cook is right- or left-handed. The interpretive critic (enabled by adapting a Resale Perspective) informed Bob of additional information about which he had previously been unaware. Now that he is aware of this “resale” value concern, Bob could explore further implications of a resale perspective by browsing related information or by continuing his design process, where he will be informed on demand. 25 6. The Dynamic Nature of Critiquing Knowledge 6.1 Supporting Designers in Adapting the Critiquing System To be successful, embedded critiquing systems must adapt to reflect changes in the design domain. Two questions arise when considering system adaptation: will designers be able to adapt the system as required and will designers be motivated to adapt the system? End-user modifiability components and design environment “seeds” are important steps toward answering these questions. Adapting the critiquing system involves modifying or adding critic rules, design units, design unit relations, and critic explanations in the form of argumentation and catalog examples. Sometimes, adapting the system is as simple as changing parameters or filling out specialized forms. Girgensohn [Girgensohn, 1992 #172] explored end-user modifiability in domain-oriented design environments. His work showed that end-users without any formal training in computer science need considerable environmental support in the form of explanatory help, critics that support modification processes, task decomposition agendas, and computer-supported object classification to effect significant system changes. Even with this extensive environmental support, none of the subjects in his user studies were able to complete the adaptations without intervention from the study supervisor. Girgensohn’s research has demonstrated that enabling designers to adapt their systems is a very difficult problem which requires further research in the areas of demonstration components, domain-oriented knowledge representations, and adaptive user modeling components. The HERMES project is exploring a different approach toward achieving end-user modifiability by building into the design environment an English-like end-user programming language [Stahl, 1992 #31]. 6.2 “Seeding” the Critiquing System with Domain Knowledge Whereas ongoing adaptation of embedded critiquing systems is in the hands of designers solving design problems, system builders must create the original conditions that enable and motivate this evolution process to occur. Specifically, system builders must provide initial environments in the form of a seed. We cannot offer an easy-to-follow prescription for successful seed building. Seed building requires a deep understanding not only of the application domain, but also of the practice [Ehn, 1989 #2] of the people who will use the system. System builders cannot hope to attain such an understanding without, at least to some extent, becoming domain experts themselves. But this is generally infeasible. For useful seeds to be built, system-building must be based on a process of mutual education [Greenbaum, 1991 #241] between system builders, who know about building software design environments, and domain designers, who understand the practice of design in the target application domain. The goal of this mutual education process is to establish a shared understanding of what domain knowledge a seed should contain so that it will immediately support the practice of designers within that domain. 6.3 Accumulating Design Knowledge Through Critics Embedded critics play the crucial role of “knowledge attractors” in domain-oriented design environments. Design knowledge surfaces during reflection-in-action, when designers reflect upon the source of breakdowns and devise courses of action for resolving the breakdowns. User observations in using specific critics revealed that when designers were fired a critic rule, they often argued for or against the 26 associated argument and were motivated to describe the reason by articulating pro or counter arguments to the argumentation [Nakakoji, 1993 #242]. The incomplete nature of design knowledge guarantees the argumentation is never complete. Designers who arrive at an innovative resolution to a breakdown may add their arguments to the existing rationale, enriching the information space contained in the design environment. 7. Conclusions Although this paper focuses primarily on a single design environment built for residential kitchen design, the HYDRA- K ITCHEN system, other ongoing research in our group has demonstrated that embedded critiquing systems have broad applicability to a variety of domains and that embedded critiquing systems can be applied to complex, new domains with few accepted design rules and practices, and non-spatiallyoriented domains. The interpretive critiquing mechanism is being explored in the domain of lunar habitat design [Stahl, 1993 #171]. Unlike kitchen design, lunar habitat design is a completely new domain with few design rules and no standardized vocabulary. In domains with few standards, negotiation, argumentation, and interpretation are increasingly important aspects of design. This aspect of the lunar habitat design domain led us to extend our critiquing systems to include interpretive mechanisms. The Voice Dialog Design Environment tests the applicability of critiquing systems to non-spatial domains. The system supports the design and simulation of applications with phone-based interfaces [Repenning, 1992 #33]. In this domain, design units include audio prompts, voice menus, and telephone touch-tone input. Relations between design units are temporal in nature; that is, design units occur before or after certain events in the execution sequence. This design environment is part of a joint research project between the University of Colorado and voice dialog application designers at US WEST Advanced Technologies [Sumner, 1991 #32]. We have demonstrated how embedding critic mechanisms in design environments overcomes many deficiencies found in stand-alone critiquing systems. The generic, specific, and interpretive critics we have explored correspond to three dimensions of embedding. Generic critics are embedded in the construction context because they are enabled by the placement of design units in the work area. Specific critics are embedded in the partial specification by being dynamically constructed from domain distinctions tied to specification items; they reduce the intrusiveness of generic critics by narrowing the enabled critics to those that are relevant to the partially specified task at hand. Interpretive critics are embedded in the network of perspectives that supports the evolution of alternative viewpoints on designs; using these critics, designers are able to consider their designs critically from multiple perspectives. The beneficial role of human critiquing in science, design, and engineering had been socially recognized long before the advent of computational critiquing systems. Our approach of embedding critics into integrated design environments is an important step toward applying the critiquing paradigm to create more useful and usable knowledge-based computer systems . 27 8. References D. G. Bobrow, I. Goldstein, Representing Design Alternatives, In the Proceedings of AISB Conference, AISB, Amsterdam, 1980. B. Buchanan, E. Shortliffe, Human Engineering of Medical Expert Systems, in B. Buchanan and E. Shortliffe (Eds.), Rule-Based Expert Systems: The MYCIN Experiments of the Stanford Heuristic Programming Project, Addison-Wesley, Reading, MA, 1984, pp. 599-612. R. Burton, J. S. Brown, An Investigation of Computer Coaching for Informal Learning Activites, in D. Sleeman and J. S. Brown (Eds.), Intelligent Tutoring Systems, London, Academic Press, 1982, pp. 7998. A. B. Chambers, D. C. Nagel, Pilots of the Future: Human or Computer?, Communications of the ACM, Vol. 28, No. 11, 1985, pp. 1187-1199. J. Conklin, M. Begeman, gIBIS: A Hypertext Tool for Exploratory Policy Discussion, Transactions of Office Information Systems, Vol. 6, No. 4, 1988, pp. 303-331. S. W. Draper, The Nature of Expertise in UNIX, In the Proceedings of Proceedings of INTERACT'84, IFIP Conference on Human-Computer Interaction (Amsterdam), Elsevier Science Publishers, 1984, pp. 182186. P. Ehn, Work-Oriented Design of Computer Artifacts , (2nd ed.), Arbetslivscentrum, Stockholm, 1989. G. Fischer, A Critic for LISP, In the Proceedings of Proceedings of the 10th International Joint Conference on Artificial Intelligence (Milan, Italy), Morgan Kaufmann Publishers, 1987, pp. 177-184. G. Fischer, Communication Requirements for Cooperative Problem Solving Systems , Systems, Vol. 15, No. 1, 1990, pp. 21-36. Informations G. Fischer, Supporting Learning on Demand with Design Environments, In the Proceedings of Proceedings of the International Conference on the Learning Sciences 1991 (Evanston, IL), 1991, pp. 165-172. G. Fischer, Domain-Oriented Design Environments, In the Proceedings of 7th Annual Knowledge-Based Software Engineering (KBSE-92) Conference (MCLean, VA.), IEEE Computer Society Press, Los Alamitos, CA., 1992, pp. 204-213. G. Fischer, Turning Breakdowns into Opportunities for Creativity, in E. Edmonds (Eds.), Creativity in Cognition, Penrose Press, (in press), 1993. G. Fischer, A. Girgensohn, End-User Modifiability in Design Environments, In the Proceedings of CHI'90 (Seatle, WA.), ACM Press, 1990, pp. 183-191. 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. 28 G. Fischer, A. C. Lemke, T. Mastaglio, A. Morch, The Role of Critiquing in Cooperative Problem Solving, ACM Transactions on Information Systems, Vol. 9, No. 2, 1991, pp. 123-151. G. Fischer, A. C. Lemke, R. McCall, A. Morch, Making Argumentation Serve Design, Human Computer Interaction, Vol. 6, No. 3-4, 1991, pp. 393-419. G. Fischer, A. C. Lemke, T. Schwab, Knowledge-Based Help Systems, In the Proceedings of Human Factors in Computing Systems, CHI'85 Conference Proceedings (San Francisco, CA) (New York), 1985, pp. 161-167. G. Fischer, R. McCall, A. Morch, Design Environments for Constructive and Argumentative Design, In the Proceedings of CHI '89 (Austin, Texas), ACM Press, New York, 1989, pp. 269-275. G. Fischer, K. Nakakoji, Making Design Objects Relevant to the Task at Hand, In the Proceedings of AAAI91, Ninth National Conference on Artificial Intelligence (Cambridge, MA), AAAI Press/The MIT Press, 1991, pp. 67-73. A. Girgensohn, End-User Modifiability in Knowledge-Based Design Environments, Unpublished Ph.D. Dissertation, Department of Computer Science, University of Colorado at Boulder, 1992, Also available as TechReport CU-CS-595-92. J. Greenbaum, M. Kyng, Design at Work: Cooperative Design of Computer Systems , Lawrence Erlbaum Associates, Hillsdale, NJ, 1991. J. R. Hackman, R. E. Kaplan, Interventions into group process: An approach to improving the effectiveness of groups, Vol. 5, 1974, pp. 459-480. R. Johansen, Groupware: Computer Support for Business Teams , Free Press, New York, 1988. J. Kolodner, Improving Human Decision Making through Case-Based Decision Aiding, Vol. 12, No. 2, 1991, pp. 52-68. J. Lave, Cognition in Practice , Cambridge University Press, Cambridge, UK, 1988. A. C. Lemke, G. Fischer, A Cooperative Problem Solving System for User Interface Design , In the Proceedings of Proceedings of AAAI-90, Eighth National Conference on Artificial Intelligence, AAAI Press/The MIT Press, Cambridge, MA, 1990, pp. 479-484. R. McCall, PHIBIS: Procedurally Hierarchical Issue-Based Information Systems, In the Proceedings of Proceedings of the Conference on Architecture at the International Congress on Planning and Design Theory (New York), American Society of Mechanical Engineers, 1987. K. Nakakoji, Increasing Shared Knowledge of Design Tasks Between Humans and Design Environments: The Role of a Specification Component, PhD Dissertation Thesis, Department of Computer Science, University of Colorado at Boulder, Boulder, CO, 1993. D. A. Norman, Things That Make Us Smart , Addison-Wesley Publishing Company, Reading, MA, 1993. 29 H. Petroski, To Engineer Is Human: The Role of Failure in Successful Design , St. Martin's Press, New York, 1985. M. Polanyi, The Tacit Dimension , Doubleday, Garden City, NY, 1966. K. R. Popper, Conjectures and Refutations , Harper & Row, New York, 1965. R. Prieto-Diaz, P. Freeman, Classifying Software for Reusability, Vol. 4, No. 1, 1987, pp. 6-16. A. Repenning, T. Sumner, Using Agentsheets to Create a Voice Dialog Design Environment, In the Proceedings of Symposium on Applied Computing (SAC '92) (Kansas City, MO), ACM Press, 1992, pp. 1199-1207. H. Rittel, Second Generation Design Methods, in N. Cross (Eds.), Developments in Design Methodology, John Wiley & Sons, New York, 1984, pp. 317-327. H. Rittel, M. M. Webber, Planning Problems are Wicked Problems, in N. Cross (Eds.), Developments in Design Methodology, John Wiley & Sons, New York, 1984, pp. 135-144. D. A. Schoen, The Reflective Practitioner: How Professionals Think in Action , Basic Books, New York, 1983. B. Silverman, Survey of Expert Critiquing Systems: Practical and Theoretical Frontiers, CACM, Vol. 35, No. 4 (April 92), 1992, pp. 106-127. H. A. Simon, The Sciences of the Artificial , (second ed.), The MIT Press, Cambridge, MA, 1981. G. Stahl, Toward a Theory of Hermeneutic Software Design , No. CU-CS-589-92, Computer Science Department, University of Colorado at Boulder, 1992. G. Stahl, Supporting Interpretation in Design, Journal of Architecture and Planning Research (Special Issue on Computational Representations of Knowledge), 1993 (Forthcoming). G. Stahl, R. McCall, G. Peper, A Hypermedia Inference Language as an Alternative to Rule-based Expert Systems, In the Proceedings of submitted to Expert Systems ITL Conference, 1992. T. Sumner, S. Davies, A. C. Lemke, P. G. Polson, Iterative Design of a Voice Dialog Design Environment , Technical Report No. CU-CS-546-91, Department of Computer Science, University of Colorado at Boulder, 1991. T. Winograd, F. Flores, Understanding Computers and Cognition: A New Foundation for Design , Addison-Wesley, Menlo Park, CA, 1986. 30