cs349 - s10 - Lecture 17
CS349 - Implementing User Interfaces - Spring 2010
Public Service Annoucements
- Mid-term: 17 June, 2010, MC4059.
Lecture 17 - Users II
Exploiting What Users Know
Two user interface design objectives
Exploit the skills users already have with computers.
Much meaning is created by analogy, often called metaphor in the user
- `Metaphor' refers to the model that users create to learn the behaviour
of an interface.
What English scholars call `not mixing your metaphors' lies very close to
what is meant by congruence.
- Examples of mixed metaphors.
- I have tried to build the course on a solid foundation, and to
teach without allowing its life-blood to be sucked away.
- When implementing user interfaces we should not bury our heads in
the sand and ride rough-shod over the needs of our users.
- When doing assignments you should not throw in the sponge when the
bugs are in retreat.
- What does `not mixing your metaphors' mean?
- The metaphor is the mental model that users have, helping them to
predict how do understand and do things
- For example, the interface is `just like' a desktop. I should
expect to find
- pieces of paper, documents,
- things that collect together pieces of paper, file folders,
(Notice how the Unix usage of `file' is incongruent with the
normal office usage of `file', as in `filing cabinet', and how
desktop systems try to reconcile these two usages by using
`folder' for the thing that Unix calls a `directory' and ordinary
office usage calls a `file'.)
- a waste basket, which is usually on the floor, so it should be
near the bottom of the display.
(Or should it? Surely the display, which is vertical, is
supposed to mimic the horizontal surface of the desktop. If so,
then what logic suggests that the waste basket should be at the
bottom of the display. Obviously, the display simultaneously has
its real properties, like vertical, and its metaphorical
properties, like horizontal.
Sometimes real and metaphorical properties conflict, as in the
Renforth Road sign; more often they coincide. Here's an
unexpected and fortunate coincidence. The transformation of the
desktop from vertical to horizontal loccurs by rotating the top
away from the user. So the bottom of the display corresponds to
the near portion of the desktop, where users' attention tends to
focus when working at a desk. Fortunately, users tend to focus
their attention on the bottom of the display. Exercise for the
reader. Knowing this how do we apportion interface stuff between
the top and bottom of the display?)
- Exercise for the reader. Think about the metaphor intended by the
designer, and the metaphor you use for commonly used interfaces.
- Because the `mental model' is such a powerful way of learning and
remembering it is very common that tutorials, documentation, help systems
and interface presentation all refer to a single metaphor chosen by the
designer, and which the user is expected to learn.
Congruence exists at high and low levels.
- High level
- Desktop metaphor - spatial versus temporal access to things
arranged different ways on the desktop.
- Desktop metaphor - emptying wastebasket
- Low level
- if you `enter' an application, you should `exit' from it;
- if you `start' an application you should `end' it;
- if you `open' an application, you should `close' it
At the basis of these objectives
- What do users know?
- They will augment knowledge they have already when they are
learning an interface.
- How do users learn beyond what they know?
- Learning should be, as much as possible, incremental
Ways of changing knowledge = `learning'
Techniques of learning
- Trial-and-error: putting on a nut, riding a bicycle
- Practice = rehearsel: using a hammer, playing the piano.
- How-to-do it descriptions: cookbook recipes
- Modification of examples: making html pages
- Solving a problem: and remembering that we did it.
- Analogy is a common way of solving problems, and of remembering the
All these take time.
- 1, 2: do it over and over again. If you can do it slowly, do it as
slowly as you need to , then speed it up with practice
- 3, 4: break what you want to learn down into parts that you can do
- 5: assembling facts, mental rehearsel of plans
- How much time?
- What incentives are we (users) normally given to spend the time?
Users are assumed not to be using interfaces just for the fun of using
interfaces. They are assumed to be using them because they have some other
goal, writing lecture notes for CS349, creating a memo that will get a raise
from their boss, etc. They want to use as little mental effort as possible
managing the interface, so that they can concentrate as much effort as
possible on their real goal. This leads to two important principles.
- The less learning users have to do the better.
- The less thinking user have to do the better.
To arrange this take advantage of `learning transfer':
- within an interface
- between one interface and another
- between an interface and life
The main tool we have for arranging these properties is look-and-feel
- the important point: these communicate with the lower levels of the
- They are only poorly communicated by words
The obvious goal is to have the user select the correct response as
effortlessly as possible. This means that an interface should communicate its
metaphor as implicitly as possible; but the communication mode must be very
reliable. Misunderstanding the metaphor, and at a low level of processing
where processing is effectively unlimited (ie.e, effortless) can be
error-prone. Fortunately, the lowest levels of communication are the most
error-free; unfortunately, they are the hardest to use effectively. They
utilize users' abilities to synthesize a large number of low level cues into
the holistic perception of a particular environment.
Users have strong abilities to associate collections of perceptual and
motor responses to particular environments. When they do so they associate a
collection of specific low-level responses with a particular
environment/interface. For example, when you are driving in a car, even in
the passenger seat, a traffic light changing from green to yellow
automatically activates fast-twitch muscles in the thigh and calf of the
right leg. The same does not occur when you are walking, where you experience
the same visual stimulation in a different environment.
`The collection of features we describe as an interface's look-and-feel
should define it aa a specific cognitive environment.' At least this would be
true in a world where each interface is completely separate from every other
interface and from every non-computer environment inhabited by users. But the
reality is, that environments are composed of many parts and that
subcollections of parts are specifically associated with subcollections of
responses. Thus, environments interpenetrate each other on many levels.
Doing the best thing consistently and comprehensively is not easily
learned, and is usually the result of a lifetime of sensitivity to all the
different cognitive environments we inhabit. The next few sections are only a
very brief introduction to a topic that is both important and subtle.
How do we go about decorating a house?
- to create different activity levels and moods
- to make salient (cognitively available) things that are used
- improve decisions about what to use
- to make ourselves - and others - comfortable with the activities that
ought to go on in these spaces
- to make ourselves - and others - feel good
Exercise for the reader. Turn all these - and more - aspects of the
house-decorating metaphor into the corresponding features of the user
What do we want in the feel of something?
- predictability, so we can learn muscle activitation sequences
- timed to 1 millisecond precision
- predictability is essential for transferring stuff to lower levels
- low level feedback (mostly muscle stretch receptor feedback)
- probably the most important level of monitoring and control
- fit with user abilities and capabilities
- It's obvious, but easy to overlook, that users have windows in
their sensory and motor capabilities, and they need the demands and
information content of a task to be within these windows of
Note. Most look is programmable, but the same code is not guaranteed to
have the same look on different platforms. Even more so the programmable
portion of feel is not guaranteed to be the same on different platforms. (The
Macintosh interface, which cares more about this than any other, handles this
problem by running only on one particular set of - often over-priced -
hardware. The obvious generalization for this practice would be standards for
hardware. Research topic. Develop ways of having reproducible feel in
instances of a user interface running on different hardware
How to create a uniform look-and-feel
- UI architect
- trusted by implementers
- has absolute power
- Apple did this by making its UI people into industry super-stars
- (Part of the result was generally excrable implementation.)
- User interface toolkit
- appeal to lower nature of implementers
- Widely understood metaphor
- appeal to higher nature of implementers
Note. It is possible to appeal simultaneously to the higher and lower
nature of implementers.
User Interface Toolkits - A history
What we're usually talking about when discussing `look-and-feel'.
Here's the problem.
- You are (Apple) introducing a new computer/OS.
- People will buy it only if they have applications they can use
- Having decided from a business point of view that there's no money in
applications, you want lots of `other people' to create lots of
- You want all the applications to `go with' your new OS concept.
How do you arrange for this?
- Model for inter-application cut-and-paste. (Clipboard, scrapbook).
- Common look-and-feel, which means using a common set of rules and
- Model applications
- User interface guidelines
- User interface university
- Movie star interface designers
- which, of course, created a whole generation of wanna-be
- User interface toolkit
In Apple's case the toolkit, at first, was just added ad hoc to
the graphics model.
- but with very large amounts of user testing
- which is hard to distinguish from what?
- Hint. If you make it (them) fit user preferences what will they
look like taken together.
Note. Real benefits came from a restricted `palette'.
X, on the other hand, was done by a bunch of professors and grad
- funded by Digital Equipment Corporation - subsequently taken over by
A new thesis topic, or more likely, grant application -
- encapsulate bundles of Xlib atoms into molecules of higher level
- dialogue boxes
- text fields
- use callbacks to produce a new programming style
- the atoms of functionality were called `widgets'.
Basic motive not commercial, so little attention to look-and-feel, which
are for suits (marketers).
- every look in creation - almost all abominable.
- feel didn't yet exist.
NeWS went for a Spartan look,
- the look that is most likely to be platform-independent
and much better feel,
- and lost the battle for `mind-share'.
Essential properties of widget sets.
- Complete. An application designer should never need anything that isn't
in the set.
- Consistent. They should share both look and feel.
- Customizable. Enough but not too much.