程式师的使用介面设计手册第七章:为节省大家的麻烦所作的设计,第二部份

作者:周思博(Joel Spolsky)
译:Paul May 梅普华
Thursday, April 27, 2000 A part of Joel on Software, http://www.joelonsoftware.com

当麦金塔刚出来时,Bruce “Tog” Tognazzini 在Apple的开发者杂志写了一个关于使用介面的专栏。大家写了很多有趣的使用介面设计问题到这个专栏让他回答。这些专栏一直持续至今,现在已经是放在他的网站上。同时也被修润后收录在许多好书里,像是Tog on Software Design,这本书非常有趣而且对使用介面设计有很好的介绍(Tog on Interface更棒,不过已经绝版了。)

Tog创造了_哩高功能表_ 的概念来解释,为何麦金塔功能表(总是在萤幕最顶端)比Windows功能表(放在各个应用程式视窗_内_ )好用许多。当你要在Windows里叫用档案功能表时,必须点到一个宽约半吋高约1/4吋的_目标_ 区域。你必须在水平和垂直两个方向精确地把滑鼠移到定位。

可是在麦金塔上可以把滑鼠猛向上推到萤幕顶端,不必费心要推多高,滑鼠自然会在萤幕顶端(也就是使用功能表的正确垂直位置)停住。所以实际上虽然目标区域的宽还是只有半吋,不过高度却有1哩。现在你只要注意游标的水平位置,不需要管垂直方向,所以点选功能表的动作变得容易许多。

基于这个原理,Tog出了一题随堂测验:萤幕上最容易用滑鼠抓到(点到)的五个点在哪里?答案:萤幕的四个角落(基本上只要把滑鼠猛推过去,完全不必定位),再加上滑鼠目前的位置,因为已经到位了。

哩高功能表的原理相当有名,不过一定还不够容易理解,因为Windows 95团队设计「开始」按钮时_完全_ 搞错重点了。「开始」按钮_几乎_ 是放在萤幕的左下角,不过并没有放得_刚刚好_ 。事实上是放在萤幕由左由下算各2个像素的位置。所以只因为这几个像素,微软就变成是「 _弄巧成拙_ 」了(Tog如此形容),结果让「开始」按钮变得很难使用。本来宽高都有一哩,用滑鼠随便按都可以。却因为我不知道的原因变成这样子。我的天啊。

我们在前一章说过,使用者有多么讨厌阅读,除非完全无法完成工作否则尽量避免阅读。同样的:

使用者没办法把滑鼠控制得很好。

我说的并不是字面上的意思。我真正的意思是,你应该把程式设计成不必常常灵活操控滑鼠就能正常使用。这里列出六个主要的原因:

1. 有时候人们并没有用最好的指向装置,他们可能在用轨迹球或轨迹板,或是ThinkPad上的红色小东西,这些装置都比真正的滑鼠难控制。
2. 有时候人们使用滑鼠的环境并不好:拥挤的桌面;滚球脏了所以滑鼠会跳动;也有可能用的是只值5块美元的仿制品,动作根本就不正常。
3. 有些人刚接触电脑,还没有发展出正确使用滑鼠的技巧。
4. 有些人根本就没有精确使用滑鼠的技巧,而且永远都不会有。他们可能有关节炎,手抖,腕道症状;他们也可能很小或很老;或是有其他的残障。
5. 很多人发现连按两下又不动到滑鼠是非常困难的。而动到滑鼠会让启动应用程式变成拖放物件。这种人很容易认,他们的桌面都会乱成一团,因为他们想启动程式时常会变成移动图示。
6. 即使是在最佳的状况下,人们用滑鼠时还是会_感觉慢_ 很多。如果你强迫人们用滑鼠进行多个步骤,他们会觉得自己被卡住了,结果会让使用介面感觉起来反应迟钝,然后会让他们不快乐(这点你应该会知道)。

以前我在Excel团体时,手提电脑还没有附指向装置,所以微软造了一个卡在键盘旁边的夹式轨迹球。要知道滑鼠是由手腕和多根手指操控。用起来很像写字,而你可能在小学就已经发展出很精准的写字技巧了。可是轨迹球完全是用姆指控制的。所以要把轨迹球用到像滑鼠一样是很困难的。大部份人可以把滑鼠控制到只差一两个像素,不过用轨迹球就会变成3或4个像素了。我在Excel团体里一直主张大家要用轨迹球来测试他们的新使用介面,不可以只用滑鼠,这样才能理解无法把滑鼠移到所想位置的感觉。

下拉式组合清单是困扰我最深的使用介面元件之一。就是长相如下的元件:

Font_Dropdown_Collapsed.gif

当你点到向下箭头时,清单就会展开:

Font_Dropdown.gif

想想看要选一个项目(假设选Times New Roman好了)得要多少个精确的滑鼠点选动作。首先得按向下箭头。然后要用卷轴小心的向下卷,直到看到Times New Roman为止。这种下拉清单常会不小心设计成只能同时显示二或三个项目,所以这个卷动操作也不太容易,如果字型很多时更是困难。你必须小心的拖动卷轴(移动范围这么小,实在不可能做到),或者重复按第二个向下箭头,或是点卷动标记和向下箭头间的区域(如果卷动标记很低时也不能用,只会让你更烦)。最后当你好不容易看到Times New Roman之后,还必须点到它才行。如果点错了就要从头来过。如果你想把著作里每一章的第一个字母都设成某个美观的字体,你_真的_ 会很不爽。

正因为有着很简单的解决方法,所以我觉得这个该死的下拉式控制元件更讨厌了:只要让下拉清单长到能容纳所有项目就好了。可是外头90%的组合框根本没有运用所有可以的空间来显示清单内容,这实在是 不像话 。如果主编辑框到萤幕底没有足够空间用的话,下拉清单应该要往_上_ 长到能容纳所有选项,长到顶到萤幕上下边缘也没关系。如果这样还放不下所有项目,当滑鼠接近边缘时清单就会自动卷动,而不是要可怜的使用者去用那个小得可怜的卷轴。

更重要的是,显示清单时不要点编辑框右边那个袖珍箭头,应该按组合框上_任何一处_ 都可以。这样要按的区域就会变大约十倍,用滑鼠应该就能很容易地点到目标。

让我们看看另一个滑鼠使用的问题:编辑框。你可能已经注意到了,在麦金塔上几乎所有的编辑框都是用一种名叫Chicago的**肥胖粗体字**,这种字看起来有些丑,会让绘图设计师痛苦得不得了。绘图设计师(与使用介面设计者不同)被教导的是细瘦而间距不固定的字比较美观优雅而且好读。这当然都是对的。不过绘图设计师的技巧都是在 上而非在萤幕上学到的。当你要_编辑_ 文字时,与间距不固定的字相比,等间距字有个很大的优点:就是像"l"和"i"这种很细的字比较容易阅读或选取。我是在可用性测试中看到一位60岁老人很辛苦地试着编辑街名(好像是Fillmore Street之类的)时才学到这件事。我们用的是8点的Arial字体,所以编辑框的长相如下:

Thin_Edit_Box.gif

注意字母I和L都只有_一个像素宽_ 。小写I和小写L间只差_一个像素。_ (另一个类似状况是几乎不可能分辨出小写"RN"和"M"间的差异,所以编辑框的内容其实可能是Fillrnore)。

只有极少数人会注意到自己把Fillmore错打字Flilmore或Fiilmore或Fillrnore,即使注意到了,要用滑鼠选到打错的字母并且修正可能也要花 很多 的时间。事实上要用闪烁游标(两个像素宽)选取单一个字母也是非常困难。看看如果用肥胖字体(这里用Courier Bold)会有多简单吧:

Fat_Edit_Box.gif

这样就好了。没错,对绘图设计师来说这样会占用较多的空间,看起来也不够酷。认了吧!这样好用多了;当使用者打字时会显示锐利清晰的文字, 感觉 还会更好,而且编辑起来容易多了。


程式员有一个常见的思考模式:数字只有三种:0与1还有_n_ 。如果有_n_ 的话(非0或非1的数),所有_n_ 大概都一样。会有这种思考模式,可能是因为深信程式码中不应该有0和1以外的数值常数。(0和1以外的常数被视为「魔术数字」。我才不要_那么_ 偏执呢。)

举例来说,程式员习惯上认为,如果程式允许开启多个文件,就必须允许开启_无限_ 多个文件(只要记忆体足够),否则至少也要有2^32个(程式员唯一勉强接受的魔术数字)。程式员习惯以鄙视的眼光看待只能开启20个文件的程式。20是什么意思?为什么是20?20甚至还不是2的乘幂!

所有的n大概都一样 的想法还有另一个证据,就是程式员习惯上认为如果使用者可以移动视窗并改变视窗大小,应该就可以_完全_ 自由地控制,可以移到或用到萤幕最边边。所以把视窗放在离萤幕顶端2个像素,和_刚好_ 放在萤幕顶端「似乎是一样的」。

不过这并不是事实。结果显示,有很多好理由可以说明为何应该把视窗放到萤幕最顶端(把萤幕可用区域放到最大),可是却完全没有理由要在视窗上缘和萤幕顶端留2个像素的空隙。所以实际上0比2合理多了。

Nullsoft(WinAmp的创造者)的程式员终于避开了这个禁锢我们十年之久的思考模式。WinAmp有个很棒的功能。当你把视窗拖到 靠近 萤幕边缘时(距离几个像素内),视窗会自动_贴齐_ 萤幕的边缘。这可能正是你要的状况,因为0实在比2合理多了。(Juno的主视窗也有个类似的功能:它是我看过唯一会「限制在框框内」,不能移超过萤幕边缘的应用程式。)

你少了些许的弹性,不过却因而得到一个能体会精确滑鼠操控不易的使用介面,为什么不用呢?这种创新(每个程式都可以用到)以聪明的方式简化了视窗管理的负担。仔细检视你的使用介面,让大家暂停一下。假装我们都是大猩猩或是聪明的长臂猿,而且真的不会用滑鼠。

bullet.gif Next:[为节省大家的麻烦所作的设计,第三部份](/wiki/The_Joel_on_Software_Translation_Project:%E4%BD%BF%E7%94%A8%E4%BB%8B%E9%9D%A2%E8% A8%AD%E8%A8%88%E6%89%8B%E5%86%8A%E7%AC%AC%E5%85%AB%E7%AB%A0 “The Joel on Software Translation Project:使用介面设计手册第八章”)

这些网页的内容为表达个人意见。
All contents Copyright 1999-2002 by Joel Spolsky。All Rights Reserved.