/
screenshots-from-windows-vista-update.html
215 lines (177 loc) · 11.3 KB
/
screenshots-from-windows-vista-update.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://gmpg.org/xfn/11">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Screenshots from Windows Vista Update — Martin Kleppmann‘s blog</title>
<link rel="stylesheet" type="text/css" media="screen, print, handheld" href="/css/typography.css" />
<link rel="stylesheet" type="text/css" media="screen" href="/css/style.css" />
<link rel="stylesheet" type="text/css" media="all" href="/css/pygments-default.css" />
<link rel="stylesheet" type="text/css" media="all" href="/css/customizations.css?2" />
<!--[if lt IE 8]>
<link rel="stylesheet" href="/css/ie.css" type="text/css" media="screen" charset="utf-8" />
<![endif]-->
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://feeds.feedburner.com/martinkl?format=xml" title="Martin Kleppmann's blog" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
<script src="http://downloads.mailchimp.com/js/jquery.form-n-validate.js" type="text/javascript"></script>
<script src="/form.js" type="text/javascript"></script>
</head>
<body class="wordpress">
<div id="page">
<p id="top">
<a id="to-content" href="#content" title="Skip to content">Skip to content</a>
</p>
<div id="header">
<div class="wrapper">
<strong id="blog-title">
<a href="/" title="Home" rel="home">Martin Kleppmann</a>
</strong>
<p id="blog-description">Entrepreneurship, web technology and the user experience</p>
</div>
</div>
<div id="sub-header">
<div class="wrapper">
<div id="navigation">
<ul>
<li class="page_item"><a href="/contact.html" title="About/Contact">About/Contact</a></li>
</ul>
</div>
</div>
</div>
<hr class="divider">
<div class="wrapper">
<div id="content">
<h1>
<div style="float: right; padding: 0 0 10px 20px;">
<script type="text/javascript">
tweetmeme_source = 'martinkl';
</script>
<script type="text/javascript" src="http://tweetmeme.com/i/scripts/button.js"></script>
</div>
Screenshots from Windows Vista Update
</h1>
<p>Jimmy sent me some screenshots of Windows Vista which exemplify <a href='/2007/07/19/yes-no-cancel-causes-aspirin-sales-to-soar.html'>my complaints about unclear labelling of buttons</a> – a usability problem which occurs so frequently that I’ve named this whole blog after it. He was running Windows Update, which was installing a bunch of software updates:</p>
<p align='center'><a href='/2007/11/winupdate1.png' title='Screenshot of Windows Update
running'><img alt='Screenshot of Windows Update running' src='/2007/11/winupdate1.png' /></a></p>
<p>It turned out that he didn’t actually want to install those updates now, so he hit the <em>“Stop installation”</em> button. Up pops a dialog box:</p>
<p style='text-align:
center'><a href='/2007/11/winupdate2.png' title='Screenshot of dialog box: Windows needs your
permission to continue. Continue,
cancel.'><img alt='Screenshot of dialog box: Windows needs your
permission to continue. Continue, cancel.' src='/2007/11/winupdate2.png' /></a></p>
<p>Now what does this mean? Does <em>continue</em> mean <em>“continue stopping the installation”</em>, or does it mean <em>“continue the installation”</em>? If we press <em>cancel</em>, will this cancel the request to stop installing updates, or will it cancel the installation process itself? And what does the red X button in the corner do? (The temptation to press X in cases like this is huge: I consider it to mean “shut up, go away, I don’t want to think about what you are asking me”.)</p>
<p>But there is still hope: a <em>“Details”</em> button, which will surely reveal the answer and tell us what button to press. So we click <em>“Details”</em>:</p>
<p style='text-align:
center'><a href='/2007/11/winupdate3.png' title='Screenshot: the details of the operation are
revealed to be a string of letters and
numbers.'><img alt='Screenshot: the details of the operation
are revealed to be a string of letters and numbers.' src='/2007/11/winupdate3.png' /></a></p>
<p>Oh, that was really useful. You know, we love hexadecimal numbers. Thank you, Microsoft!</p>
<p>But Microsoft are not the only offenders in this regard. <a href='http://www.littlespringsdesign.com/blog/2007/02/12/yesno-okcancel/'>Barbara Ballard</a> is having similar problems with OpenOffice.</p>
<div id="disqus_thread"></div>
</div>
<div id="sidebar">
<div id="carrington-subscribe" class="widget">
<h2 class="widget-title">Subscribe</h2>
<a class="feed" title="RSS 2.0 feed for posts" rel="alternate" href="http://feeds.feedburner.com/martinkl">
Site <acronym title="Really Simple Syndication">RSS</acronym> feed
</a>
<div id="mc_embed_signup">
<p>
Enjoyed this? To get notified when I write something new,
<a href="http://twitter.com/martinkl">follow me</a> on Twitter,
<a href="http://feeds.feedburner.com/martinkl">subscribe</a> to the RSS feed,
or type in your email address:
</p>
<form action="http://rapportive.us2.list-manage.com/subscribe/post?u=9a1adaf549282981a96e171d1&id=4543b695f6"
method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
<fieldset>
<div class="mc-field-group">
<label for="mce-EMAIL">Email:</label>
<input type="text" value="" name="EMAIL" class="required email" id="mce-EMAIL">
<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="btn">
</div>
<div id="mce-responses">
<div class="response" id="mce-error-response" style="display:none"></div>
<div class="response" id="mce-success-response" style="display:none"></div>
</div>
</fieldset>
</form>
<p class="disclaimer">
I won't give your address to anyone else, won't send you any spam, and you can unsubscribe at any time.
</p>
</div>
</div>
<div id="carrington-about" class="widget">
<div class="about">
<h2 class="title">About Martin Kleppmann</h2>
<p>Hello! I'm Martin Kleppmann, entrepreneur and software craftsman in
<a href="http://en.wikipedia.org/wiki/San_Francisco">San Francisco</a> (previously in
<a href="http://en.wikipedia.org/wiki/Cambridge">Cambridge, UK</a>). I care about
making stuff that people want, great people and culture, the web and its future,
marvellous user experiences, maintainable code and scalable architecture.</p>
<p>I am co-founder of <a href="http://rapportive.com/">Rapportive</a>, together with
<a href="http://www.samstokes.co.uk/">Sam Stokes</a> and
<a href="http://twitter.com/rahulvohra">Rahul Vohra</a>. We make a nifty tool which
gives you profiles about your contacts right inside Gmail. Previously I founded Go Test It
(<a href="http://go-test.it/blog/2009/11/30/red-gate-acquires-go-test-it.html">acquired</a> by
<a href="http://www.red-gate.com/">Red Gate Software</a> in 2009).</p>
<p>I'd love to hear from you, so please leave comments, or feel free to
<a rel="author" href="/contact.html">contact me directly</a>.</p>
</div>
</div>
<div id="primary-sidebar">
</div>
<div id="secondary-sidebar">
<div id="carrington-archives" class="widget">
<h2 class="title">Recent posts</h2>
<ul>
<li>16 Aug 2011: <a href="/2011/08/16/founderly-interview.html">My FounderLY interview</a></li>
<li>15 Mar 2011: <a href="/2011/03/15/whats-so-special-about-y-combinator.html">What's so special about Y Combinator?</a></li>
<li>07 Mar 2011: <a href="/2011/03/07/accounting-for-computer-scientists.html">Accounting for Computer Scientists</a></li>
<li>21 Dec 2010: <a href="/2010/12/21/having-a-launched-product-is-hard.html">Having a launched product is hard</a></li>
<li>30 Oct 2010: <a href="/2010/10/30/intuition-has-no-transfer-encoding.html">Intuition has no transfer encoding</a></li>
<li><a href="/archive.html">Full archive</a></li>
</ul>
</div>
</div>
</div>
</div> <!-- div.wrapper, started in 'before.html' -->
<hr class="divider" />
<div id="footer">
<div class="wrapper">
<p id="generator-link">
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/"
style="float: left; padding: 0.3em 1em 0 0;"><img alt="Creative Commons License"
src="http://i.creativecommons.org/l/by/3.0/88x31.png" /></a>
Unless otherwise specified, all content on this site is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons
Attribution 3.0 Unported License</a>.
Theme borrowed from
<span id="theme-link"><a href="http://carringtontheme.com" title="Carrington theme for WordPress">Carrington</a></span>,
ported to <a href="https://github.com/mojombo/jekyll">Jekyll</a> by Martin Kleppmann.
</p>
</div>
</div>
</div>
<script type="text/javascript">
var disqus_shortname = 'martinkl';
var disqus_url = 'http://martin.kleppmann.com/2007/11/24/screenshots-from-windows-vista-update.html';
var disqus_identifier = disqus_url;
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-7958895-1");
pageTracker._trackPageview();
} catch (err) {}
</script>
</body>
</html>