1
00:00:01,336 --> 00:00:08,723
The key innovation of the graphic user interface is that input is performed directly on top of output.
2
00:00:08,723 --> 00:00:14,435
Today, we’re going to explore what makes an interface easy, hard, or “natural,”
3
00:00:14,435 --> 00:00:21,186
and we’re going to do it by starting with something really simple: a measuring cup.
4
00:00:21,186 --> 00:00:25,035
It has a user interface: it’s got label readout here.
5
00:00:25,035 --> 00:00:28,918
There’s a task: Fill up a liquid to a desired amount.
6
00:00:28,918 --> 00:00:33,586
So, how might you be able to improve this standard measuring cup design here?
7
00:00:33,586 --> 00:00:35,868
What kind of things can you think of?
8
00:00:35,868 --> 00:00:39,362
OXO is a company that sells kitchen utencils.
9
00:00:39,362 --> 00:00:45,871
At the Gel Conference in 2008, OXO’s Alex Lee talked about their measuring cup:
10
00:00:45,871 --> 00:00:48,859
The first prototype came unsolicited in the mail;
11
00:00:48,859 --> 00:00:54,610
it inspired them to go out into the field and ask people about problems with their measuring cups
12
00:00:54,610 --> 00:00:56,814
and suggestions for improvements.
13
00:00:56,814 --> 00:01:02,917
They got things like: “It’s sometimes slippery” or “The handle gets hot”.
14
00:01:02,917 --> 00:01:05,860
Nobody complained about the measuring part;
15
00:01:05,860 --> 00:01:11,355
but, when they watched people measure things, they would do this:
16
00:01:11,355 --> 00:01:13,784
Grab some liquid;
17
00:01:13,784 --> 00:01:18,462
Pour it in;
18
00:01:18,462 --> 00:01:23,334
Hold it up;
19
00:01:23,334 --> 00:01:26,200
Pour some more in;
20
00:01:26,200 --> 00:01:29,045
Hold it up;
21
00:01:29,045 --> 00:01:31,200
Pour a little more;
22
00:01:31,200 --> 00:01:34,963
There we go!
23
00:01:37,455 --> 00:01:39,950
This stuttered-step measurement seems kind of inelegant,
24
00:01:39,950 --> 00:01:48,966
so, to address this, OXO released a design with a clever insight: The numbers are visible from above.
25
00:01:48,966 --> 00:01:53,681
This provides continuous interactive feedback on your actions.
26
00:01:57,604 --> 00:02:02,566
Pour once; and when you get to the right level, you can see it directly and stop.
27
00:02:03,920 --> 00:02:08,159
It’s a great design in lots of ways, but there’s still some room for further improvement.
28
00:02:08,159 --> 00:02:14,304
For starters, the numbers that are written are sideways from the reader’s perspective.
29
00:02:14,304 --> 00:02:19,607
Not a huge deal, but still, it’s kind of like when you have to tip your head to look at a table.
30
00:02:19,607 --> 00:02:24,428
And also — some of you may like this, but I’ve always found this ridge here to be a little inelegant:
31
00:02:24,428 --> 00:02:30,249
This feels like a medical device more than something that belongs in the kitchen.
32
00:02:30,249 --> 00:02:37,221
And, when I went to the grocery store today, I actually found this measuring cup by Pyrex:
33
00:02:37,221 --> 00:02:44,469
It takes the insight from the OXO measuring cup — that you can measure from above —
34
00:02:44,469 --> 00:02:46,354
and improves upon it in two ways:
35
00:02:46,354 --> 00:02:52,524
The first is that the numbers right here are readable from the reader’s perspective.
36
00:02:52,524 --> 00:02:58,031
Hold it in the right hand if you want ounces, or in your left hand if you want millilitres.
37
00:02:58,031 --> 00:03:03,722
The second is that, for me at least, this design is a whole lot cleaner and nicer-looking.
38
00:03:06,845 --> 00:03:10,133
So, in this humble story of a better measuring cup,
39
00:03:10,133 --> 00:03:16,084
Alex Lee at OXO has provided us with four important lessons about human-centred design.
40
00:03:16,945 --> 00:03:19,779
There’s a common story that the carmaker Henry Ford once said,
41
00:03:19,779 --> 00:03:26,396
“If I asked people what they wanted, they would have said ‘a faster horse.’”
42
00:03:26,396 --> 00:03:33,163
[It] turns out that they probably didn’t say that — it’s probably made up — but it makes a good point.
43
00:03:33,163 --> 00:03:36,464
Our first lesson is that in both transit and in cookware,
44
00:03:36,464 --> 00:03:41,865
simply asking people what they want can often miss important opportunities.
45
00:03:41,865 --> 00:03:46,218
The second is that you can find these problems and opportunities — like poor ergonomics —
46
00:03:46,218 --> 00:03:50,581
by going out into the field and discovering what people actually do.
47
00:03:50,581 --> 00:03:56,453
And, third, you can get extra power out of this observation by bringing prototypes along with you.
48
00:03:56,453 --> 00:03:59,993
Fourth, the world is full of people tinkering in their garage,
49
00:03:59,993 --> 00:04:05,660
and everyone wins when the stars align to bring those things into the world.
50
00:04:05,660 --> 00:04:10,999
With measuring cups, like user interfaces, you can think of there as being two steps:
51
00:04:10,999 --> 00:04:18,605
The first is having some action.
52
00:04:18,605 --> 00:04:22,013
And the second is evaluating the outcome.
53
00:04:22,013 --> 00:04:27,655
At each of these steps, you, as a designer, has an opportunity for success or for failure.
54
00:04:27,655 --> 00:04:33,970
In our first step, what you have to cross is the gulf of execution:
55
00:04:33,970 --> 00:04:37,378
How does the user know what to do?
56
00:04:38,332 --> 00:04:43,418
And the gulf that you have to help the user cross is the gulf of evaluation:
57
00:04:43,418 --> 00:04:46,338
How does the user know what happened?
58
00:04:46,723 --> 00:04:50,848
My sketch here is based on a diagram that my colleague Bill Verplank often uses.
59
00:04:51,556 --> 00:04:59,227
As a designer, here are six powerful questions that you can ask to ascertain what challenges may arise:
60
00:04:59,227 --> 00:05:04,401
How usually can someone determine the function of a device, or what actions are possible?
61
00:05:05,355 --> 00:05:10,541
And then, how can I determine the mapping from their goals to their physical movements —
62
00:05:10,541 --> 00:05:13,675
what they actually do with the user interface?
63
00:05:15,459 --> 00:05:20,283
Once they have the plan, how usually can they execute that action?
64
00:05:21,375 --> 00:05:27,430
And, after they’ve executed that action, how usually can they tell what state the system is in
65
00:05:27,430 --> 00:05:30,407
or whether it’s in a desired state?
66
00:05:30,807 --> 00:05:34,762
And, more generally, can they figure out the mapping between the system state
67
00:05:34,762 --> 00:05:37,415
and what they should interpret that to mean?
68
00:05:38,215 --> 00:05:42,834
And, as a designer, here’s several things that you can do to actually make these easier:
69
00:05:42,849 --> 00:05:48,254
The first and simplest is, if there’s functionality that a system can do,
70
00:05:48,254 --> 00:05:52,273
the best way to communicate that to the user is to put that on the screen —
71
00:05:52,273 --> 00:05:54,998
make it visible in one way or another.
72
00:05:54,998 --> 00:05:59,864
And, if it’s in the physical world, give it a handle, or knob, or button.
73
00:05:59,864 --> 00:06:03,844
These cues to action are called “affordances”.
74
00:06:03,844 --> 00:06:09,057
Second, provide users with clear, continuous feedback, so they know exactly what’s happening.
75
00:06:09,057 --> 00:06:15,604
Third, all things equal, be consistent with existing standards, platform conventions, and other idioms.
76
00:06:15,604 --> 00:06:21,776
Fourth, whenever you can, make it possible for people to back up, through Undo or some other mechanism:
77
00:06:22,622 --> 00:06:25,644
Very few things should be permanent and irreversible.
78
00:06:25,644 --> 00:06:28,898
A benefit of having all operations being non-destructive
79
00:06:28,898 --> 00:06:32,481
is that it also enables users to explore and try out things;
80
00:06:32,481 --> 00:06:34,973
and especially in creative applications,
81
00:06:34,973 --> 00:06:39,851
you see that people will try down branches and use Undo to come back.
82
00:06:40,281 --> 00:06:47,144
Fifth, provide a systematic way for people to discover all of the functionality available in an application.
83
00:06:47,144 --> 00:06:50,129
If you watched somebody use a new website, for example,
84
00:06:50,129 --> 00:06:53,959
one thing that you might see them do when they’re trying to figure out how to navigate it,
85
00:06:53,959 --> 00:07:00,023
is [to] roll over all the menu bars, to see what every option that’s out there is.
86
00:07:00,499 --> 00:07:04,690
And, finally, reliable software is a usability issue:
87
00:07:04,690 --> 00:07:09,973
The thing that’s supposed to happen should [happen]; and random stuff that isn’t, shouldn’t.
88
00:07:09,973 --> 00:07:13,927
I know that reliability is easier said than done, but it’s still really important;
89
00:07:13,927 --> 00:07:18,666
and a lot of the interfaces that people really like have this property of reliability.
90
00:07:18,666 --> 00:07:23,583
So, now that we have these new conceptual tools of a gulf of execution and evaluation —
91
00:07:23,583 --> 00:07:29,562
of knowing what you can do and whether what you’ve wanted is what happened —
92
00:07:29,562 --> 00:07:33,977
let’s take a look at a video that Bill Moggridge and colleagues at IDEO put together
93
00:07:33,977 --> 00:07:38,744
about someone trying to buy a soda from a vending machine in Japan
94
00:07:38,744 --> 00:07:41,615
using their mobile phone.
95
00:07:41,615 --> 00:07:45,672
While you’re watching this video, think about what’s causing the breakdowns,
96
00:07:45,672 --> 00:07:53,403
and how you might fix them by using the bullet points that we’ve outlined in this lecture today.
97
00:10:26,584 --> 00:10:29,115
We started out today looking at physical products,
98
00:10:29,115 --> 00:10:32,875
and we moved on to explore smart products and mobile phones.
99
00:10:32,875 --> 00:10:38,827
Now let’s think about what direct manipulation and the gulfs of execution and evalution mean
100
00:10:38,827 --> 00:10:41,238
for building software.
101
00:10:41,238 --> 00:10:46,032
What’s better? A command line or a graphical user interface?
102
00:10:46,032 --> 00:10:49,443
Well, I think the answer is going to have to be “it depends.”
103
00:10:49,443 --> 00:10:53,570
Nearly every design is good for something and bad for something else.
104
00:10:53,570 --> 00:10:59,412
But let’s try to figure out what makes them different: think about moving a file between two folders.
105
00:10:59,412 --> 00:11:04,742
On a graphical user interface, you simply pick it up in one location, and drop it in another:
106
00:11:04,742 --> 00:11:09,770
You have continuous feedback about what’s happening.
107
00:11:09,770 --> 00:11:13,839
All of the objects that are of interest to you are available onscreen,
108
00:11:13,839 --> 00:11:18,521
and you can simply point at what you want — “input on output”.
109
00:11:18,521 --> 00:11:24,300
With a command line, you have to know, a priori, what the name of the command that is that you’d like to use.
110
00:11:24,300 --> 00:11:29,109
You also have to remember the syntax for using that move command
111
00:11:29,109 --> 00:11:32,377
there’s minimal feedback about whether the operators that you’re dealing with —
112
00:11:32,377 --> 00:11:36,465
like files or folders — are actually available,
113
00:11:36,465 --> 00:11:41,220
and there’s not much in confirmation that you’ve moved it ultimately to the right place —
114
00:11:41,220 --> 00:11:44,867
it can be easy to make errors.
115
00:11:44,867 --> 00:11:49,100
What we see with the graphical interface is the power of direct manipulation —
116
00:11:49,100 --> 00:11:54,155
immediate feedback on all actions, continuous representations of the objects,
117
00:11:54,155 --> 00:11:58,208
and they leverage metaphors that we have from the physical world.
118
00:11:58,208 --> 00:12:01,362
These metaphors are especially important when you’re learning a new interface,
119
00:12:01,362 --> 00:12:04,211
and so when the graphical interface was first released,
120
00:12:04,211 --> 00:12:09,691
being able to rely on what people knew about desks, folders, and files was really helpful;
121
00:12:09,691 --> 00:12:14,719
those become less valuable once you’ve become accustomed to the computer world.
122
00:12:14,719 --> 00:12:17,897
So, give some thought to which of these principles hold
123
00:12:17,897 --> 00:12:21,776
for both the command-line interface and the graphical interface.
124
00:12:22,946 --> 00:12:23,891
From my perspective,
125
00:12:23,891 --> 00:12:30,860
the graphical interface does a much better job in terms of visibility, feedback, and consistency.
126
00:12:34,291 --> 00:12:37,122
In either interface style, Undo is possible,
127
00:12:37,122 --> 00:12:42,301
although the GUI generally does a better job of exposing when Undo is available
128
00:12:42,301 --> 00:12:46,281
and what undoing will actually do.
129
00:12:48,496 --> 00:12:53,204
One place that a graphical interface really shines is in terms of discoverability —
130
00:12:53,204 --> 00:12:58,872
you can leaf through every single menu in a system, and see all of the operations that are there;
131
00:12:58,872 --> 00:13:00,541
with a command-line interface,
132
00:13:00,541 --> 00:13:07,284
there’s really no way to know what’s the full set of operations that you could possible type into a terminal.
133
00:13:07,284 --> 00:13:11,759
There’s no mater list.
134
00:13:11,759 --> 00:13:17,384
In terms of reliability, either interface style can be made to be reliable.
135
00:13:19,676 --> 00:13:22,503
“But how can this be?” some of you may be saying,
136
00:13:22,503 --> 00:13:27,040
“The command-line interface can be so much better sometimes!”
137
00:13:27,040 --> 00:13:29,968
And it is!
138
00:13:29,968 --> 00:13:31,196
When is that?
139
00:13:31,196 --> 00:13:33,484
The command-line interface works better
140
00:13:33,484 --> 00:13:39,741
when the indirection that it offers is a benefit rather than a drawback.
141
00:13:39,741 --> 00:13:43,284
And in fact that indirection that it offers is a kind of abstraction,
142
00:13:43,284 --> 00:13:45,699
and that’s what gives programming its power,
143
00:13:45,699 --> 00:13:51,183
and so the command-line interface, like programming — because in some way it kind of is programming —
144
00:13:51,183 --> 00:13:59,553
gets its power when you can express stuff more abstractly and thereby do work more efficiently.
145
00:13:59,553 --> 00:14:06,554
So, for example, moving all of the files that match a certain set of criteria from one place to another,
146
00:14:06,554 --> 00:14:11,307
that can sometimes be more efficiently accomplished with a command line.
147
00:14:11,307 --> 00:14:16,354
And even that wonderful discoverability of the graphical user interface has a dark side:
148
00:14:16,861 --> 00:14:19,769
This is a picture from my colleague Takeo Igarashi.
149
00:14:19,769 --> 00:14:25,877
Takeo made this picture by turning on all of the menu bars in a certain version of Microsoft [PowerPoint].
150
00:14:25,877 --> 00:14:32,134
And you can see that, on his laptop screen, all of those menu bars crowded things out so much
151
00:14:32,134 --> 00:14:35,942
that there was almost no screen left over for the slides.
152
00:14:35,942 --> 00:14:41,320
So, is this interface discoverable? Absolutely! All of the functionality is right there.
153
00:14:41,320 --> 00:14:45,862
But you pay a cost in terms of screen real estate.
154
00:14:45,862 --> 00:14:50,092
In this introductory course, we won’t have a chance to talk much about gestural interfaces.
155
00:14:50,092 --> 00:14:54,065
But, given their recent popularity, and tablet interfaces, game controllers,
156
00:14:54,065 --> 00:15:00,422
and movies like « the Minority Report », I want to conclude today’s lecture with an eye to the future:
157
00:15:00,422 --> 00:15:04,457
Gestural interfaces offer a wonderful solution to menu creep,
158
00:15:04,457 --> 00:15:08,442
in that they don’t take up any permanent screen real estate.
159
00:15:08,442 --> 00:15:13,638
The downside, of course, is that they are non–self-disclosing —
160
00:15:13,638 --> 00:15:17,869
you don’t know what functionality might be available.
161
00:15:17,869 --> 00:15:24,903
And, at their best, gestural interfaces can be even more direct than their graphical user interface counterpart.
162
00:15:24,903 --> 00:15:31,164
In recent years, I’ve watched in amazement at people of all ages and from all backgrounds
163
00:15:31,164 --> 00:15:35,681
have figured out how to use tablet computers really effectively.
164
00:15:35,681 --> 00:15:39,092
And the directness, I think, is one big reason for that.
165
00:15:39,092 --> 00:15:42,153
Learning to use a mouse is actually kind of a big deal:
166
00:15:42,153 --> 00:15:44,440
Once you’ve got the hang of it you forget that,
167
00:15:44,440 --> 00:15:46,900
but there is this indirectness that you’ll have to learn
168
00:15:46,900 --> 00:15:51,004
that what you’re doing over here matters over here.
169
00:15:51,004 --> 00:15:56,252
With a tablet, the thing that you touch is the thing that you’re interacting with.
170
00:15:56,252 --> 00:16:02,629
And the best gestures in these interfaces, like pinching to zoom, just feels so natural —
171
00:16:02,629 --> 00:16:09,421
the metaphor is very clear, the feedback is immediate, the outcome is predictable.
172
00:16:09,421 --> 00:16:14,153
In other cases, when the mapping is more arbitrary or harder to guess,
173
00:16:14,153 --> 00:16:16,674
I think these interfaces are less effective.
174
00:16:16,674 --> 00:16:23,901
For example, if I swipe with four fingers, that will bring up a menu bar on an iPad.
175
00:16:23,901 --> 00:16:27,549
How on earth would I ever figure that out?
176
00:16:27,549 --> 00:16:32,542
So, in gestural interfaces, like in all others, things work best when the feedback is clear,
177
00:16:32,542 --> 00:16:37,745
and the interface provides cues through metaphors or visual signals
178
00:16:37,745 --> 00:16:41,784
that help you know what you can do within the user interface.
179
00:16:41,784 --> 00:16:45,897
To learn more about direct manipulation interfaces and the psychology of design,
180
00:16:45,897 --> 00:16:50,292
I strongly recommend Don Norman’s book « The Design of Everyday Things ».
181
00:16:50,292 --> 00:16:53,171
We’ll see you next time.