Human-Centered Computing

is a computer systems engineering methodology

based on the scientific study of cognition in people and machines, especially understanding the differences between perceptual-motor/cognitive/social aspects of people and present-day computer systems

with the objective of developing computer systems that fit human capabilities and practices by exploiting and improving AI programming methods.


A Different view of people -> A Different view of what tools can be -> A Different view of the design process


HCC is to the rest of software engineering as architecture is to structural engineering. We specialize in "what to build," generating new design concepts, plus working with users in requirements analysis and evaluation.


Design in the Context of Use Methodology:



NASA's HCC research promotes the use of formal modeling as a design tool, for both software engineers and users. Our models integrate multiple views: workflow, information processing tasks, reasoning, and situated action.

The key heuristic in analysis and design of HCC systems is to study and facilitate conversations between people, such that automation is a means for knowledge creation, communication, and collaboration.

Of special interest are applications that involve multiple disciplinary views in scientific discovery and engineering design, with collaboration at a distance.

HCC research involves developing concepts, tools, and design methods for realizing these ideals.

William J. Clancey, March 1999


Back to William J. Clancey Home Page