写给程序员的UI设计书 (译) (一)

申明:本文及以后一系列有关都将《User Interface Design for Programmers》持续转载自tobybateer 的博客:http://tobybateer.blog.163.com/

感谢tobybateer的辛勤付出,给我带来了如此优秀的学习文档。

 

从今天起,在有余力有时间的情况下,陆陆续续翻译Joel的UI设计书——《User Interface Design for Programmers》,这本书由Apress于2001年出版,全书共18章。感觉Joel的文字很活泼,读起来很轻松,希望自己的中文也能翻译的很地道。原文地址请见http://www.joelonsoftware.com/uibook/fog0000000249.html, Blog原文版权属Joel所有,英文书版权属Apress。

第一章:控制周围的环境使你更开心

      我第一份真正意义上的工作是在一家面包厂,那儿每晚要烘烤成百上千块面包。面包厂本来设计有六条生产线。每两条生产线中间有一个生面团搅拌器,能够生产重达180公斤的生面团,并分别置于左右两条生产线上,如图1-1所示。

写给程序员的UI设计书 (译) (一) - tobybateer - tobybateer 的博客

图1-1 面包厂的设计

    然而,这只是设计。事实上,C搅拌器压根儿没有造,也没有三号和五号生产线。所以事实上更像是图1-2。

写给程序员的UI设计书 (译) (一) - tobybateer - tobybateer 的博客

图1-2 实际的面包厂

      细心的读者会不禁会问,“生面团怎样从B搅拌器蹦到六号生产线?”对,这就是Joel存在的理由。如果你肯相信的话,我的工作就是站在B搅拌器的左边,每当有海象那么大块的生面团从搅拌器里倒出来时,用小推车把它接住,然后运到六号生产线,再用传送带运送到生产线上。每天早上10点到下午4点之间,每隔10分钟我就要重复一次这种事情。

还有其它一些困难。实际上,六号生产线并不能一次性处理180公斤的生面团,所以我不得不用小刀将它切成十来块。我简直不愿意再提这有多么荒谬。

     当然,最开始的那些日子我很讨厌这份工作。这简直不敢想象。我身体的每一块骨头都酸得要命,水泡上又磨出了水泡,没有一个地方不疼。

     起初,我并不能保证六号生产线每时每刻都有足够多的生面团。每次我无法及时供应生面团的时候,生产线就会出现一个空缺。当这个空缺运送到烤箱的时候,烤箱(加热量和加热时间已经根据生面团的量被设定为固定值)会将面包烤过头。

有时候,六号生产线会出点儿小意外然后罢工,而此时搅拌器会一直生产生面团,所以我可能会面临没有足够小推车的局面。这种情况发生时,我不得不擦干净地板,抹上油,然后把生面团直接放到地上备用。当然,事情也没这么简单,如果生面团放置超过30分钟,会因为发酵的原因变酸。如果真是这样的话,你就不得不将它切成5公斤左右的小块,然后混合到新的面团里边。

    大约过了一个星期,我渐渐习惯了这种日子,如果没记错的话,每10分钟的运行周期里边我还能休息2分钟。我制定出了一个详细的时刻表,并且学会了当生产线罢工的时候如何让搅拌器也暂停工作。

    我开始思考这一切,就如同啤酒广告所说的,有些日子总是来的更好一些。(Wolburg, J., Hovland R., & Hopson R. E. (1999). Some days are better than others: Beer commercials and a question of ethics. Research in Marketing. 175-202.——译者注)

    有一天,我在想这些问题的时候,我注意到有一个小推车的轮子有点问题,转弯不大灵活。有时候小推车并不按照我推的方向走,而是撞到旁边的东西。这算是个小挫折。有时候,当我用传送带把生面团送往生产线的时候,会被传送带上的金属划伤(一点点啦),又是个小挫折。有时候,当我推着车跑去接搅拌器吐出的生面团,会踩到地上的油,虽然不至滑倒,但是会提醒你,小小的一滑也会产生挫折。

其他时间,我也会有些小胜利。我学会了如何完美地分配时间,使得一批面包即将烤完的前几秒钟才会有新的生面团送到,这样会保证面团是最新鲜的,做出的面包也是最美味的。有些胜利来得更小,我注意到一些从搅拌器漏出来的生面团会粘在墙上,然后我就会用荷包里随身携带的小刀把它们刮掉。还有!当把面团切成小块的时候,有时感觉它们是那样的完美整齐。这就是我学会控制周围的世界之后所获得的小小满足感,即使用最简单的方式。

    这就是当时的日子了。一些挫折,一些小的成功。但是它们会累积。即便有时候,看起来仅仅是一个很小的挫折也会影响你的心情。你的情感似乎并不关心事情的大小,而是质量。

    然后我开始意识到,我最开心的日子其实是由许许多多小的成功与极个别挫折混合起来的。

    几年后,当我走进大学的时候,我学到了一条重要的心理学定律——习得性无助(由心理学家塞利格曼1967年在研究动物时提出的)。多年的研究表明,大量的沮丧会增长成为一种无助的感觉,从而使你感到无法控制周围的环境。

    你越觉得自己能控制身边的环境,并且所做的一切起到了相应作用,那么你就会越快乐。

当你受挫、生气或者不安的时候,很可能是因为发生了一些无法控制的事情,即便这非常小。键盘的空格键坏了。当你打字的时候,许多字都挤到一堆儿了。这会使你感到沮丧,因为按下空格的时候,什么都不会发生。家里的大门钥匙出了点儿问题,当你转动钥匙的时候,卡住了,这又是一点儿挫折。这些事情累积起来,就是我们每天都觉得不开心的原因。即便同生活比起来,它们是如此的微不足道(我的意思是,在非洲还有人忍受饥饿的煎熬,祈求上帝的帮助,所以我不能因为空格键而感到不爽),但却能改变我们的情绪。

    让我们请出一位典型的Windows用户——Pete。当你设计用户界面的时候,在头脑里想象一位虚拟用户是很有帮助的。你所虚构的用户越真实,所设想出来的软件使用方式也会更有用。

Pete是一家技术出版商的会计,他有六年使用Windows的经验,不管是在办公室还是偶尔在家。他在技术上是把好手。他能自己安装软件;平时读PC杂志;他甚至在Word里写过一些宏,用来帮助办公室的秘书发送支票。他在家用猫拨号上网。Pete从不使用苹果机,“它们太贵了”,他会说,“买一台主频733MHz,内存128M电脑的钱足够用来…”好了,Pete,就此打住吧。

有一天,Pete的朋友Gena让他帮忙看看电脑。Gena使用苹果的iBook,因为她喜欢那种半透明的窗体。当Pete坐下来,试着去弄苹果的时候,他很快就感到挫折。“我讨厌这些东西”,他说。虽然最终他还是帮助了Gena,但自己却弄的很郁闷。“苹果机的用户界面是如此的糟糕。”

     糟糕?他在说神马啊?地球人都知道,苹果机的用户界面是多么优雅,难道不是么?一直标榜“容易上手”?

下面是我对这个疑惑的一些分析。

在苹果系统中,想移动窗口的话,你可以用鼠标拖拽窗口的任何一条边。但是在Windows,你只能拖拽标题栏。如果你试图拖拽窗口的边,这会缩放窗口的尺寸。当Pete帮助Gena的时候,他试图通过拖动右侧的边界来加宽窗口。令人感到挫折的是,整个窗口随之移动,而不是像他期望的那样改变大小。

     在Windows里边,一个消息窗口弹出的时候,你可以按下回车或者空格键来关闭。而在Mac上,空格键并不起作用,你必须使用鼠标。当Pete收到一个警告时,他下意识地按下空格,就像过去六年他在Windows上所做的。第一次没有任何反应,Pete想都没想就又重重地拍了一下空格,直到他意识到,肯定是因为苹果机并没有注册这个空格事件。事实上,它注册了,只不过空格键在这儿不起作用。最终他还是用了鼠标。又一个小挫折。

     在Windows上,Pete同样学会了使用Alt + F4来关闭窗口。而在Mac上,这用来调节扬声器的音量。有时候,Pete想要点击桌面上被另一个窗口遮住的IE图标,于是他按下Alt+F4来关闭这个窗口,然后迅速双击IE图标所在的位置。然而,Alt+F4加大了电脑的音量却并没有关掉窗口,这使得他实际上双击的是那个窗口(他本来想关掉的那个)工具栏上的帮助按钮,然后就弹出了帮助窗口并陷入了苦苦等待。现在他有了两个需要关闭的窗口。又一个挫折,但是请注意,这会累积的。

     折腾了一天之后,Pete感到很疲劳,很生气。当他试图控制的时候,事情却不按照他希望的那样发生。空格键和Alt + F4“不工作”,不管从哪个角度上来讲,他们都好像坏掉了。窗口也不按照他希望的那样变宽,而是来回移动。邪恶的窗口!即便所有的一切都是下意识的,但这种失去控制的微妙感觉会转变为一种无助,从而最终导致不开心。“我喜欢我的电脑”,Pete说,“它能够按照我想象的那样正常工作。但是苹果机非常糟糕,难以使用,一让我直在痛苦中挣扎。如果苹果公司这些年来一致努力发展Mac操作系统而不是在牛顿身边瞎晃悠,他们的操作系统肯定不会如此混乱。”(英文里边,Apple一语双关,可以表示苹果公司,也表示苹果,这里引申了牛顿被苹果砸到,发现万有引力定律的故事——译者注)

     是的,Pete,我们比你更清楚。对于苹果用户而言,苹果机真的非常好用,但是Pete的感觉恰好相反。关闭一个窗口主观上取决于你按下的按钮。微软的程序员可能从Mac的界面借鉴了一部分,然后添加了一个新特性,允许通过任何一条边来缩放窗口,他们认为这很酷。MacOS 8的程序员则认为,拖动任何一条边都可以移动窗口,这样才叫酷。

     你所了解到的关于UI设计的战火硝烟,其实矛头都指错了。(你可能觉得)Windows要更好一些,因为他给了更多的方式来缩放窗口,但这又能怎样?这些争斗全部丢失了重点。真正的重点是,UI能否像用户所期待的那样给予反馈?如果不,用户就会觉得无助,无法控制,就好像我推着小车但是却不听使唤,最后撞到墙上一样。砰~

UI很重要,因为它会影响用户的感受、情感和心情。如果UI设计错了,那么用户会感到无法控制你的软件,从而感到不高兴,同时会指责你的软件。如果UI非常灵巧,而且事情也按照他们预期的那样发展,他们会感到很愉悦,如同取得了一些小胜利。欧耶~我刚拷贝了一张CD!它确实工作了!真是好软件!

     要使用户开心,你必须让他们感到能够控制周围的环境。要做到这一点,你必须正确地理解他们的行为。界面需要按照他们期待地那样执行。

     因此,适用于任何UI设计的一条真理:

     如果程序能精确地按照用户的期望执行,那么UI设计就是成功的。

     如同Hillel所说的,“其他任何东西都是浮云”,所有其它关于UI设计的规则,都可以从这一条派生。

转载于:https://www.cnblogs.com/vincentradcliffe/archive/2010/11/25/1887266.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值