第一章:你叫谁笨蛋?

艾迪生韦斯利专业

9月1日至9月30日,参加比赛可获得一本免费的这本书.看看作者大卫·普拉特的博客在微软的子网。

“那绝对卖不出去,”我在书店里嘲笑这个书名。“谁会公开买一本向全世界宣称自己是个傻瓜的书呢?”这就像购买标有“超小型”的避孕套一样。’”

我们都知道结果如何,不是吗?DOS的假人和它的同伴,Windows的假人,成为有史以来最畅销的电脑书籍。这个概念已经传播到远远超出计算领域的领域,各种各样的头衔给假人的酒,给假人的盐水水族馆,乳腺癌假人.根据“为傻瓜出版你的书”(Getting Your Book Published for Dummies)的数据,这个系列已经卖出了1亿多册。我买这本书是为了帮我找到出版商来出版你现在正在读的这本书。1

电脑让用户觉得自己很笨。受过教育的人无法让那个令人愤怒的米色盒子做他们想做的事,他们不是拿着火把和干草叉向微软前进,把比尔·盖茨的肖像挂起来,而是责备自己,说:“天哪,我一定是愚蠢的。”在这样一个社会里,做事的人永远不会有错,人们会因为餐馆洒了自己的咖啡而起诉他们,让用户为任何事情责备自己是一项伟大的成就,尽管这可能不是软件供应商的主要意图。为什么程序员设计的应用程序会让人们有这种感觉,为什么人们会顺从地接受计算机的这种滥用?

我们来自哪里

最早的计算机程序的设计者并不关心产品是否易于使用。解决手头的计算问题——例如,使用打印机让文字在纸上正确地打印出来——是如此困难,以至于没有人有时间或金钱来让用户的生活变得更容易。一台计算机的思考时间极其昂贵,远远超过了用户的时间。迫使人类用户记住复杂的命令,而不是使用计算机提供列出这些命令的菜单,这在经济上是有意义的。现在,相对成本发生了逆转,但几乎所有30岁以上的业内人士都是在这种环境下长大的。不管我们多么努力地想要把它抛在脑后,它还是会影响我们今天的思维。想想那些在上世纪30年代的大萧条中长大的年长亲戚,即使在今天,他们也无法忍受扔掉一只只有一个洞的袜子。

就像在20世纪早期开车一样,早期的用户认为计算机是一件让人头疼的事,我们很少失望。几乎所有的用户本身就是程序员。他们中很少有人觉得有必要,甚至常常是想让事情变得更简单。我们接受了这些困难——定量计算时间、晦涩难懂的指令、糟糕的文档——就像那些驾驶先驱接受了手动引擎和不断的轮胎穿孔一样。这是最好的。我们很高兴完成了重要的计算工作(统计人口、破译敌人密码),就像他们很高兴不再每天从谷仓里铲马粪一样。我们喜欢摆弄我们的程序,以其设计者从未想过的方式使用它们,就像早期的驾车者喜欢摆弄他们的引擎一样。如果有人告诉亨利·福特,他的T型车需要一个杯托,他会当面嘲笑那个人。

在那些日子里,有一种感觉,使程序易于使用是完全错误的。如果一个程序很难写,它应该难于使用,只有那些通过智力斗争证明了自己价值的人才能从程序员的努力中获益。以惊人的喜爱我记得,即使在今天,我感到的骄傲发现命令打印一个文档在我用过的第一个主要计算机系统(1975年,在大学一年级)没有打印或P,而是,信中问,因为你将文档打印队列。我学会了一个神奇的单词。我正在成为上帝的选民之一。我很聪明!

但随着硬件价格的下降,电脑从有空调的玻璃房间,由大祭司管理,到电脑爱好者的工作台,再到个人员工的台式机和普通人的家里,它们必须变得更容易使用。因此,应用程序的开发人员必须开始投入时间和金钱来设计一个用户可以实际使用的程序。为什么它没有起作用?

为什么现在仍然很糟糕

计算机程序处理人类用户的部分——从用户那里获取命令和输入数据,向用户显示信息和输出数据——被称为用户界面。与计算的许多领域一样,用户界面设计是一项高度专业化的技能,大多数程序员对此一无所知。他们之所以成为程序员,是因为他们善于与微处理器(机器核心的硅芯片)沟通。但用户界面的定义是,它的存在是为了与一个完全不同的硬件和软件进行交流:一个活生生的人。与逻辑清晰、无错误、愚蠢的芯片交谈的技巧与与非理性、易出错、聪明的人交谈的技巧完全不同,这一点大家都不应该感到惊讶。但擅长前者的人会自动被认为擅长后者。他通常不是,而且他几乎从来没有意识到他不是。这就是导致程序员的用户界面设计糟糕的原因,至少从那些使用垃圾的可怜傻瓜的角度来看是这样。

这是怎么发生的?为了编程,程序员必须有一定的智力水平。他们中的大多数都很擅长处理硅芯片;否则,他们很快就会被解雇,并被鼓励去从事另一种可能对社会有益的职业,比如修屋顶。他们怎么能在设计用户界面的时候变成脑叶切除的白痴呢?原因很简单,和世界上所有沟通失败的原因一样:他们不了解他们的用户。

每个程序员都认为他确切地知道用户想要什么。毕竟,他整天每天都在使用电脑,所以他应该知道。他对自己说,“如果我设计一个我喜欢的用户界面,用户就会喜欢它。”错了!除非他是为精疲力竭的电脑怪才编写程序,否则他的用户不是他自己。我告诉我的编程学生,在他们的心里刻上“无用输入,无用输出”和“总是剪卡片”这句话,普拉特的用户界面设计第一、最后和唯一法则:

了解你的使用者,因为他不是你

举个最简单的例子,考虑一个个人理财程序,如Quicken或Microsoft Money。每隔几周就会用几个小时。用户将无法记住上一个会话中程序的操作,就像她每天使用的应用程序一样。因此,她需要更多的提示和指导,而这对于每天都在工作的用户(比如程序员)来说是一种侵扰和烦恼。程序员不可能站在这样一个用户的角度考虑问题。程序员对程序了解得太多了,谁不知道呢。

因为他们在用户与自己相似的误解下工作,程序员在设计用户界面时犯了两个主要错误。比起易用性,他们更重视控制,专注于让复杂的事情成为可能,而不是让简单的事情变得简单。他们希望用户学习和理解他们程序的内部工作方式,而不是反过来。这两件事我都做过,现在我后悔年轻时愚蠢的行为。

控制与易用性

每次我在公司上课,我都会问有多少学生开手动、手动换档的汽车(就像我一样)。通常大约有一半的学生举手。然后我问还有多少如果他们的妻子允许,就开手动档,或者他们需要开小型货车,因为他们正在变成像我一样的老臭脾气。通常剩下的学生中有一半会举手。2“现在,你是否同意,”我问,“手动档需要更多的学习和使用工作,但如果你做得对,会有更好的控制和性能?”他们知道自己正被带到一个他们不想去的地方,但在这一点上他们通常无法逃脱,所以他们怀疑地同意了。“现在,你认为在美国销售的手动变速杆汽车的比例是多少?”他们会局促不安地说:“我敢说一定很低;30% ?”他们的愿望。销售额估计从10%到14%不等。为了便于比较,我们称之为12.5%,或八分之一。

这意味着8个程序员极客中有6个非常重视控制和性能的小幅提升,以至于当他们花25,000美元或更多购买Motor City iron时,他们愿意在产品生命周期中不断做更多工作来获得它。但当提供相同的选择时,普通人群中只有八分之一的人会做出相同的决定。实际上比这要低得多,因为所有的6个极客都在那1 / 8。愿意忍受额外努力的正常人的比例几乎为零。程序员的价值控制。用户重视易用性。你的用户不是你。

这里有一个错误的例子。美国电话电报公司(AT&T)的通讯录帮助曾经是简单和容易的。当你要别人的电话号码时,自动语音会说:“你要的号码是555-1212。”请记下来。”如果你站在直线上,它会重复号码,这样你就能确保你写对了。简单。一件容易的事。不可能搞砸的。好。然后AT&T增加了自动拨号码的功能。 They'd say, "The number you requested, 555-1212, can be automatically dialed for an extra charge of 50 cents. Press 1 to accept and 2 to decline." The simple thing was as easy as ever, and the newer, more powerful feature was available to those who wanted it enough to pay for it. Anyone who didn't like the new feature could simply hang up. Then some idoit [原文如此,请注意3.有一个非常糟糕的主意。上次我打AT&T电话查询服务时,它说:“您所要求的号码可以自动拨打,但需要额外付费50美分。”按1接受,按2拒绝。”它不会给我号码,直到我输入我的选择。我不得不采取电话离开我的耳朵,视觉上重拾那些键盘(45岁左右)后变得困难,放下铅笔我另一只手拿着写下号码,按正确的按钮,再次拿起铅笔,把电话回我的耳朵。只有到那时它才告诉我号码是555-1212。复杂、强大的操作成为可能,简单的操作不再简单。这个系统的设计者显然重视控制而不是易用性,但我保证他的用户不会。不管是谁给这个世界造成了这样的伤害,就应该每天强迫他这么做500次。一周后他就会自杀。

另一方面,我的手机运营商Verizon将易用性提升到了一个新的高度。威瑞森公司意识到几乎每个人都打电话给目录助手,因为她想马上给某人打电话,所以为什么不直接打呢?当我用手机拨打电话查号台时,自动语音提示:“号码是555-1212。”我现在为您转接。”它是自动发生的,我没有任何动作,甚至没有思考。这个新号码会一直在我手机最近拨通的号码列表中,这样如果我想的话,就可以把它添加到我的通讯录中。少数只想把电话号码写下来的人可以直接挂掉,反正他们也会挂掉。简单的事就是简单。复杂而强大的东西也是简单的。这个设计的好与AT&T的差是一样的。4

我不在乎你的程序是如何运行的

程序员在设计用户界面时犯的第二个错误是强迫用户理解程序的内部工作原理。程序员不是根据用户的思维过程来调整自己的用户界面,而是强迫用户根据自己的思维过程来调整。此外,她通常不会认为这种方法有什么问题。她会说:“我的程序就是这样运行的。”她很困惑,为什么有人会问她的用户界面是这样运行的。

这里有一个例子来说明我的意思。打开Windows记事本,或任何其他类型的编辑程序,并键入任意文本。现在选择文件,从主菜单中退出,或者单击标题栏右上角的X框。您将看到消息框显示在图1 - 1

图1.1

图1 - 1

询问用户是否保存更改的记事本

这个盒子到底在问我们什么?它似乎在说一些文件改变了,但我没有看到任何文件在任何地方。“保存更改”到底是什么意思?

相关:
123.4 第1页
第1页,共4页
2021年IT薪资调查:结果在