Skip to content

Engineering NPACI Software for Usability

onsider VCR clocks. For years, consumers complained about the blinking 12:00…12:00…12:00s while
manufacturers insisted that they had provided instructions for setting the digital timepieces. Many consumers
found the instructions confusing and didn’t bother setting their VCR clocks. It turned out that there was a reasonable alternative: manufacturers could use time signals from TV channels to set the VCR clocks automatically. Once they began doing that, VCR clocks kept accurate time more frequently.

The evolution of VCR design to provide more effective and accessible time-keeping provides a lesson to developers of consumer appliances and complex software. Ultimately, our software must be easy to use, minimize the possibility of error, and enable users and application developers to access the full functionality of the underlying system. The NPACI partnership is focusing on usability as a fundamental characteristic of our software infrastructure so that our computational and data management resources are more accessible and effective for existing and new users.

The process of making software effective, efficient, and satisfying to use is called usability engineering. This process makes it possible to:

• Find ways to capitalize on what users know so that less learning is required to use software.

• Minimize opportunities for error by structuring operations so they match users’ common-sense notions about software behavior.

• Help the user recover easily when errors do occur (for example, by incorporating "undo" functions).

Usability engineering is not just a matter of developing a more aesthetic user interface or writing better documentation. It involves understanding the tasks users need to accomplish and how they think about those tasks. Drawing on that base, usability engineering establishes what functionalities should be available to the user at specified points and how those functionalities can be more obvious and natural.

With NPACI’s increasingly complex programming environments and the challenge of building software for coordinated distributed platforms like the TeraGrid, it’s even more important that our software support users as they try to solve the next generation of scientific questions. Usability engineering should be incorporated in the design and development of software from the start, but it is also critical in readying software for widespread use. As software designers shift from prototype development to production, usability engineering is part of the necessary hard work that makes the final application easy to use.

Over the last year, we began to apply structured usability assessment and improvement to NPACI-related software. An important example of this is the Storage Resource Broker (SRB), which is undergoing usability engineering with NPACI partner and Earth Systems Science thrust co-leader Cherri Pancake.

The SRB technology is being used in the production mode to support digital libraries, data grids, and persistent archives. These systems use either C Library interfaces or Unix shell commands to manage their digital holdings. To enable the dynamic creation of collections, a new Web-based interface called MySRB is being developed to manage and explore data across distributed heterogeneous sites.

A key factor for MySRB effectiveness is the need for special data, called metadata, to track where and how data sets are stored, what they mean, and how they should be used. Metadata is needed for data to be used by anyone other than the original data providers. The higher the quality of the metadata, the more likely the digital archives will be used in the future.

The MySRB interface provides functions for creating a collection, adding metadata attributes, and manipulating the associated digital entities, all of which makes usability engineering of the interface design essential. An initial usability review showed that the functions should be simplified to avoid ambiguity, reduce complication, and minimize user error.

We are restructuring the MySRB user interface to do a better job of guiding users through the process of developing and managing metadata. Usability engineering is being applied to restructure what users see and when they see it to better match how they go about creating, changing, and browsing metadata. The new interface eliminates many opportunities for user error and improves self-instruction and usability by presenting MySRB’s functionality in ways that are more obvious to scientific users.

The information and data management infrastructure being developed by NPACI partners is intended for broad use by computational scientists, engineers, students, and others. Developing, hardening, and engineering our products for usability are key steps in helping users access our resources easily and effectively. Usability engineering methods can be applied to community codes, application environments, data repositories, and even VCRs.

Experience in science and industry has shown that usability engineering can make a dramatic difference in how well, and how widely, software is adopted. While usability has become a fundamental tool in developing consumer electronics, it is also essential to NPACI as increasing numbers of our collaborative research teams rely on environments supported by distributed data archives, grid computing, remote sensors, personal digital assistants, and many other technologies.




By Fran Berman

NPACI and SDSC Director