为人类更好的生活而设计,第二部分

Joel on Software

 

为人类更好的生活而设计,第二部分

by Joel Spolsky

Thursday, April 27, 2000

原文链接   http://www.joelonsoftware.com/uibook/chapters/fog0000000063.html

 

      当Macintosh刚出来时候,Bruce "Tog"Tognazzini在苹果开发者杂志的UI部分由一个专栏,他谈论了很多人们写信反映的有趣的界面设计问题。这专栏在他的网站持续到现在。专栏已经被收集起来并出版了好几本伟大的书籍,像Tog on Software Design,这本书很好的介绍了UI设计并且写的非常有意思(Tog on Interface更好,不过已经绝版了。)

      Tog发明了一米高菜单栏的概念,用来解释为什么Macintosh上总是在屏幕的顶端的菜单栏比Windows上总是在应用程序里面的菜单栏更容易使用。当你想要点击Windows上的文件菜单,你必须瞄准半英寸宽,四分之一英寸高的地方。你必须把鼠标移动并且水平位置和垂直位置都要定位得相当精确。

      当时在Macintosh上,你可以向上猛拉鼠标,而不用担心拉得太高,鼠标会停在屏幕的边缘-就是在使用菜单栏时正确的垂直位置。因此,事实上,你的目标仍然只有半英寸宽,但是有一米高。你只需要关心鼠标水平的位置,而不用担心垂直位置,因此点击菜单更容易了。

      基于这个原则,Tog提出了一个非常流行的测试题:在屏幕上的5个点中哪个用鼠标最好点中?答案是:四个屏幕角落的点(这四个点只需要向角落移动鼠标就行了),加上,鼠标当前点中的点,因为鼠标已经不需要移动了。

      一米高菜单栏的原则相当的有名,但是并不是人人都知道,因为在Windows95团队在制作左下角的开始按钮时完全忽略了它。实际上,开始按钮离屏幕左下角刚刚好差2个像素。由于这天杀的2个像素,就像Tog写的,微软真正的"死在了终点线前",而且这种情况使得点中开始按钮更加困难。这个按钮原本可以有一平方米那么大,觉得可以用鼠标点中。但是由于一些我不知道的原因,并没有这么做。上帝帮帮我们吧!

      在上一章,我们说到了用户有多讨厌阅读,而且会。同样的:

用户也不能很好的控制鼠标。

      我想说的不是字面上的那个意思。我是说,你应该把你的程序设计得足够好而不要求人们需要精确的运用鼠标的能力。6的原因:

  1. 有时候在人们不是在用最佳的点击设备,像跟踪球,触摸板和TkinkPad上的小红帽。这些都是比真正的鼠标更难控制。
  2. 有时候人们在很差的环境下使用鼠标:拥挤的桌面;肮脏跟踪球使光标乱跳;或者鼠标本身就是5美元的便宜货,就是不能正常使用。
  3. 有些人是计算机新手,还不会精确的控制鼠标。
  4. 有些人就是不能精确使用鼠标,而且永远不能。他们可能有关节炎,手腕综合症;他们可能非常年轻或者非常老;或者有一些残疾。
  5. 有些人发现双击鼠标而不轻微的移动鼠标是非常困难的。结果他们经常在打开应用程序的时候拖动了图标。你可以分辨出这种人,因为由于他们打开应用程序的时候总是拖动图表因此他们的桌面都非常乱。
  6. 即使在最佳的情况下,大量使用鼠标会使人觉得很慢。如果你让别人用鼠标实现多步的操作,他们会觉得效率低下,转而觉得UI反应迟钝,会让他们不开心。

      早些年,我还在做Excel工作的时候,笔记本电脑还没有定点设备,因此微软把追踪球做到了键盘的一边。鼠标用手腕和大部分的手指控制。这和写字很像,而且你在小学学写字的时候就练就了精确的控制技能。但是,追踪球只用大拇指控制。结果,要达到同样的精确度控制追踪球就比控制鼠标难度大的多。大部分人都能控制鼠标精确到1到2像素,但是只能把追踪球精确到3到4像素。在Excel团队中,我总是让人们使用追踪球测试他们的新界面而不是只使用鼠标,来亲身体验那些不能准确控制鼠标的人感受。

      在UI元素中最让我烦恼的是下拉框。就是长这个样子的东西:

 

      当你点击向下的箭头时,它就展开来:

 

      考虑一下用鼠标选择一个选项需要做多少事情,比如说,选择Times New Roman。第一,你必须点中向下箭头。然后使用滚动条,你必须小心的滚动知道能看到Times New Roman。很多下拉框都被设计成一次只显示2个或3个选项,因此滚动这个步骤一点都不简单,特别是,你有很多字体可以选择的时候。你要么小心的拉动滑块(在这么小的范围内,可能这样做并不现实),或者不断的点击第二个向下箭头,或者你可以点击滑块和向下箭头之间的区域-当滑块长的足够程度这方法就行不通了。最后,如果你看到了Times New Roman,你必须点中它。如果你失误了,你必须重新再来一次。把这操作做10次,比如说,你想要把你每一章第一个字母改成花式字体,现在你真的绝望了。

      下拉框更讨人厌的地方是有一个很明显的解决方案:只要让下拉框伸长到正好可以容纳所有的选项。90%的下拉框甚至都不充分利用下面的空间,真是罪过啊。如果在编辑框和屏幕底部之间没有足够的空间,那么下拉框应该向上移动直到容纳所有的选项,即使需要移动到屏幕的顶部到屏幕的底部。如果这样还有一些选项容纳不下,那也应该在鼠标接近下拉框的底部的时候能自动向下滚动而不用可怜的用户自己点击滚动条。

      更不要让我点击编辑框右边的小箭头才弹出下拉框:让我能在点击编辑框的任何地方的时候就能弹出来。这使得目标变大了10倍,用鼠标更容易点中目标。

      让我们来看看另一个问题:编辑框。你也许注意到几乎所有Macintosh使用的编辑框是很肥的,宽的,用黑体的叫做Chicago的东西,这让很多图形设计师看来很丑陋。图形设计师(不同于UI设计师)都知道细的,不等距的字体更优雅,更好看,而且更容易阅读。这些都是正确的。但是图形设计师都是从纸上总结出这些东西,而不是在屏幕上。当你需要编辑文字时候,等距字体比不等距字体更有优势:对一些很窄的字母像"l"和"i"更容易辨别和选择。我知道这些是在我看到一个60岁老人做可用性测试之后,他那时候在编辑他所在的街道名,名字是好像是Fillmore Street。我们使用的是8磅的Arial字体,编辑框就像这个样子:

 

      可以看到I和L只有1个像素宽。小写I和小写L只有一个像素的差距。(同样的,几乎不可能辨别小写的"RM"和小写的"M",这编辑框可能实际上就是Fillrnore。)

      很少的人会注意到他们是否错误的输入了Flilmore或Fiilmore或者Fillrnore,即使他们注意到了,他们也需要花不少时间用鼠标选择令人厌恶的字母来修正它。实际上,他们用2个像素宽的闪烁的光标去选择一个字母本身就很痛苦了。看一下如果使用宽字体会有多简单(这里显示的是用Courier黑体)

 

      它占用了更多的空间而且不怎么好看。接受它吧!它容易使用得多;它在使用的时候感觉更好,因为用户输入的时候,编辑框变化明显,字体清晰,使得编辑容易得多。

      有一种普遍的程序员思维模式:只存在3中数字:0,1和n,所有的n都是相同的。这种思维模式来自一种写程序时候的信仰(可能是正确的),程序中不应该存在除了0和1之外的任何常数。(除了0和1的其他常数被当作"幻数"。我不想调查这种情况。)

      举个例子,程序员会这样想,如果你的程序允许你打开多个文档,那就必须允许打开无穷多个文档(内存允许的情况下),或者至少2^32,这是程序员允许的唯一幻数。程序员会鄙视一个最多只能打开20个文档的程序。什么是20?为什么20?这甚至不是2的幂!

      另外一个认为所有n都是相同的原因是,程序员一般认为如果允许用户能移动窗口和改变窗口大小,那么他们对于窗口的位置有完全的自主权,可以移动到右下角直到只剩下一个像素。毕竟,把窗口移动到距屏幕顶部2像素和移动到屏幕顶部是"差不多"相等的。

      但是,这是这并不正确。事实证明,有很多理由需要你把窗口准确得移动要屏幕的顶部(最大化的占用屏幕),但是,没有任何理由让你把窗口移动要窗口顶部距离屏幕顶部2像素的位置。因此,0比2更适合。

      Nullsoft的程序员,WinMap的创造者,躲开了囚禁我们10多年的程序员思维模式。当你把窗口拖动到屏幕边缘时,只差几个像素的时候,它会自动的贴到屏幕的边缘。这很有可能就是你想要的,因为0比2更有合适。(Juno的主窗口也有类似的特性:它是我见过的唯一一个"锁定在箱子里"不能拖动到屏幕边缘外的应用程序。)

      你失去了一些灵活性,但是相应的,让你的用户界面认识到精确的控制鼠标是很困难的,因此为什么你必须要精确控制鼠标?这个新观念用一个智能的方式减轻了窗口管理的负担。认真设计的的用户界面吧,使得我们能轻松得实用软件。就假装我们是一群大猩猩,或者是聪明的红毛猩猩,我们对于使用鼠标真的有困难。

 

 

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页