



Department of Computer Science and Institute of Cognitive Science
University of Colorado
Boulder, CO USA 80309-0430
Email: sumner@cs.colorado.edu
There are very pragmatic reasons why it is important that
the tools used by these designers effectively support their
design activities and enable them to create better designs
more efficiently. Towards this end, numerous research
efforts are focused on creating various types of design
support environments
[3, 4, 7] .
However, a major research challenge is to construct design
support tools that are capable of evolving to match the rate
of change within dynamic design domains.
The research presented here is concerned with creating
evolutionary software tools to support the design activities
of skilled professionals in rapidly changing domains. The
approach taken has been to observe professional designers
in the workplace using the tools of their choice to perform
their daily design activities. The assumption is that by
analyzing the situations where current practices excel and
breakdown, requirements for the next generation of design
support tools can be determined. This approach differs from
previous work
[7]
in
that the empirical methodology revolves around long-term
observations of both designers and their tools solving real
design problems.
The case study illustrates how designers rely on collections
of off-the-shelf software applications, referred to as
"toolbelts," to create a variety of design representations.
Over time, designers evolve these initially generic toolbelts
through a process of domain-enriching to make their own
domain-specific design environments. Domain enriching
involves recognizing and incorporating important domain
distinctions into design representations.
This paper begins by describing the toolbelt model and
comparing it with both theoretical models of design and
empirical studies of designers in order to identify its
strengths and weaknesses. Next, a long-term case study
involving professional designers of phone-based user
interfaces is used to illustrate and analyze the toolbelt
model. Finally, the implications of these findings for both
application designers and creators of design support tools
are discussed.
While some designers rely on "traditional" media such as
paper and pencil, increasing numbers rely on software
tools. Often, these design professionals assemble
collections of off-the-shelf software tools as needed to
create the necessary design representations. I refer to these
software collections as "high-tech toolbelts" because each
designer assembles her personal collection just as a
carpenter assembles a collection of hammers, screwdrivers,
tape measures, etc. into a personal toolbelt. Figure 1
illustrates the toolbelts used by the designers in this study.
FIGURE 1:The
Toolbelt Model
The designer assembles a collection of
software tools and uses them to create
different design representations. In the case
shown here, the designer used a word
processor (MS Word1) to create text
documents, a flow charting tool (TopDown1)
to create flow charts, and a database (
FoxPro1) to create tables.
Typical off-the-shelf software tools include word
processors, spreadsheets, databases, flow charting tools, and
CAD systems. Each tool is good at making a different type
of representation. For instance, spreadsheets provide a lot
of support for making tabular representations while flow
charting packages make it relatively easy to construct node-
link types of representations. Thus, one strength of the
toolbelt model is that designers can flexibly pick and
choose from a selection of relatively inexpensive, off-the-
shelf tools and find ones that provide decent support for
making the necessary representations.
However, designers often end up in a situation where
different tools are needed for each different design
representation. This situation is problematic because the
different representations are usually interrelated; i.e., they
are different views of the same information. Now, when the
designer changes part of the design in one representation,
she must remember to manually carry out the related
modifications in all other representations. This makes it
very difficult to modify the design because small changes in
one representation can trigger a series of changes in other
representations. Suddenly, that seemingly small task has
blossomed into a large and tedious job. This "blossoming"
effect hinders iterative design because designers are
reluctant to make changes due to the effort required.
Following an iterative design process is not only desirable;
it is often necessary, because existing requirements change
and new ones are uncovered as design proceeds
[1, 6].
Thus, a weakness of the toolbelt model is that it hinders
iterative design.
Empirical studies indicate that many design errors result
from designers' cognitive limitations when managing such
dependencies across representations
[8].
Besides the danger of introducing errors when making the
necessary changes across multiple representations using
different tools, the designer must remember to make the
changes in the first place. Thus, another weakness of the
model is that the resulting toolbelt provides significantly
suboptimal support for the design activity in that it does not
help designers to deal with either the cognitive or manual
burden of managing dependencies across design
representations.
The following case study serves several purposes. First, its
illustrates the toolbelt model and its strengths and
weaknesses. Second, a detailed analysis of this case suggest
how future software tools might be designed to overcome
the weaknesses identified. And third, a look at how the
designers' practices, tools, and representations have
evolved over time allows us to compare the toolbelt model
with alternative task- or domain-oriented design
environment models in order to assess the benefits and
limitations these different approaches.
The domain studied here is the design of voice dialog
applications; i.e., software applications with phone-based
user interfaces. These phone-based interfaces consist of a
series of voice-prompted menus requesting the user to
perform certain actions; e.g., "to listen to your messages,
press 1." The caller issues commands by pressing touch-
tone buttons on the telephone keypad and the system
responds with appropriate voice phrases and prompts.
Typical applications are voice information systems and
voice messaging systems. Voice dialog applications are an
important technology for many businesses because they
reduce the need for human phone operators and provide
callers with direct access to information concerning
business services. Designing in this domain means
specifying the interface for an application at a detailed
level.
Depending on the size and complexity of the application
being developed, this overall design process can take from
six months to two years. In summary, the design process is
long, complex, highly iterative, and involves a
multidisciplinary group of stakeholders (marketers,
designers, testers, simulation builders, vendors).
Collaboration and communication between the stakeholders
is made more difficult by the geographical distance
separating them. The designer, marketers, and vendors
typically reside in different states and much communication
occurs via conference calls using standard telephones.
The flow chart is the core interface design representation
(Figure 2). It consists of different kinds of nodes filled with
text. The nodes represents common entities found in the
domain, such as audio prompts, voice menus, decisions,
and audio messages. These flow charts specify the control
flow of the interface, possible user actions, and the text of
all audio prompts and messages in the interface. Flow-
charting tools such as TopDown or MacFlow1 are used to
create this representation. Flow charts are primarily used to
communicate with the marketing group and the simulation
builder during design. However, these charts are also used
by the vendor when implementing the design and by
customer support representatives who must diagnose
problems with the application after its release.
Figure 2 shows an excerpt from a flow chart depicting a
voice messaging system interface. The chart illustrates that
to change a security code, the caller must first navigate
through two voice menus (Main Menu and Personal
Options) and then listen to an audio prompt requesting the
caller to enter 4 digits followed by the # sign. As this
example illustrates, the different domain-specific entities
have unique appearances and content. These appearances
and content are built up by the designer using graphic
primitives provided by the flow charting tool, such as text,
boxes, and shading. Voice menus consist of a title (the
shaded rectangle in Main Menu, Figure 2), an audio prompt
(the text under the title), and possible actions associated
with touch-tone buttons (the text and small boxes below the
text). Each entity in the flow chart is assigned a unique
identifier according to a naming scheme the design group
has created (e.g. "MM.01" for the Main Menu in Figure 2).
This naming scheme facilitates long distance
communication involving the marketing group and the
vendor. When talking over the phone, the stakeholders can
ground their design discussions by referring to "prompt
PO.02."
FIGURE 2: The flow
chart and table design
representations.
The table representation (Figure 2) is constructed primarily
for the vendor who will implement the final application on
a specialized hardware platform. These tables are
constructed using database systems such as FoxPro. Figure
2 shows the table entry for the Personal Options menu. For
every entity in the flow chart, there is a corresponding
table. Correspondence between the two representations is
established via the entity's unique identifier. The table
representation is a more detailed elaboration of the entities
in the flow chart. It contains both redundant information
and additional information to that found in the flow chart.
For the example shown in Figure 2, redundant information
includes the unique identifier, menu title, and the menu
prompt. The descriptions of inflows and outflows is another
way of representing the links shown in the flow chart. To
create the table, all this redundant information must be
manually rekeyed in by the designer or explicitly copied
and pasted using direct manipulation. The additional
information includes more implementation-oriented details
such as pseudo-code descriptions of conditionals and events
not shown in the flow chart such as messages spoken in
response to help buttons and illegal input conditions.
Test plans are semi-structured text documents created for
each task the interface supports. These textual
representations are constructed using word processors such
as MS Word. The plans detail the actions that must be
performed and the output that will be heard along a
particular path through the interface. As such, these plans
reorganize information already found in the flow chart and
table representations. The flow chart shown in Figure 2
would yield several test plans including one for changing
the security code and one for changing the recorded
greeting. These representations are used by testers who are
hired to exhaustively test all features of the final product for
compliance with the product's specification.
Other representations containing additional design
information not found in the flow chart, table, or test plan
representations are also constructed. For the most part,
these additional representations are primarily textual in
nature and are constructed using word processors such as
MS Word.
As an example, imagine that usability testing reveals that
most callers want to hear their existing security code before
they change it. The designer decides to add a new
confirmation message between the Personal Options menu
(PO.01) and the change security code prompt (PO.02). This
requires the designer to adjust all subsequent identifiers to
make room for the new message. Additionally, each table
corresponding to a changed entity in the flow chart must
also be updated with the new identifier and all the inflow
/outflow lists must be reworked. Besides being tedious, this
change process is fraught with potential errors in that the
designer must remember which particular entities in the
flow chart changed (a potentially large number) in order
that the right tables be updated with the correct information.
If the test plans have already been constructed, the designer
must also find and update every test plan traversing the path
containing the new message.
This example illustrates how seemingly simple design
changes can blossom into major jobs involving extensive
editing of several design representations created with
different software applications. The hardest part is that the
burden of the change is placed on the designer - she must
remember to make the change and then correctly implement
the change without introducing errors or other
inconsistencies across the representations. Unfortunately,
with existing levels of application interoperability, manual
rekeying and copy and paste using direct manipulation are
the only methods for maintaining these consistencies! Thus,
the cost of iteration (both cognitive and labor) is very high
due to the complex dependencies across design
representations and the lack of tool support for managing
these dependencies.
At the beginning of the period of study, designs were
represented using primarily textual specification
documents. These textual specifications distinguished
between phrases, prompts, and menus. Important
information such as dynamic conditions and help messages
were buried in the middle of paragraphs. These textual
specifications were augmented with simple tables and flow
charts at the request of the vendor organization. The simple
flow charts did not contain the full text of all audio prompts
and phrases in the interface. The tables augmented the
textual description of prompts and menus by depicting all
possible actions and responses. MacDraw1 and sometimes
Excel1 were used to construct the simple tables since early
versions of MS Word did not support tables.
FIGURE 3:The co-evolution of tools and representations
over a three year period.
In 1991, one designer was asked to create one of the most
complex applications to date. He decided it was time for a
whole new approach. The textual specifications were
getting so large and complex that few people bothered to
read them. Those that did had trouble understanding them.
This designer established a personal convention of using
flow charts and a new, complex table as the primary design
representations. His flow charts contained four different
domain distinctions: voice menus, prompts, messages, and
decisions. Tables depicted dynamic conditions using
pseudo-code, showed alternative messages (such as help)
and provided new details on error handling. Excel did not
support the complex layout needed for the new tables, so
the designer switched to a database program called FoxPro.
He used MacDraw for the first flow charts simply because
that tool was readily available. When he later tried to switch
to a flow charting tool, he found that those early
applications could not handle large designs, so he continued
to use MacDraw.
The two representational systems - textual versus flows and
tables - coexisted for about one year. Other designers were
reluctant to switch for two reasons. First, several had long-
term relationships with their vendors and marketers and
were reluctant to switch representations on them. Second,
constructing the flow charts in MacDraw was tedious and
time-consuming.
By mid-1992, several things happened that led to the
emergence of flows and tables as the primary design
representations. First, new versions of flow charting tools
(e.g., TopDown) had greatly improved their capacity. Using
these tools made it much easier to construct the flow chart
representation. Second, new designers were hired to embark
on a long series of enhancements to an existing product.
These new designers readily adopted the flow and table
representations.
The designers began to elaborate on the flow and table
representations. New domain distinctions emerged such as
inputs, error handlers, and digit collectors. A new release of
TopDown supported patterned arrows and designers began
to use these patterns to differentiate between different types
of flow control. The vendor liked the formality of the table
representation and suggested ways to formalize the pseudo-
code parts even more.
Today, due to the dependencies between representations, it
is difficult to maintain the table representation when
iterating the design. One designer experienced this in a
major way when the market group asked him to redo large
parts of a design for which the tables had already been
constructed. Most of the tables had to be significantly
reconstructed. For this reason, designers are increasingly
deferring constructing the table representation until later in
the design process.
Not shown in Figure 3 are further signs of major change
looming on the horizon. One designer has started working
with a new vendor who (so far) has not required the table
representation. In another new design, the marketers were
dissatisfied with the increasing complexity of the flow
charts; they think simplification might be in order.
Looking back over the course of this study, it is clear that
several factors influenced the co-evolution of the designers'
tools, representations, and practices:
FIGURE 4:Domain-
enriching is a process
whereby domain
distinctions emerge and
representations evolve
to incorporate these
emergent distinctions
over time.
The cost of iteration would be lowered if tools could be
extended to automatically manage the dependencies
between design representations. The observed process of
domain enriching suggests necessary extension mechanisms
to allow designers to "tune" their toolbelts to better support
their design practices:
The emergence of compound document architectures such
as OLE
[16]
and
OpenDoc
[12]
offer
hope that creating tools that provide designers with such
mechanisms will soon be possible. These architectures
provide a standard way for applications to expose their
internal objects for extensibility and programmatic control.
However, these architectures by themselves do not
guarantee that the resulting extension mechanisms will be
either useful or usable for end users such as the designers in
this case study. The prevalent attitude in the software
development community is that the key benefit of these
architectures is how they enable assembling or bundling an
initial collection of smaller components to form a cohesive
toolbelt
[17]. As
this study shows, the benefit is not in the initial bundling;
the benefit is in supporting end users to evolve the tools
over time. Cohesiveness emerges as end users enrich the
tools with knowledge about important domain distinctions
and the relationships between domain distinctions. Thus,
end users need to be provided with mechanisms supporting
the types of extensibility or design-in-use
[9]
needs
uncovered in this study.
Fischer
[4]
has
long advocated the construction of knowledge-based
domain-oriented design environments. He has noted that
one of the key challenges when creating such environments
is providing the necessary flexibility to support tasks not
envisioned by the creators of the design environment
[3].
Several approaches towards providing the necessary
flexibility have been pursued, such as providing end user
modification substrates
[5]
and
programmable design environments
[3]. Both
of these techniques have emphasized enabling users to
enrich their environment by describing new entities or
operations. However, these approaches do not address the
need for design representations to undergo significant
evolutionary change, e.g., changing from flow chart to table
representations. Thus, these domain-oriented design
environments may lack the flexibility needed to keep up
with changing practices in rapidly evolving domains. The
research presented here suggests that domain-oriented
design environments with the required flexibility can be
constructed by building on off-the-shelf software
components.
Until recently, Nardi had advocated the advantages of task-
specific tools
[10].
Similar to Fischer, her recent empirical work found that
specially constructed task-specific tools are too inflexible to
support the activities of professionals
[11]. She
also discovered that the definition of "task" was highly
individual and depended on the fluctuating goals of the
people involved. She found that professional slidemakers
preferred collections of interoperable components to task-
specific tools, and she suggested that such tools be tailored
to capture regularities in their daily work
[11]. The
results of the voice dialog design case study suggest that the
ability to describe domain distinctions and establish
dependencies across tools based on these domain
distinctions are two specific types of tailoring that
professional designers require.
While the analysis here is based on a single case study, the
basic finding that professionals need the ability to tune
generic tools into their personal toolbelts is a general one.
Preliminary interviews with designers of a multimedia title
(i.e., an interactive book) have yielded similar evidence for
the need to tune toolbelts via domain-enriching. The
toolbelt used by this design team consisted of MacroMind
Director1, MS Word, and a half dozen other applications for
creating visual effects. During the course of several months,
the design team evolved a set of domain distinctions and
incorporated these distinctions into their representations.
They had problems iterating their design due to the
dependencies between design representations.
Keywords:
Design, Design environments, Domain-
orientation, End user modifiability, Iterative design,
Interoperability, Tailorability, Task-specificity
Introduction
In today's workforce, there are many skilled professionals
engaged in design activities. These designers often work in
emerging high-technology domains such as computer
network design, user interface design, or multimedia title
design. Domains such as these are characterized by rapid
and continual change as underlying technologies evolve.
Projections on the workforce of the next century indicate
that skilled designers working in rapidly evolving domains
will become increasingly prevalent in the years ahead
[13].
THE TOOLBELT MODEL
A major part of a designer's job is to create and evolve
external representations of the design being constructed
[15].
These representations occur in many forms such as textual,
tabular, or diagrammatic. An important activity for expert
designers is figuring out what representations to use or even
creating new ones if necessary
[1]. For
several reasons, more than one external design
representation is typically required. First, different design
representations at different levels of abstraction support
designers to engage in opportunistic design
[6].
Second, design activities in the workplace usually involve
several different stakeholders from a variety of
backgrounds
[14].
Often, designers must construct several external
representations to facilitate communication and
collaboration with each stakeholder group
[2].
CASE STUDY: VOICE DIALOG DESIGN
The study presented here is part of a long-term
collaboration between user interface designers at US WEST
Advanced Technologies and researchers at the University
of Colorado. This analysis of design practices is the result
of a combination of workplace observations conducted over
a three year period, field notes, and open-ended interviews
with members of the design group.
The Larger Design Process
The designers described in this study are hired by
marketing groups to design the functionality and interfaces
of voice dialog applications. Once a design has been
approved by the marketing group, the designers are
responsible for overseeing the implementation of the
application by external vendors and testing the final
implementation for compliance with the approved design
specification. Often, the actual work of testing the interface
is contracted out to external consultants. Typically, the
market group approaches the design group with an idea for
a new product or service and the results from some
preliminary market analyses. The designer uses this
preliminary information to create one or more initial
designs. Programmers construct simulations of the design
which are then used by the designers to get feedback from
the market group and to perform user testing on the design.
The results from using these simulations feed back into the
next iteration of the design.
What Designers Do: Construct Multiple Representations
There are two main facets to the designer's job: constructing
the design and communicating the evolving design to all
design stakeholders. The two are interrelated in that to
communicate the design, the designer must construct design
representations that communicate with each stakeholder
group. As one designer noted, "the critical problem is
communicating the design to other people in a way that
doesn't require a lot of specialized training [on their part]."
Towards this end, the designers have created different
design representations tailored to the special needs of each
of the major stakeholder groups. Figure 1 illustrates the
various representations that are constructed.
Iterating the Design: How the Tools (do not) Fit
Together
As described above, there are complex relationships
between the various design representations, with data in one
representation being dependent upon data in another
representation. It is important that consistency be
maintained between the various inter-dependent
representations as the design undergoes modification in
response to the demands of marketing, changing technical
requirements, and the results of usability testing.
The Co-evolution of Representations, Tools, and
Practices Over Time
The previous description of the major representations is
only a snapshot in an ongoing evolutionary design process.
As shown in Figure 3, the design representations
themselves have undergone a series of major and minor
changes throughout the three years that this study
encompasses.
Domain Enriching
This study illustrates how domain distinctions pertinent to
voice dialog design emerged over time as a product of the
interaction between designers, their tools, and other design
stakeholders. In language, "distinctions" are articulated
objects and qualities that arise through recurrent patterns of
breakdown in concernful activity
[18].
Likewise, domain distinctions in design emerge through
recurrent breakdowns between designers, their tools, and
other design stakeholders. As the domain distinctions
emerged, they were incorporated into design
representations. Over time, the representations became
more formalized, containing more domain distinctions
depicted with greater levels of detail (see Figure 4). The
representations also became increasingly interdependent as
they shared important distinctions. While the tools
themselves were generic in that they had no built-in
knowledge of the domain distinctions, the conventions and
practices that arose around these tools took on a decidedly
domain-specific flavor. The result of this evolutionary
process is that the designers created a domain-oriented
design environment by enriching their own practices and
conventions to reflect important, emerging domain
distinctions.
RECOMMENDATIONS FOR IMPROVING THE TOOLBELT
In summary, the primary strength of the toolbelt model is
its support for the flexible creation of multiple design
representations. The flexibility of the model manifests itself
in both large and small scales. In the smaller sense, the
flexibility of individual tools supported designers to
gradually evolve domain-specific representations. In the
larger sense, the ability to change one tool for another
without affecting the relationship between other tools and
representations enabled designers to radically change
design representations when the need arose. However, this
pronounced decoupling between different tools and their
related representations is also a major weakness of the
toolbelt model. It significantly raises the cost of iterative
design by forcing designers to manually maintain complex
dependencies across representations.
RELATED WORK
The research presented in this paper recommends providing
designers with flexible generic tools containing
mechanisms to support domain enriching. Several other
research efforts have also investigated domain-oriented or
task-specific design tools.