Session 5

Exploring Theories of HCI


Software Systems

Exercise 7: User Diversity and Interaction Styles


You have begun to explore some of the theories proposed for explaining user behavior and for designing user interfaces. You have read Sections 2.1-2.4 in the text Designing the User Interface.


  1. To consider the unique and common features brought to a task by different kinds of users.
  2. To consider the relative benefits and costs of different interaction styles.
  3. To explore the interaction between user diversity and interaction style.


Break off into teams of three or four people based on assignment in class.

  1. Discuss the classification of user types defined by Shneiderman in Section 2.4.1. Identify at least one way in which this three-group classification might be insufficient for approaching an arbitrary user population. Define a fourth category of user based on your idea and list some features of this kind of user.

  2. Discuss the five primary interaction styles defined by Shneiderman in Section 2.4.3. See especially the box on Page 72. Identify at least two examples of each style from your experiences as software users. Try to make at least one example of each style be one in which that style is the primary way that users interact with the software.

  3. Discuss the appropriateness of each interaction style for each of the four categories of user from Task 1. Be sure to list reasons that one style is or is not appropriate for a particular kind of user.

At the End

  1. You possess a sheet summarizing your conclusions for all three tasks.
  2. Each group will present some of its conclusions.

Summary from Exercise 7

What was your fourth category for Task 1?

Shneiderman's categories represent points in a multi-dimensional space. What are the dimensions? Can you identify other dimensions relevant to the problem of classifying software users? Answering these questions may help you identify other relevant classes of user.

We could look at his categories as three items from a 2x2 classification. One dimension is frequency of use (infrequent or frequent), and a second is level of knowledge (novice or expert). The "missing" category is a frequent user who remains a novice. Is that even possible? Well, some users (children, perhaps older folks, people with some illness) may have insufficient enough long-term memories that they remain in this class, despite frequent use.

The knowledge dimension could actually refer to two kinds of knowledge: knowledge of the tool or knowledge of the task domain. I think that Shneiderman is referring to the former, but what role does the second kind of knowledge play in user interaction with a program? What might a domain expert/tool novice look like to our piece of software?

The notion of task domain is perhaps more important than Shneiderman's book lets on. Think about the relationship between a writer and a word processor. Some of you commented last week that designing a word processor was difficult because the the tool was so "simple", but I think the real problem is that, as writers yourselves, you have great knowledge of the domain--and the creators of word processors have matched many of their users' needs. Are CAD systems equally simple? Perhaps not to you and me, but to professional designers and engineers...

Would it make sense for us to have as a design goal to create a tool that a domain expert/tool novice can use immediately?

A common fourth category suggested by students is "drone", the application user "expert" in a very narrow set of uses but otherwise "clueless". How does this person differ from a novice in ways that affect how we might want to design the user interface?

What examples did you find?

(The value in finding examples is to make sure you understand the ideas. The actual answers are almost unimportant!)

Does any interaction style work well for every class of user? Direct manipulation may well. But then why don't we use DM as the primary interaction style for every software system? (Good metaphors are hard to come by...)

What is a "natural language" interface? One that responds to expressions from the user's 'natural' language -- say, English or Spanish. Contrast "natural language" with the artificial languages that we ordinarily use to communicate with computers (programming languages, OS command languages, etc.) What trade-offs do we make between the use of natural and artificial languages?

We do not know how to create natural language interfaces very well yet. I can think of only a few telephone-based systems, with *very* narrow parameters. For example, when making a call from a pay phone and charging the call somewhere else, many companies now ask the caller to "say 'collect', 'calling card, or 'credit card'"...

Closing Comment

Design is about trade-offs. Optimizing any one goal is not usually a good idea.

Exercise 8: Eight Golden Rules of Interface Design


You have read about several sets of principles of good interface design, including Shneiderman's eight Golden Rules (Section 2.5 in Designing the User Interface). You have read a fictionalized account of the potentially dangerous effects a poor inter face can have on a user.


  1. To explore interface design principles based on your collective experiences as a software user.
  2. To make connections between these design principles and the development life cycle of software.


Work in teams of three or four people based on the number in the upper right-hand corner of this page.

  1. Make your own list of "eight golden rules" for interface design. You may use some of Shneiderman's rules, but at least four of the rules must be rules of your own design. Be sure to explain what each of your new rules means. Why did you delete the rules from Shneiderman's list that you deleted? In what ways do your improve on the deleted rules?

  2. List steps that can be taken during software development to ensure a good user interface. Rank these steps from most important (=1) to least important (=n). Classify each technique as belonging to the analysis, design, implemen tation, or maintenance stages of the life cycle.

At the End

  1. Your group submits a written report of your results from the two tasks. Your report should summarize any discussion that ensued and should answer any questions directly asked.
  2. Each group will present some of its conclusions.

Eugene Wallingford ==== ==== January 23, 2001