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.
Break off into teams of three or four people based on assignment in class.
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'"...
Design is about trade-offs. Optimizing any one goal is not usually a good idea.
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.
Work in teams of three or four people based on the number in the upper right-hand corner of this page.