cs349 - s10 - Lecture 16
CS349 -
Implementing User Interfaces - Spring 2010
Public Service Annoucements
- Assignment 2
- Mid-term: 17 June, 2010, MC4059.
Lecture 16 - Users
What Users Know
They know
- facts, `Ottawa is the capital of Canada', `knowing that'
- How does one become good at knowing facts?
- What other things do you know about Ottawa/Canada/capitals?
- This process is, unfortunately, not good for your social life:
you become like a professor.
- Mix facts together to create new facts
Facts by themselves are not much use
- procedures, putting a spoon into your mouth without hitting your lips,
`knowing how'
How do we learn these different types of knowledge?
"Knowing how" can be divided into four different categories
- Operational, perceptual/motor capabilities: e.g., how to move fingers,
aim them at keys, know that a key has been pressed.
- These skills are learned very young, and are very general
- Represent thousands of hours of practice, even though the body
is well-designed to acquire such skills
- E.g., The `touch', or `action', of a keyboard is learned at a
low level, and usually very quickly.
- Users exist who are missing some of these capabilities. How do we
help them?
- Substitution, which usually requires thousands of hours of
practice
- Rule-based, motor programs triggered by categorical perception: In vi
to end input mode hit ESC (to start command hit ESC).
- Everyday example is thigh muscles in driving
- Another everyday example is the "I'm going to do something for you"
box in Windows
- If the user thinks of ESC as meaning terminate a command, then
there are a whole lot of exceptions, such as
dw and
/Sargon
- To get into a standard state hit ESC until the bell rings.
- Cognitive procedures, sequences of rules that solve stereotyped
problems: to look at every ifdef in vi, type /ifdef,
look at what you got, then type / repeatedly, watching for
reappearance of the first occurrence.
- Everyday example is putting away clean dishes from a dishwasher
- Problem analysis and solution, creation of new cognitive procedures: to
find the bug check all the ifdefs
How do we learn each one of these?
- knowing that enters into only problem solving;
- the rest are practice
Here's another way of classifying things that users know
- Recognition: Which of `Exit' or `Quit' terminates WordPerfect
- Recall: `lc' gives the contents of the current directory, sorted by
file and directory, and pretty printed, at Waterloo
For recall we can generate the knowedge from nothing - Well, not really
from nothing, something probes the memory to generate recall, it's just that
the things to be retreived isn't part of the probe. For recognition we can
recognize the knowledge when we see it.
Two user interface design objectives
1. Consistency.
2. Congruence.
Much meaning is created by analogy, often called metaphor in the user
interface community.
- `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.
- 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 exected 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 what they know?
- Learning will be, as much as possible, incremental
Learning
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.
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?
Principles
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/SE382, 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
user's brain
- They are only poorly communicated by words
Look-and-Fell
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.
Look
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
interface.
Feel
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
of control
- 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
capability.
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
configurations.)
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
easily.
- 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
applications.
- 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
operations.
- Model applications
- User interface guidelines
- User interface university
- Movie star interface designers
- which, of course, created a whole generation of wanna-be
interface designers
- 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
students.
- funded by Digital Equipment Corporation - subsequently taken over by
Compaq.
A new thesis topic, or more likely, grant application -
- encapsulate bundles of Xlib atoms into molecules of higher level
functionality
- buttons
- menus
- 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'.
- Hmmm.
Widget Sets
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.
Return to: