I usually only make it to one conference a year, but in 2004 I had the unusual pleasure (or duty, depending on your point of view) of attending both CHI in Vienna and OOPSLA in Vancouver. (Next year I will do the W’sWarsaw and Walla Walla). I presented my own material on user-centered design and had the opportunity to attend tutorials on two very different approaches to improving the usability of interactive systems.
A Cognitive Approach to Interactive System Design
Mike Atwood and Tom Hewett’s A Cognitive Approach to Interactive System Design at the CHI conference was a full-day tutorial, based primarily on Cognitive Task Analysis in the form of Goal-Oriented Modeling with a supporting role for Cognitive Walkthroughs. We spent the morning session looking at the basics of these techniques and reviewing the case for improved usability through bad-design examples found in the book Set Phasers on Stun (a collection of technological disasters such as the Therac 25 tragedy where patients were given fatal doses of radiation through a programming error). The afternoon consisted of a workshop during which our impromptu teams designed, prototyped, and walked-through a futuristic vending machine (à la the CHI 2000 design competition).
The center of attention was Goal-Oriented Models (GOMs, not to be confused with Card, Moran and Newell’s GOMS, ending in capital "S"Goals, Operators, Methods and Selectors). These are a form of Hierarchical Task Analysis with a goal at the top, followed by sub-goals, unit tasks and artifacts, as shown in Figure 1. Sub-goals may be further sub-divided as required, always ending with a unit task: in an interactive system, some operation that users can perform such as clicking or dragging.
Although these models can seem trivial at first glance, I believe they are important in focusing attention on how users attain their goals. And of course it is still possible for designers to create models with unrealistic expectations of usersbut that is where cognitive walkthroughs come in. In their tutorial, Mike and Tom use a slightly abbreviated version of Wharton, et al.‘s questions:
- Is the correct action available in the environment?
- How well does its description match your goal?
- When you take the action, does the response from the environment show progress toward your goal?
However, I find when I am trying to teach this, that it is easier to return to Wharton’s four questions and to tie them up with the classic interaction cycle. So my version looks like this:
- How do users know their goal is attainable?
- How do users know what to do?
- How will users know they have done the right thing?
- How will users know they have attained their goal?
Now this may come as something of a surprise if you are primarily involved in HCI, but these questions are profound to software and Web site developers since most will never have considered user interaction in this way. It is especially helpful if combined with good examples of how not to design with users’ goals in mind.
Interaction Design Meets Agility
OOPSLA is the premier software development conference for object-oriented methods. It is possibly one of the longest running in any IT field since it is going to have its 20th anniversary in 2005. There were over 50 (mostly half-day) tutorials available at OOPSLA, but only Jeff Patton’s and my own had very much to do with user-centered designa situation worthy of a separate article in its own right (see, for example, www.usabilitynews.com/news/article2005.asp).
Jeff’s half-day tutorial (also presented at UPA 2004 in Minneapolis) is a marriage between Constantine and Lockwood’s usage-centered design and Agile processes such as eXtreme Programming. Because Agile processes in general are moderately lightweight on design and heavyweight on collaboration, the tutorial makes use of a number of group activities with cards and Post-It® notes.
We worked through several collaborative sessions, establishing user roles and tasks on moveable notes or cards and prioritizing them. These we grouped together on flip-chart sheets, performing a cluster analysis of sorts. The overall approach was certainly very supportive of collaboration and the techniques used helped a lot in visualizing the system requirements. However, although Jeff did talk about user observation, it is not clear how this might feed into the collaborative process. And while the collaboration teams are supposed to include end users, I am personally very skeptical whether user involvement in this kind of process produces usable systems.
My biggest concern is taking tasks out of context. We produced a very effective overview of the system using a kind of scattergram that displayed Time across the horizontal axis and Business Criticality along the vertical. This "Span Plan" is shown in Figure 2. The horizontal slices are the phases in which task implementation may be considered. In theory it would be possible to link tasks performed by the same user role with another set of lines, but what is missing altogether is the original context from which these tasks were plucked. This is exactly what the goal-oriented models provided us. Let’s return to the tea-making model for a moment. While we might decide that adding lemon to tea is not sufficiently critical to the business to appear in the first release of our process, we can see where it belongs in context and know that its omission is not going to make life too impossible for our users (unless they really, really have to have lemon). The same can certainly not be said about boiling the kettle, though, since we have provided no alternative means for doing this. Also, when it does come to implementing the "add lemon" functionality, we know where it goes and could even have made provision for it in the user interface.
So while I am very impressed with the Usage-Centered Design/Agile models when it comes to collaboration, I think we need further techniques, including goal-oriented modeling, to achieve true user-centered design. I do address issues like this in my own tutorial, but there is still a lot of work to be done.
1. Wharton, C., Rieman, J., Lewis, C., & Polson, P. (1994). The cognitive walkthrough method: A practitioner’s guide. In J. Nielsen & R. L. Mack (eds.). Usability inspection methods. New York, NY: John Wiley.
William Hudson (firstname.lastname@example.org) is a principal consultant with Syntagm, Ltd.
©2005 ACM 1072-5220/05/0100 $5.00
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2005 ACM, Inc.