Position Paper for the
CHI '96 Basic Research Symposium
(April 13-14, 1996, Vancouver, BC)
Bringing HcI and hCI Together
University of Michigan
1101 Beal Av.
Ann Arbor MI 48109 USA
Click here to download a postscript version
of this paper.
My research seeks to begin to develop an applied engineering science based
on the theory and practice of HCI by deriving domain-specific application
frameworks from knowledge of end-user needs. The goal of the research is
to make it easy to design and build "good" applications and difficult
to build "bad" ones by adhering to human-centric criteria for
quality. In the process, I hope to create a common ground between those
HCI professionals who focus more on the Human side and those who focus more
on the Computer side of human-computer interaction.
Application Frameworks, User-Centered Design, HCI Engineering, Software
HCI research has contributed greatly to our understanding of the design
of software to meet the needs of humans. However, our understanding of how
to apply this knowledge in actually building the software is greatly lacking.
There is a gap between the software that is needed (from the human perspective)
and the software that is feasible (from the computer perspective). My research
seeks to close this gap by beginning to develop an applied engineering science
based on HCI theory and practice. I seek to change the way in which application
engineering tools are conceived by introducing consideration of the needs
of end users into the design process. A part of the task is to create a
common ground between those HCI professionals who focus more on the Human
side and those who focus more on the Computer side of human-computer interaction.
The origins of my research lie in the supposition that the tools we use
shape the way we think. I focus on application frameworks-such as the Macintosh
Toolbox, Microsoft Foundation Classes or Motif-the tools that comprise the
building blocks from which applications are built. These tools not only
shape the way engineers think about applications, but form the basis for
communication between the designers and the implementors of the software.
They establish the vocabulary with which software applications are formulated
and, hence, influence the design of those applications in fundamental ways.
Current application frameworks are primitive in their embodiment of understanding
of end-user needs. It is true that GUI-based frameworks such as the Macintosh
Toolbox, capture understanding of visual perception and its interaction
with memory. However, much more is known about users in general, and methods
are available for learning even more about users in specific situations.
My goal is to capture this greater understanding in such a way that it can
be applied to the design of application frameworks. Note that users, in
this context, are the end users of the applications constructed, not the
engineers constructing the applications.
The ultimate goal of the research is for the application framework to constrain
how applications are constructed in order to make it easy to build "good"
applications and difficult to build "bad" applications. Existing
systems neither prevent nor support the building of "good" applications,
but they make building them difficult and costly. From the engineering perspective,
the novelty of the work is that criteria for "good" and "bad"
are derived from the needs of the end users, rather than from the needs
of the engineers and the affordances of the technology. From the human interface
design perspective, the novelty is that design is not of a single application
but rather of a class of applications.
I focus on domain-specific application frameworks. Domain is used here to
mean any user community that is seen to have a unique set of needs of their
software tools. The assumption is that users and tasks within a particular
domain share characteristics that are independent of the particular application.
That is, some portion of the user, task and/or context model is common to
most, if not all, applications in that domain. Capturing these commonalities
and embedding them in application frameworks provides application engineers
with vocabularies and abstractions that are derived from human as well as
technological requirements. These origins cause large portions of the vocabularies
to be shared with human-centric designers.
An example of a specialized domain whose users and applications exhibit
strong commonality is computer-aided design or CAD. CAD users typically
solve spatial problems and have developed an extensive set of cognitive
strategies for doing so. Building CAD applications requires support for
display and manipulation of spatial relationships and for maintaining mappings
among them, regardless of whether these applications support mechanical
engineering or geographic information management. Other example domains
include medical imaging systems, educational software, and software for
the visually impaired. Computer users in general form a noteworthy domain
that can be treated like any other domain.
The fourfold challenge is to understand how to:
- Characterize user-centered criteria and metrics for evaluating application
quality within the given domain.
- Determine what primitive application elements are indicated by these
criteria and metrics.
- Integrate the engineering constraints of the available technology and
- Embody the user-centered criteria and metrics in the integrated framework
so that application
designers and engineers consistently design and build "good" applications
for the given domain.
Figure 1 shows how human- and computer-driven requirements currently affect
application design. I propose to change the flow of information by introducing
a step of domain analysis as illustrated in Figure 2. The purpose of this
step is to identify the user-centered criteria and metrics of the targeted
domain. Separating the domain analysis from the additional analysis required
for specific applications and embodying it in a domain-specific framework
not only helps designers and engineers communicate, but also allows the
analysis to be reused in a very concrete and immediate fashion. The higher
cost of performing this more extensive analysis is offset by the ability
to amortize the cost over a large number of applications.
The actual domain analysis will be based on existing user-centered design
methodologies to identify user, task and context models. That the intended
design is of a class of applications rather than a single application means
that the traditional user/task/context analysis will have to be undertaken
comprehensively, but does not alter the fundamental nature of such analyses.
As the same type of information is required as for application design, new
strategies for data collection should not be required. However, new means
will be needed for data analysis and representation.
A key question lies in representing the results of the analyses in such
a way as to represent meaningful specifications for the design of application
frameworks. I believe that the work of MacLean, et al., on Design Space
Analysis provides a solid foundation for such specifications. Design Space
Analysis identifies and captures the options and criteria considered in
the design of an application. How it applies to identifying and capturing
ranges of options and criteria for classes of applications remains to be
The work is in its formative stages and, as yet, presents no results.