| I agree with Prof. Raskin except that his
focus is on a text word processor based interface. I prefer a full screen grid / table / spreadsheet interface with the same kind of programmability behind it like a spreadsheet has. For the fancy graphics (required to make an OS or GUI fun) I'd put an OpenGL translucent 3D graphic window over the full screen grid/table. The interface would fade between the two as user attention requires. As HTML pages made from the TABLE tag prove, tables can easily store, display, reference, and edit text, grid, graphic, indented outline, list, form, and database information. Spreadsheets and the Python language also show how grids can store programming and syntax information as well. Like a novel or a movie, an interface should tell a story... to enlighten. (Otherwise you wouldn't be looking at your computer monitor, would you.) They should also allow the content creator to create their own stories to describe what they request from their PC's. A model of the human mind, it's similarity and differences between individuals, should be as much a part of the programmers API as the rest of the current API's. A software application manipulates the human long term and short term memory as much as it manipulates RAM & disk memory. A software application transmits and receives through the eye and hand much as it transmits over a bus. Also look at: |
PREFACE
xi
ACKNOWLEDGMENTS
Xiii
INTRODUCTION:
The Importance of
Fundamentals xvii
ONE
Background 1
1-1
Interface Definition
2
1-2
Keep the Simple
Simple 2
1-3
Human-Centered
Design and User-Centered Design 3
1-4
Tools That Do Not
Facilitate Design Innovation
4
1-5
Interface Design
in the Design Cycle
5
1-6
Definition of a
Humane Interface
6
TWO
Cognetics and the Locus of Attention
9
2-1
Ergonomics and
Cognetics: What We Can and Cannot Do 9
2-2
Cognitive
Conscious and Cognitive Unconscious 11
2-3
Locus of Attention
17
2-3-1
Formation of
Habits
18
2-3-2
Execution of
Simultaneous
Tasks
20
2-3-3
Singularity of
the Locus
of Attention
24
2-3-4
Origins of the
Locus of
Attention
27
2-3-5
Exploitation of
the Single Locus
of Attention
29
2-3-6
Resumption of
Interrupted Work
31
THREE
Meanings,
Modes, Monotony, and Myths
33
3-1
Nomenclature and Notations
33
3-2
Modes
37
3-2-1
Definition of Modes
42
3-2-2
Modes, User-Preference Settings,
and
Temporary Modes
47
3-2-3
Modes and Quasimodes
55
3-3
Noun-Verb versus Verb-Noun Constructions
59
3-4
Visibility and Affordances
62
3-5
Monotony . 66
3-6
Myth of the Beginner-Expert Dichotomy
68
FOUR
Quantification
71
4-1
Quantitative Analyses of Interfaces
71
4-2
GOMS Keystroke-Level Model
72
4-2-1
Interface Timings
73
4-2-2
GOMS Calculations 76
4-2-3
GOMS Calculation Examples
77
4-2-3-1
Hal's Interface: Solution 1, Dialog Box
78
4-2-3-2
Hal's Interface: Solution 2, GUI
80
4-3
Measurement of Interface Efficiency
83
4-3-1
Efficiency of Hal's Interfaces
87
4-3-2
Other Solutions for Hal's Interface
90
4-4
Fitts' Law end Hick's Law
93
4-4-1
Fitts' Law 93
4-4-2
Hick's Law 96
FIVE
Unification 99
5-1
Uniformity and Elementary Actions
101
5-2
Elementary Actions Cataloged 103
5-2-1
Highlighting, Indication, and Selection
105
5-2-2
Commands 109
5-2-3
Display States of Objects 115
5-3
File Names and Structures
117
5-4
String Searches and Find Mechanisms
124
5-4-1
Search-Pattern Delimiters 127
5-4-2
Units of Interaction 129
5-5
Cursor Design and a Strategy for Making Selections
133
5-6
Cursor Position and LEAP 136
5-7
Applications Abolished 139
5-8
Commands and Transformers 143
SIX
Navigation and Other Aspects of Humane Interfaces
149
6-1
Intuitive and Natural Interfaces 150
6-2
Better Navigation: ZoomWorld 152
6-3
Icons 168
6-4
Techniques and Help Facilities in Humane Interfaces
174
6-4-1
Cut and Paste 177
6-4-2
Messages to the User 178
6-4-3
Simplified Sign-Ons 183
6-4-4
Time Delays and Keyboard Tricks 184
6-5
Letter from a User 187
SEVEN Interface Issues Outside the User
Interface
191
7-1
More Humane Programming Language Environments 192
7-1-1
System and Development Environment 192
7-1-2
Importance of Documentation in
Program
Creation 194
7-2
Modes and Cables 195
7-3
Ethics and Management of Interface Design 198
EIGHT
Conclusion
205
APPENDIX
A: The
One-Button Mouse History 207
APPENDIX
B: SwyftCard Interface Theory of
Operation
211
REFERENCES 215
INDEX
221
When you want to
set down an idea, you should be able to go to your computer or information
appliance and just start typing: no booting, no opening the word can do
something about them.
If a system's one-on-one interaction with its human user is not pleasant and facile, the resulting deficiency will poison the performance of the entire system that system might be in its other aspects.
ONE
- Background
We must take into
account common factors before we can deal with the differences among individual
humans.
Before exploring
the application or even working to accommodate differences among individuals,
interface designers can minimize their work by exploiting what is common to all
humans with regard to interface-design requirements. After that is accomplished,
the interface designers can accommodate the differences across individuals and
groups, and, finally, they can satisfy the varying requirements of their tasks.
Where most of the
users' time will be spent in routine operation of the product and where learning
is only a small part of the picture, designing for productivity—even if that
requires retraining—is often the correct decision.
Once the product's
task is known, design the interface first; then implement to the interface
design.
Users do not care
about what is inside the box, as long as the box does what they need done.
As far as the
customer is concerned, the interface is the product.
1.
The system should treat
all user input as sacred.
2.
A computer shall not harm
your work or, through inaction, allow your work to come to harm.
3.
A computer shall not
waste your time or require you to do more work than is strictly necessary.
An interface is
humane if it is responsive to human needs and considerate of human frailties.
Many human
performance factors are independent of a user's age, gender, cultural
background, or level of expertise.
We must master
ergonomics of the mind if we want to design interfaces that are likely to work
well. The study of the applicable, engineering scope of our mental abilities,
we’ll call cognetics.
Cognitive
Conscious vs. Cognitive Unconscious
Unconscious mental
processes are those of which you are not aware at the time they occur.
By definition, you
cannot experience, or be conscious of, any unconscious process.
The table tells us
that the cognitive conscious is brought into play whenever you encounter a
situation that seems new or threatening and whenever you have to make a
nonroutine decision—that is, one based on what is happening in the here and
now. Only when you are conscious of a proposition can you determine whether it
is logically consistent. The cognitive conscious operates sequentially and can
consider only one question or control only one action at a time. You can be
conscious of only between four and eight distinct thoughts or things at once. Your
conscious memory fades in, at
most, a few seconds.
TABLE 2.1.
PROPERTIES OF THE COGNITIVE CONSCIOUS AND THE COGNITIVE UNCONSCIOUS
|
PROPERTY |
CONSCIOUS |
UNCONSCIOUS |
|
Engaged by |
Novelty |
Repetition |
|
|
Emergencies |
Expected Events |
|
|
Danger |
Safety |
|
Used in |
New circumstances |
Routine situations |
|
Can handle |
Decisions |
Nonbranching tasks |
|
Accepts |
Logical propositions |
Logic or inconsistencies |
|
Operates |
Sequentially |
Simultaneously |
|
Controls |
Volition |
Habits |
|
Capacity |
Tiny |
Huge |
|
Persists for |
Tenths of seconds |
Decades (lifelong) |
TABLE
2.1. PROPERTIES OF THE COGNITIVE CONSCIOUS AND THE COGNITIVE UNCONSCIOUS
PROPERTY
of the CONSCIOUS
Engaged
by: Novelty, Emergencies, Danger
Used
in: New circumstances
Can
handle: Decisions
Accepts:
Logical propositions
Operates:
Sequentially
Controls:
Volition
Capacity:
Tiny
Persists:
Tenths of seconds
PROPERTY
of the UNCONSCIOUS
Engaged
by: Repetition, Expected Events, Safety
Used
in: Routine situations
Can
handle: Nonbranching tasks
Accepts:
Logic or inconsistencies
Operates:
Simultaneously
Controls:
Habits
Capacity:
Huge
Persists:
Decades (lifelong)
Locus of attention
is a feature or an object in the physical world or an idea about which you are
intently and actively thinking.
We cannot
completely control what our locus of attention will be.
Perceptions do not
automatically become memories.
With repetition,
or practice, your competence becomes habitual, and you can do the task without
having to think about it.
Persistent use of
any interface will cause you to develop habits that you will find yourself
unable to avoid. Our mandate as designers is to create interfaces that do not
allow habits to cause problems for the user. We must design interfaces that (1)
deliberately take advantage of the human trait of habit development and (2)
allow users to develop habits that smooth the flow of their work. The ideal
humane interface would reduce the interface component of a user's work to benign
habituation. Many of the problems that make products difficult and unpleasant to
use are caused by human-machine design that fails to take into account the
helpful and injurious properties of habit formation.
You cannot often
break a habit by an act of volition.
In the language of
cognitive psychologists, any task that you have learned to do without conscious
thought has become automatic.
Automaticity
enables you to do more than one activity at a time: All but at most one of the
tasks that you perform simultaneously are automatic. The one that is not
automatic is, of course, the one that most directly involves your locus of
attention. When you do two tasks simultaneously, neither of which is automatic,
your performance on each task degrades—a phenomenon that psychologists call
interference—compared to your performance on each task alone, because the two
tasks compete for your attention. The more predictable, automatic, and
unconscious a task becomes, the less it will degrade or compete with other tasks
(Bears 1988, p. 33).
We humans
apparently simulate the simultaneous accomplishment of tasks that require
conscious control by alternating our attention between tasks, attending now to
one then to the others (Card, Moran, and Newell).
Equally important
as the fact that you cannot be conscious of more than one task at any moment is
the realization that humans cannot avoid developing automatic responses. This
idea is important enough to bear repetition: No amount of training can teach a
user not to develop habits when she uses an interface repeatedly. That we form
habits is part of our fixed mental wiring: habit formation cannot be prevented
by any act of volition.
Any sequence of
actions that you perform repeatedly will, eventually, become automatic. A set of
actions that form a sequence also becomes clumped into a single action; once you
start a sequence that takes less than 1 or 2 seconds to complete, you will not
be able to stop the sequence but will continue executing the actions until you
complete that clump. You also cannot interrupt sequences that take longer than a
few seconds to execute unless the sequence becomes your locus of attention.
When you repeat a
sequence of operations, making and keeping what you are doing your locus of
attention is the only way to keep a habit from forming.
Any confirmation
step that elicits a fixed response soon becomes useless.
If, for legal or
other reasons, the user should never delete a file, it should be made impossible
for such a deletion to be performed.
We speak of our
attention only in the singular.
You can be more or
less absorbed in the task that involves your locus of attention. The more
intensely you are focused, the more difficult to transit to a different locus of
attention, and the greater the stimulus needed to effect such a change. In the
extreme case, when we are completely absorbed by a task, we cease to monitor our
environment. You have probably experienced the absorbed state when you are
reading a book, are thinking deeply about a problem, or are in the midst of a
crisis that, as the expression goes, demands your attention. The use of a
computer is often so stressful and difficult that a user will become absorbed in
working on the computer system, and therefore distracted from the completion of
tasks. Our goal is to leave the task as the locus of the user's attention.
Absorption in a
task or a problem decreases the ease with which a person can change her locus of
attention. On the other hand, such absorption—if it is confined to the task
and if the system does not pull attention to itself—is essential to
productivity. Systems should be designed to allow users to concentrate on their
jobs. Interfaces should be designed as though the user will be so absorbed in
her task that she may not respond to your attempts to communicate with her. An
interface must work, whatever the user's state of absorption.
If the computer
behaves unexpectedly while you are using an interface, you become less likely to
see hints, help messages, or other user aids as you become increasingly agitated
about the problem.
Make sure that the
users cannot make interface operation errors, or that the effects of any actions
are readily reversible rather than simply notifying users about the potential
consequences of their actions. Most interface situations can be designed such
that error messages are unnecessary.
That people have a
single locus of attention is not always a drawback. Magicians exploit this
characteristic shamelessly. A good magician can fix the attention of an entire
audience on one hand so that not a single spectator will see what the other hand
is doing, although that hand is in no way concealed. If we know where the user's
attention is fixed, we can make changes in the system elsewhere, knowing that
the changes will not distract the user.
It takes a person
approximately 10 seconds to switch contexts.
If the workflow is
such that a user makes a particular context switch repeatedly, so that it
becomes habitual, the user will make the switch in far less time.
Usually, after dealing with an interruption to a task, you then return
to the interrupted task. If the interruption lasts only a few seconds—within
the decay time of short-term memory—no further stimulus is required to signal
you to return to the prior task. After a longer break, however, your return to
the interrupted task must be triggered, often by seeing your incomplete work
lying before you.
This is the same
as the worst
case for an interface that
always returns you to what you were last doing, because in the case of wishing
to return to the task from which you left of you have to do no
work at all.
When you open a document in an application, such as a word processor, you should be returned to the place where you were working when you closed or saved it.
Content is the information that resides in a computer or other information - processing device and that has meaning and utility for you. Creation or alteration of content is the task that you intend to accomplish with the device. Any system shall not harm your content or, through inaction, allow your content to come to harm.
Modes are a significant source of errors, confusion, unnecessary restrictions, and complexity in interfaces. Many of the problems modes cause have been widely recognized; nonetheless, making systems truly modeless is an underused tactic in interface design. Before we can discuss methods for eliminating modes, we must understand them in detail, especially because even interface professionals have disagreed about what constitutes a mode (Johnson and Englebeck 1989).
To understand
modes, we must first define a gesture. A gesture is a sequence of human actions
completed automatically once set in motion. For example, typing a common word,
such as the, is a single gesture for an experienced typist, whereas the typing
of each letter would be a separate gesture for a beginning typist. Combining a
sequence of actions into a gesture related to the psychological process is
called chunking: the combining of separate items of cognition into a single
mental unit, a process that allows us to deal with many items as though they
were one (Buxton 1986, pp. 475-480; Miller 1956).
Most interfaces
have multiple interpretations of a given gesture. For example, at one moment,
tapping Return inserts a return character into the text, whereas at another
time, tapping Return causes the text typed immediately prior to that tap to be
executed as a command.
Modes are
manifested by how an interface responds to gestures. For any given gesture, the
interface is in a particular mode if the interpretation of that gesture is
constant. When that gesture has a different interpretation, the interface is in
a different mode. This definition gives us a useful initial view of what
constitutes a mode; we will refine the definition later.
If you operate the
controlling mechanism without separately verifying the state of the system, you
cannot predict
the effect that the operation
will have.
Toggles are
difficult to label. Use radio buttons rather than toggles; toggles work reliably only when the value of the state controlled by the
toggle is your locus of attention and is visible, or is in short-term memory.
Except when the state is the locus of attention—and it is usually
not—toggles will at times cause users errors.
Another
troublesome aspect of modes—one that causes computer users considerable
exasperation—is exemplified by the way that the Caps Lock key found on most
keyboards functions.
Expertise is no protection against modes; an expert has developed firm
habits. Naiveté is also no protection. In the example of Vellum's cursors, the
beginner has not yet established in his mind that it is necessary to change the
cursor back after tracing. By the time a beginner has learned to do this step
without having to think about it explicitly, he is an expert with respect
If the current state of the interface is not the user's locus of
attention and if an interface has modes, the user will sometimes make errors
because his locus of attention is not the current mode.
1.
Do not have modes.
2.
Make sure that the modes are distinctively marked.
3.
Make sure that the commands required by different modes are not the
same, so that a command issued in the wrong mode will not lead to difficulty.
Of these three, only the first always prevents mode errors.
If
the definition of a mode is based exclusively on the design of the interface, as
our definition has been up to now, all users would make the same errors, albeit
with different frequencies. They do not. A given interface feature can be modal
for one user and not modal for another. A more complete definition of modes must
incorporate how the user views the interface: A human-machine interface is modal
with respect to a given gesture when (1) the current state of the interface is
not the user's locus of attention and (2) the interface will execute one among
several different possible responses to the gesture, depending on the system's
current state.
An interface can
be modal with respect to one gesture and not modal with respect to a second
gesture. For an interface as a whole to be classified as not modal it must not
be modal for any gesture.
Grouping commands
into separate ranges, or what we usually call applications, can be an aid to
understanding and using a complex interface, but there are ways to organize an
interface that are less restrictive than are modes. A fully humane interface
would consist of exactly one range.
When an interface
is controlled by another machine, you might think that modelessness is of no
importance, because machines have no problem remembering state; they just model
it internally with a state of their own. However, if an interface is modal and
the program operating it does not initially know the current state of the
interface for example, if it connects to the system after the system is already
running—the program, prior to operating any modal control, must be provided
with a means for testing that state. Interface toggles are particularly
troublesome in this regard, where consecutive invocations of the toggling
mechanism cycle the control through a number of states before returning to the
initial state (the cycle then repeats).
This discussion of
programs that operate interfaces is relevant to human-machine interface design
because you might want to construct a set of stored commands that can be played
back with a single gesture, a macro, which is a rudimentary form of computer
program. A macro cannot set a toggle into a specific state unless the macro
first interrogates the system to determine the system's current state. We saw
this problem in the example of the flashlight in the duffel bag. One solution is
to have any multiple-option switch always reset to a specified initial state
immediately after it is operated. Then, counting the number of invocations of
the switch always informs the operator of the switch's current state. More than
about five states is excessive if the switching is to be done by a person. As
mentioned earlier, another solution is to use radio buttons.
We have not yet
exhausted what harm modes do. Modes can put the computer, instead of the user,
in charge of an interaction. This aspect is especially noticeable when you are
forced to stop what you are doing to reply to a message box. Certain designers
consider forcing the user to stop and to work in lockstep with a planned
sequence to be an interface advantage, in that the system is "guiding"
the user. There may be circumstances under which it is imperative that the user
make a particular decision—if there is no user decision, there is no need for
a dialogue at all—by a certain time or before doing another step in the
sequence. In the first case, put up a count-down clock, but do not restrict the
user from doing other operations with the system. In the second case, have a
message stating that the decision must be made before the next step will be
presented, but the system should not prevent the user from performing other
operations that are not part of the programmed sequence. For example, what if
the user needs to look up something in a file or do a calculation in order to
answer the question? Guidance should be offered modelessly, so that the user
remains in control of as much as possible of the system.
Facilities for
setting user preferences constitute an example of modes and are a major source
of user frustration.
…