0:00:01.936,0:00:05.600 In this video, we are going to talk about mental models, 0:00:05.600,0:00:09.017 and the questions that we are going to tackle here are: 0:00:09.017,0:00:15.186 “What makes an interface learnable?“ and “What leads to errors that people make in user interfaces?” 0:00:15.186,0:00:19.997 And to do that, I’d again like to start with an example from the physical world. 0:00:19.997,0:00:23.582 Here we are outside the Computer Science building at Stanford. 0:00:23.582,0:00:28.010 And what I’d like to show you is an example of a user interface error. 0:00:28.010,0:00:34.131 It’s really simple one: Our department and its front door has two doors. 0:00:37.085,0:00:44.965 It both have exactly the same handle on them. However, the door on the right never actually opens. 0:00:44.965,0:00:53.890 So, if I go to use this door right here, 24-hours-a-day 7-days-a-week it never works — it’s locked! 0:00:53.890,0:00:58.633 So why does it have the same handle as the other that does open? 0:00:58.633,0:01:03.573 And you can see right here that a whole lot of people have tried using this handle. 0:01:03.573,0:01:06.353 In fact, faculty who have been around for years 0:01:06.353,0:01:11.425 still often make the mistake of grabbing the wrong door. 0:01:11.425,0:01:14.998 This would be a whole lot better if this door had no handle here. 0:01:14.998,0:01:17.913 You could still exit — you can see this part right here — 0:01:17.913,0:01:23.255 but if want to enter, you would know where to grab and which door to use. 0:01:24.578,0:01:26.454 Let’s say you’ve got a refrigerator, 0:01:26.454,0:01:31.312 and the problem is that he freezer is too cold, but the fridge is all just right. 0:01:31.312,0:01:35.586 This refrigerator has two dials: One of them is labelled A through E, 0:01:35.586,0:01:39.082 the other is labelled with numbers, 3 through 7. 0:01:39.082,0:01:41.009 and there’s an instruction manual 0:01:41.009,0:01:45.620 that lists combinations of letters and numbers for different settings of food. 0:01:45.620,0:01:52.802 So what do we do to have the refrigerator stay the same, but the freezer to be less cold? 0:01:54.833,0:01:59.543 Well, the action is going to depend on the mental model that you have of the system: 0:01:59.543,0:02:03.222 One reasonable model that you could have is that there are two cooling units, 0:02:03.222,0:02:06.082 and there’s one dial that controls each of the units. 0:02:06.082,0:02:08.417 And, in that case, what you would want to do 0:02:08.417,0:02:13.469 is [to] figure out which of those is connected to the freezer and tweak that dial. 0:02:13.469,0:02:18.480 [It] turns out that’s not actually how it works: That there’s only one cooling unit in this refrigerator, 0:02:18.480,0:02:22.323 and then it has a splitter which controls the proportion of cold air 0:02:22.323,0:02:26.308 that goes into either the refrigerator or the freezer. 0:02:26.308,0:02:29.348 And so, if you’d like to be abe to change only one of the two chambers — 0:02:29.348,0:02:32.090 in this case: make our freezer less cold — 0:02:32.090,0:02:34.828 what you have to do is [to] move both of the dials — 0:02:34.828,0:02:38.228 dial back the total amount of coldness going into the refrigerator, 0:02:38.228,0:02:40.647 and then change the fraction 0:02:40.647,0:02:45.763 so that the fridge still gets the cold air that it needs but the freezer is getting less. 0:02:45.763,0:02:50.878 If a lot of users misunderstand the functions of these two dials and get them wrong, 0:02:50.878,0:02:55.251 then I think it’s fair to say that this is a poor user interface. 0:02:56.512,0:02:59.283 There’s a lot of ways that you could fix this. 0:02:59.283,0:03:08.733 Pause the video and think of a few of how you might make this refrigerator interface better. 0:03:08.733,0:03:11.157 Here’s a couple that I came up with: 0:03:11.157,0:03:17.315 One is if the user believes that one dial controls the fridge and the other dial controls the freezer, 0:03:17.315,0:03:20.163 you could have the functionality of the system work that way — 0:03:20.163,0:03:24.111 that you’d have two blowers, one for each. 0:03:24.111,0:03:29.122 You could also simulate two blowers, by having computation in the middle 0:03:29.122,0:03:33.704 and still have the dials connected one for each of the two. 0:03:33.704,0:03:36.619 Alternatively, if you really felt like it was essential 0:03:36.619,0:03:43.142 to have the “total cold plus changing the fraction” model, 0:03:43.142,0:03:48.102 which is probably not as good a user interface but might be needed for cost reasons, 0:03:48.102,0:03:50.828 in that way you could think of a way to have 0:03:50.828,0:03:58.465 a diagram or other kind of cue that would explain better what was going on rather than cryptic text. 0:03:58.465,0:04:04.390 In all of those cases, the goal is for the user interface to beacon to the user 0:04:04.390,0:04:10.171 what the mental model that they should think about the system with is. 0:04:10.171,0:04:15.978 And, of course, as you interact with the system more, your model becomes more sophisticated. 0:04:15.978,0:04:19.294 But there’s a big pitfall and a danger of being a designer: 0:04:19.294,0:04:24.074 You’ve spent so much time with the system that you know it works under the hood 0:04:24.074,0:04:26.987 and you how you imagine other people will think about it. 0:04:26.987,0:04:32.559 But your expertise can be crippling: The mental model that you expect users to have — 0:04:32.559,0:04:36.867 you expect it to be the same as yours — just often doesn’t pan out in practice. 0:04:36.867,0:04:41.313 And that’s one of the reasons why it’s really important to get real people who are not the designers 0:04:41.313,0:04:43.973 in front of interfaces as soon as possible — 0:04:43.973,0:04:49.372 to help you discover those differences between your mental model and theirs. 0:04:49.372,0:04:53.856 And the benefits of aligning the user and designer mental models are obvious: 0:04:53.856,0:04:57.746 Because when you have this mismatch, that can often lead to slow performance, 0:04:57.746,0:05:02.086 or errors, and frustration on the part of the user. 0:05:02.086,0:05:06.091 Where do these mental models come from? Well, that’s a fascinating question, 0:05:06.091,0:05:11.063 and one that deserves a longer answer than I can offer in this short video. 0:05:11.063,0:05:14.352 But I can say a few things to get you started: 0:05:14.352,0:05:17.821 The first is that people reason about new interfaces 0:05:17.821,0:05:21.644 by analogy to old interfaces that they’re more familiar with. 0:05:21.644,0:05:26.209 And when can leverage that — when you can figure out what people are familiar with — 0:05:26.209,0:05:29.967 and use those metaphors intentionally in the construction of new interfaces, 0:05:29.967,0:05:32.199 you’ll often be really successful. 0:05:32.199,0:05:36.826 So, for example, if you can say that a word processor is like a typewriter, 0:05:36.826,0:05:43.650 then people will transfer their believes and skills with the typewriter over to the new word processor. 0:05:43.650,0:05:49.013 The models that we build that guide our action: We have about our behaviour, of other people’s, 0:05:49.013,0:05:54.171 of objects, of software — really anything and anybody that we interact with. 0:05:54.171,0:05:57.511 But that’s not to say that everything is tidy and organized upstairs: 0:05:57.511,0:06:02.542 Our mental models are incomplete; they’re inconsistent; they change over time; 0:06:02.542,0:06:05.605 and they’re often rife with superstition. 0:06:05.605,0:06:07.861 The second thing that I’d like to talk about today 0:06:07.861,0:06:13.173 is two important different kinds of errors that are based on the user’s mental model. 0:06:13.958,0:06:19.159 The second thing that I’d like to do today is to distinguish two important categories of errors 0:06:19.159,0:06:25.899 that are based on differences in what the user’s mental model is about what they believe. 0:06:25.899,0:06:28.491 The first category is a slip. 0:06:28.491,0:06:37.431 With a slip, you have the right model of how a system works, but you just accidentally do the wrong thing. 0:06:37.431,0:06:47.445 So, if I go to reach for one button and press another — just by a motor error — that would be a slip.. 0:06:47.445,0:06:52.819 On the other hand, a mistake is when I do what I intend to do, 0:06:52.819,0:06:57.290 but I have the wrong model of what I ought to do. 0:06:57.290,0:07:02.894 So, if I’m driving, and I think that I ought to take this highway exit to get [to] where I need to go, 0:07:02.894,0:07:09.177 and I take it exactly as I intend to, but I was wrong in my belief, that would be a mistake. 0:07:09.177,0:07:16.109 And, as a designer, you’ll correct these two kinds of errors — or prevent them — in your design differently. 0:07:16.109,0:07:20.982 Slips you’ll most often try to prevent by improving the ergonomics 0:07:20.982,0:07:23.673 or visual design of the user interface — 0:07:23.673,0:07:26.819 spread things out so it’s less likely that you’ll hit the wrong thing; 0:07:26.819,0:07:29.020 make targets bigger. 0:07:29.020,0:07:33.503 With mistakes, on the other hand, what you’ll need to do is [to] provide better feedback, 0:07:33.503,0:07:36.039 or make clear what the options are. 0:07:36.039,0:07:38.440 So, limit the number of mistakes that you [could] make. 0:07:38.440,0:07:43.853 You’ll want to improve the user’s ability to perceive the affordances of your software: 0:07:43.853,0:07:47.819 Make it clear to them what is possible to do. 0:07:47.819,0:07:51.143 Here we have an interface that led to a lot of user errors. 0:07:51.143,0:07:57.321 This is a ballot from Palm Beach County, Florida during the 2000 presidential election in the US. 0:07:57.321,0:07:59.728 There were two major party candidates — 0:07:59.728,0:08:04.729 the Republican candidate George Bush and the Democratic candidate Al Gore. 0:08:04.729,0:08:08.460 Across the nation they were, overall, running neck-in-neck. 0:08:08.460,0:08:14.224 There were also eight other candidates, to each gathered a smaller fraction of the vote. 0:08:14.224,0:08:20.925 A user’s vote was recorded by a hole being punched out along the centreline of the ballot. 0:08:20.925,0:08:23.805 It appears that, due to bad user interface design, 0:08:23.805,0:08:27.340 people who intended to vote for one of the candidates, Al Gore, 0:08:27.340,0:08:36.353 instead, accidentally pressed the hole corresponding to a different candidate, Pat Buchanan. 0:08:36.353,0:08:41.519 While we’ll never know for sure, the data suggested that this is probably the case. 0:08:41.519,0:08:47.067 So, the people who vvoted in Palm Beach County using this ballot style, 0:08:47.067,0:08:52.522 about 0.85% of the votes were for Pat Buchanan. 0:08:52.522,0:08:56.806 However, people who voted absentee, using a different style of ballot, 0:08:56.806,0:09:00.287 had a much lower rate of votes for Pat Buchanan, 0:09:00.287,0:09:07.502 and the reason appears to be that this hole in the middle right here was ambiguous — 0:09:07.502,0:09:13.131 Yes, there’s an arrow pointing to it from the right, but it kind of lines up to the spot on the left. 0:09:13.131,0:09:15.667 So, it appears that for about 0.6% of voters, 0:09:15.667,0:09:21.845 they thought that that second hole corresponded to Al Gore rather than Pat Buchanan. 0:09:21.845,0:09:27.089 And the question for you is: Is this a slip? or is this a mistake? 0:09:27.089,0:09:30.201 These erroneous votes are the result of a mistake, 0:09:30.201,0:09:34.966 because voters performed the manual operation that they intended to perform — 0:09:34.966,0:09:37.479 punching that second hole — 0:09:37.479,0:09:43.474 however, they had the wrong mental model about what punching that second hole meant. 0:09:43.474,0:09:47.208 WIth better user interface design, it could have been clear 0:09:47.208,0:09:54.340 which of these was the hole that corresponded to a Democratic candidate versus the Reform candidate. 0:09:54.340,0:09:59.857 Another important lesson to learn from the butterfly ballot problem is that of consistency: 0:09:59.857,0:10:07.310 Whenever we reuse designs that are already successful, we are less likely to make accidental mistakes. 0:10:07.310,0:10:11.119 By contrast, as happens with a lot of voting systems, 0:10:11.119,0:10:14.020 when every county makes their own voting system 0:10:14.020,0:10:18.027 — or at least there’s broad diversity in the voting systems used — 0:10:18.027,0:10:22.390 it’s much more likely that usability bugs will crop up. 0:10:22.390,0:10:27.881 And so one way that we could fix this would be to have a nationwide standard voting system 0:10:27.881,0:10:31.355 where everybody votes using the same user interface. 0:10:31.355,0:10:38.234 One appealing option for a nationwide voting system would be to use electronic voting. 0:10:38.234,0:10:43.021 If we were to build a better user interface for voting, what would it be? 0:10:43.021,0:10:45.967 Well, given that we’re in a computer science class, 0:10:45.967,0:10:51.360 one natural suggestion to offer up would be electronic voting. 0:10:51.360,0:10:55.168 And electronic voting certainly has some very clear appeals: 0:10:55.171,0:11:00.344 For example, it is much easier to internationalize to many different languages; 0:11:00.344,0:11:03.578 You can have pictures of candidates to make things clear; 0:11:03.578,0:11:07.051 You can have a touch screen so that you have direct manipulation. 0:11:07.051,0:11:11.878 All of these are important and good advantages to electronic voting. 0:11:11.878,0:11:15.771 However, as David Dill in the Verified Voting Foundation point[s] out, 0:11:15.771,0:11:18.554 there’s one major problem with electronic voting: 0:11:18.554,0:11:23.526 How do you know that the machine recorded the vote that you intended? 0:11:23.526,0:11:28.316 And their proposed solution to this user interface problem is really clever: 0:11:28.316,0:11:36.591 What they proposed is that the machine print out a paper receipt of the vote that you cast; 0:11:36.591,0:11:41.925 however, you don’t get to take the receipt with you, because that would run the risk of vote-buying. 0:11:41.925,0:11:47.309 Instead, that receipt falls behind a glass or plastic clear pane, 0:11:47.309,0:11:52.641 and so you can see it being printed out, and you can see it go into a bin, 0:11:52.641,0:11:55.936 and it’s stored there for the purposes of recount. 0:11:55.936,0:12:00.986 That way, you can always manually verify the computer-generated tally. 0:12:00.986,0:12:06.502 The butterfly ballot costs problems because the representation was really confusing — 0:12:06.502,0:12:10.601 What lined up with what was hard to figure out. 0:12:10.601,0:12:13.490 Here’s an example that’s much better: 0:12:13.490,0:12:18.671 This is a seat user interface for an automobile that employs a “world in miniature” strategy. 0:12:18.671,0:12:22.271 It offers controls for manipulating parts of the seat, 0:12:22.271,0:12:26.125 and the interface for doing that is a miniature seat itself. 0:12:26.125,0:12:33.229 So, if you’d like to move the headrest back, you can move the miniature headrest back. 0:12:33.229,0:12:38.927 By having this clear mapping, users are much less likely to make errors. 0:12:38.927,0:12:44.049 So far, we’ve seen how direct manipulation enables users to behave with much more expertise 0:12:44.049,0:12:47.681 by leveraging familiar real-world metaphors. 0:12:47.681,0:12:53.293 This “directness in real-world” metaphor — like “to move a slider you move a slider” — 0:12:53.293,0:12:59.458 helps give users a good idea of how each object works and how to control it. 0:12:59.458,0:13:05.391 And also, the interface’s physical form discloses what functionality it provides. 0:13:05.391,0:13:08.939 So this is all great, right? Well, here’s the challenge: 0:13:08.939,0:13:14.932 The reason that we have technology and software as opposed to the real world that we used to have 0:13:14.932,0:13:17.728 is that we want to be able to do something new! 0:13:17.728,0:13:21.754 So, the reason that have a digital slider as opposed to a physical slider 0:13:21.754,0:13:27.413 is that, at least somewhere in the system, there’s some kind of new functionality being offered. 0:13:27.428,0:13:29.592 And so, as Jonathan Grudin points out, 0:13:29.592,0:13:33.733 if technology is providing an advantage — if there is this new functionality — 0:13:33.733,0:13:38.509 at some point, the correspondance to the real world has to break down. 0:13:39.094,0:13:46.222 So this gap between the new technology and the current practice is necessarily going to be there. 0:13:46.222,0:13:51.521 But your goal, as a designer, is to minimize this distance as much as possible. 0:13:51.844,0:13:54.333 One of my favourite examples of a user interface 0:13:54.333,0:14:00.888 that has this property of offering new functionality but minimizing the distance to current practice 0:14:00.888,0:14:04.101 is the system for DJ’s called “Final Scratch.” 0:14:04.101,0:14:06.675 This is a photograph that [inaudible] Hartman took, 0:14:06.675,0:14:11.860 and what you see here is that the DJ is operating two turntables, 0:14:11.860,0:14:15.222 much as one would do with normal vinyl. 0:14:15.222,0:14:21.066 The difference is that this is special vinyl: It has a code on the record, 0:14:21.066,0:14:28.472 and that code is being used to control a Linux system that you see on the laptop off on the left. 0:14:28.472,0:14:33.071 And so, as opposed to the record playing music that’s piped out to the speakers, 0:14:33.071,0:14:38.553 the record plays a code to the computer, and the computer plays the music to the speakers. 0:14:39.553,0:14:43.499 So why is this a good idea? Well, there’s a couple of reasons: 0:14:43.499,0:14:48.479 One, it means you can play anything, not just something that’s been produced into vinyl. 0:14:48.479,0:14:52.408 Another one is that you only have to carry two record[s], not 200. 0:14:52.408,0:14:55.490 And, more generally, it gives you all of the benefits of digital music 0:14:55.490,0:14:58.852 like, you can produce it in the morning and play it that evening — 0:14:58.852,0:15:02.444 you don’t have to wait several months for production to happen. 0:15:02.444,0:15:04.778 When used well, physical interfaces 0:15:04.778,0:15:10.275 that leverage people’s dexterity, manual abilities, and intuitions about the physical world 0:15:10.275,0:15:12.955 can be incredibly powerful. 0:15:12.955,0:15:16.550 These physical interfaces can also yield an experience that’s more fun to watch, 0:15:16.550,0:15:19.972 which, if you’re a DJ, is really important. 0:15:19.972,0:15:22.001 And, finally, here’s some resources 0:15:22.001,0:15:29.372 if you’d like to learn about mental models, errors, and butterfly ballots.