为人类更好的生活而设计
by Joel Spolsky
Wednesday, April 26, 2000
User Interface Design for Programmers 第六章
原文链接 http://www.joelonsoftware.com/news/fog0000000227.html
当你设计用户界面的时候,记住两条原则是非常有用的:
-
用户并没有使用手册,而且如果他们有,他们也不会去读看。
-
实际上,用户不会去看任何东西,如果他们看了,他们也不想怎么做。
严格来讲,并不是这样子的,实际上,你应该认为实际情况就是如此,因为这会使你的程序更友好。设计时候遵从这些原则是尊重用户,也就是意味着,不要对用户有更好的尊重。糊涂了?听我解释。
使东西容易使用是什么意思?衡量它的一种方法是看现实世界中在一定时间内能完成任务的用户的百分比。比如说,假设你的程序目的是为了把数码相机的照片转换成网站照片专辑。如果你有一组中等水平的用户,让他们使用这个软件完成任务,如果你的程序可用性越高,那么能创建网站照片专辑用户的百分比也就越高。想象有100个用户。他们并不是非常熟悉电脑。他们有各种不同的特长,但是他们中的一些人在计算机方面完全是外行。而有些人在使用你的程序的时候心烦意乱。电话在响。什么?孩子在哭。什么?猫一直在追着老鼠跳上跳下。太吵了,我什么都听不到了!
现在,即使还没有进行这个试验,我也很有信心有些人一点头绪都没有,或者有些人会花很多时间做这个。我不是说这些用户蠢。正好相反,他们可能非常聪明,或者是全能运动员,但是当他们对着你的程序时,并没有全心全意用你的程序。他们只是保持30%的注意力,因此你必须帮助这些不集中精神的用户使用电脑。
用户不会去读手册。
第一,他们实际上并没有手册。可能没有发行手册。如果有,用户可能没有拿到手,由于很多合理的原因:他们在飞机上;他们使用的是网站下载版本;他们在家但是手册在办公室;他们的IS部门没有给他们手册。即使他们有手册,他们不到最后关头也不会去看手册。只有很少的例外,用户会抱着手册睡觉并且开始使用你的软件之前认真阅读。一般来说,你的用户只是想把事情给做完,他们把看手册当作浪费时间,至少,会觉得看手册会妨碍他们做事。
阅读本书会使你成为有修养人群中的一员。是的,我知道,使用电脑的人都有很强的阅读能力,但是我向你保证他们中有很大比例觉得看手册很乏味无趣。手册的语言可能不是他们的母语,且他们不是很熟练。他们可能还是个小孩!如果必须的话他们也能看懂手册,但是他们不到万不得已不会去看。用户只会在用到的时候看手册上一些非常基本的东西。
所有这些结果导致你别无选择只能设计你的软件使它一开始就不需要阅读手册。我能想到的唯一的例外就是,如果你的用户没有任何这方面的知识(他们不知道程序是干什么的)但是他们知道他们自己需要学习。有一个很好的例子,就是Intuit的非常流行的小个体户的记账程序QuickBooks。用这个程序的大部分人是小个体户,他们不知道怎么记账。QuickBooks的用户手册就是针对这些人,而且教他们记账的基本原则。除了这样没有其他的方式。还是一样,如果你知道如何记账,你就不需要QuickBooks手册,就非常容易使用。
实际上,用户不会去读任何东西。
这可能听起来有点苛刻,但是当你做可用性测试的时候你会看到,有一些用户看也不看你显示在屏幕上的字。如果你以错误对话框的形式弹出,他们也不会去看。这可能会使作为程序员的你难堪,因为你认为弹出对话框是为了用户。嘿,用户!你不能打开那个文件,我们不知道那个文件的格式!还是那样,经验表明你放在对话框上的字越多,读它的人越少。
用户不去读手册这个事实使得软件设计师想要带领用户走一遍程序流程的方式教用户如何使用。你可以在很多地方看到这种方式。原则上,这样没错,但是实际上,人们厌恶阅读意味着这种方式也会给你带来麻烦。有经验的UI设计师会最少化对话框的字以增加用户阅读对话框的可能性。当我在Juno的时候,UI人员明白这个原则,试着写一些简短的,清晰的,简单的文字。可悲的是,公司的CEO曾经在常春藤联盟院校里主修英语;他没有受过UI设计的训练,但是他自认为是一位优秀的散文编辑。因此他否决了专业UI设计师的措辞,增加了很多他自己的废话。Juno一个典型的对话框就是这样:
与Windows相同功能的对话框对比:
直觉上,你可能猜测Juno版本有80个字的说明,应该比只有5个字的Windows版本"好"(换言之,容易使用)。实际上,当你对这种事情做可用性测试的时候,你会发现
- 高级用户跳过说明。他们知道如何使用而且他们没有时间读这些复杂的说明。
- 大部分新手用户跳过说明。他们不喜欢读太多东西而且他们希望默认的方式能行。
- 剩余的认真读说明的新手用户(他们中的一些人去读这些只是因为正在做可用性测试而且他们感觉是被迫的)常常会被如此多的字和概念给弄晕。因此即使他们第一次非常自信他们能使用这个对话框,这些说明实际上让他们更疑惑。
Juno的管理方式显然毫无道理。更重要的是,如果你在哥伦比亚大学主修英语,你的文学修毕比一般人要高,你应该对对话框上文字的措辞要非常小心。长话短说,简化文字,把复杂的从句扔进括号中,而且做可用性测试。不要写出像常青藤联盟院校备忘录那样的东西。即使增加一个"请"字,这可能会使你看起来更有礼貌,但也会降低人们的速度;用百分比衡量的话,增加字数会降低人们读文本的百分比。
另外一个很重要的一点是很多人对计算机感到害怕。你可能知道,对吗?但是,你可能没有意识到这其中牵涉到的东西。我曾经看过一个朋友退出Juno的过程。由于一些原因,她遇到了一些状况。我注意到当她退出Juno的时候,下面的对话框弹了出来:
她点击了No,而且她看到Juno没有退出非常吃惊。实际上,Juno是在询问她是否确定她的选择立即让她觉得她做了错误的操作。通常来说,当程序向你确认一个命令的时候,是因为你做了一些你可能会后悔的事情。她就假定如果计算机质问她的决定,那么计算机肯定是正确地,毕竟计算机就是计算机而她只是一个人,因此她点击了"No"。
用11个字询问人们是不是太多了?好的,表面是这样的。第一,退出Juno并不会产生有害的影响,Juno应该像其他GUI程序那样直接退出而不需要确认。但是,即使你认为在退出之前让人们确认是至关重要的,你也应该只用2个字而不是11个字:
删掉完全不需要的"thank you"和让人觉得不安的"are you sure?",这对话框出现问题的情况就减少了。用户当然会去读2个字,并对程序说"嗯,额?",然后按下Yes键。
当然,你会说,Juno的退出确认对话框只使很少的人犯错误,但是这件事情重要吗?每个人最后都能退出程序。但是这就是一个程序容易使用和难以使用的区别。对于你写给毫无经验的初级用户使用的程序,即使是聪明的,经验丰富的高端用户也会感激你。旅馆的浴缸都有一个很大的扶手。这是用来给帮助残疾人的,但是每个人在离开浴缸的时候都会抓住扶手。即使对身体健全的人来说这也使他们生活更容易。
在下一章,我将会说一些关于鼠标的东西。就像有些用户不去读一样,有些人并不擅长使用鼠标,因此你必须考虑他们。