NSF Career Grant Project Summary

Improving the Design of Interactive Software


For many years, the poor design of interactive systems has been attributed to insufficient communication between developers and end users. The problem is compound. Usability practices from the field of human-computer interaction are not integrated into the theory and practice software engineering. Therefore many software developers are unaware of what constitutes good communication between them, end-users, and other stakeholders. Conversely, software developers who attempt to learn and employ usability practices are often faced with high learning curves and expensive-to-implement methods. This research project is pursuing three objectives: 1) developing a model of software development as a process of on-going communication; 2) providing support for this model through active mechanisms in software tools; and 3) improving the accessibility and acceptance of usability methods by software practitioners. In general, the objectives reflect a process and philosophy of human-centered software development.

A specific kind of active support being investigated is a mechanism called expectation agents. Expectation agents are software mechanisms that monitor the usage of prototype systems and detect mismatches between actual usage and developersÕ design assumptions, or, expectations. Such breakdowns are opportunities for communication which make explicit the expectations of both developers and end users. Expectation agents serve as a test vehicle for supporting on-going communication in software development, for adapting usability practices to software practice, and for reinforcing developersÕ understanding of human-computer interaction.

One domain chosen to evaluate this approach is that of form-based interfaces common to many sales situations: company representatives solicit information from a customer, usually over a phone, and record that information in a form. This domain is selected because (1) it commonly occurs in industry; and (2) is restrictive enough to enable tenable solutions to problems of representation, agent implementation, and method evaluation.

This research impacts software engineering along three dimensions: theoretical, technical, and empirical. With respect to theory, the research is developing a model of on-going communication in software development, refining models of the software processes involved in developing interactive systems, and improving the general understanding of the role of usability methods in workplace settings. In the technical dimension, the research provides new algorithms and representations for capturing and communicating design intent and active mechanisms such as expectation agents to operate over design intent. These mechanisms involve both formal and semi-formal representations. The empirical contribution includes a critical analysis of the approach as a means of gathering usability information and, in general, enabling the essential elements of communication in systems development.

The research also impacts the software engineering curriculum. First and foremost, the work augments the software engineering curricula in ways that enable software engineers to accept and appreciate methods of human-computer interaction. Second, the culture of software engineering is such that practice is accompanied by tools and methods. The research project meets this need by adapting, and where possible, automating methods.

The present research builds upon several previous efforts in which the principle investigator participated. Namely, the researcher has previously designed and evaluated interactive systems for scientific computation and has studied how different usability methods contribute to different phases of software development. The current research project extends this progression to the level of providing computer support (through expectation agents) for a human-centered focus within the software development process for interactive systems. The ideas for expectation agents are also in part derived from recent projects on computer-supported cooperative work the researcher participated in as a PhD student at the University of Colorado, Boulder.

A major strength of the project is the collaboration with NYNEX Science & Technology, White Plains. These collaborators contribute experience in cognitive psychology, audio/video telepresence, design rationale, and agent-based systems. Moreover, their installation provides a test bed for evaluating the research.