Position Paper for the
CHI '96 Basic Research Symposium
(April 13-14, 1996, Vancouver, BC)

Bringing HcI and hCI Together

Susanne Jul
University of Michigan
1101 Beal Av.
Ann Arbor MI 48109 USA
E-mail: sjul@umich.edu

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 Engineering.


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:
  1. Characterize user-centered criteria and metrics for evaluating application quality within the given domain.

  2. Determine what primitive application elements are indicated by these criteria and metrics.

  3. Integrate the engineering constraints of the available technology and these primitives.

  4. 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 seen.

The work is in its formative stages and, as yet, presents no results.