译者前言:
这篇关于UI设计的文章,写得有些啰唆。尽量忠实于原作地翻译出来了。
总结一下,作者想要表述的意思是,好的界面设计,最基本的原则是反映了用户的真实需求,按用户的期望去做出了期望的响应。使用户感受到对系统的可控,体验到了满足感,进而产生工作的愉悦感。认同了软件系统。
原文作者用很大篇幅去回忆自己从前在一家流水生产线上的工作,通过一些备受挫折的小事,感受到了对于环境的不可控,无奈的情感。反之,如果一个人可以感觉到自己对环境的可控制,则工作就会很愉快。哪怕是解决了一些个微不足道的小事情。
========================================================================
第一章 让你的工作环境更令人预约
By Joel Spolsky
Monday, April 10, 2000
据我所知,大多数c++的程序员,痛恨用户界面的编程工作。这让我很惊讶,因为UI的变成其实很容易,并且直接,很有意思。
说它容易,是因为你不需要更精密的算法去定位一个长方形的中心。它也很直观,因为你可以立刻看到错误并且进行修正;说它有趣,因为你的工作成果可以立刻展现。可以直接堆砌程序。
其实,多数程序员害怕UI编程的工作来源于他们对UI设计的恐惧。他们把UI设计想像成一般的图形设计,有一个神秘的创作过程,艺术创作人员穿着黑衣,喝着饮料,很有趣地创作出酷酷的艺术。程序员普遍认为自己是理性的、逻辑思考者:强于推理而若与艺术创所。所以他们认为自己干不了UI设计。
不过,我发现UI设计其实既简单又理性。既不需要一定级别的专业艺术人员,也不需要标志性的艺术发型。有一些简单的。逻辑的规则可以帮助你,通过理性的方法来提高自己的UI编程水平。
这不需要给你什么“UI设计的禅或者艺术”。这不是艺术,也不是只可意会的佛教,这儿有一套规则。理性的,有条不紊的一个方法。这本书是编程设计的书,我知道,无需告诉一个程序员如何完成一个菜单,但是,你需要考虑,在你的菜单中放置什么。我将告诉你如何完成一个优秀的界面设计,并且非常易于理解。
我的第一份真正的工作是在一家大型的面包厂。面包厂有六条产品线。每两条线之间,有一个面团搅拌机,用于生产180公斤重的面团,分别倒入两侧生产线上。
|
当然,这是设计。实际上,搅拌机C还没有建成,并且也没有3号或者5号生产线。如下图所示:
细心的读者一定注意到了: "怎么把面团从混合器B运到生产线6" ?哦,那就是为什么Wee Joel会参与其中了,这正是我的工作。我要站在混合器b 的左边,然后将搅拌完成的,180公斤重的面团,放进一个带轮子的大浴缸里。再推着浴缸,将面团送到生产线6,用一个类似绞车的装置,把面团弄到生产线6上面去。从晚上约十时至凌晨四时,每隔10分钟,做一套这个程序。
当然也有其他问题。6号线一次处理不了180公斤中的面团,我得用刀将它分成10份,难度可想而知。 . 开头几天很痛苦,也不知道怎么熬过来的,浑身酸痛,身上的每一块地方都是疼,还磨了很多水泡。
一开始,我无法保证6号线的面团供应流畅不断。当某个段上没及时供应上面团,而进入烤箱的时候,就可能引起问题。面团缺口导致烤箱(花费恒定的能量超过用于削减面团)超过限定的温度,最终导致烤坏面包。如果6号线坏了,或者生产线故障,但是混合器还在继续工作,不停地有面团出来。我就得冒着面团溢出的危险,用浴缸先把面团存起来。一旦发生这些故障,就得清理地板上,还得刮掉掉在地板上的面团。如果面团存放时间超过三十分钟,它就会发酵,不会作出好的面包。如果这件事发生,你砍它分散成5公斤件,重新回笼。
一个星期左右,我已经可以对付生产线这套流程了。在每个10分钟的间隔中,大约能有2分钟休息时间。我基本揣摩出一个比较精确的时间表,并学会了一旦生产线停止,如何让搅拌机空过去。
有一天,思考这个问题的时候,我注意到,其中一个浴缸的轮子不太好用,转不动了,推不动了。有时候,因为我被金属链条刮伤。有时候,我又推着空浴缸去扑即将飞出的面团,或者因为地板上的油渍而摔跤,幸好,这些都是小事故。 当然,我也有些胜利的经验。我知道,什么时候的面团制作出来的面包最新鲜:我掌握了切割面团的精确尺寸,这些事情,给了我小小的瞬间的满足感。
日子就是这样。即使是一些看起来是一个小小的,微不足道的挫折,也会影响你的心情。你的情绪似乎并不关心程度这一事件中,只有质量。我学会了接受生活的挫折和小小成就。
工作的快乐感和你对周围环境的掌控程度息息相关,你越是觉对周围的环境可以很好地控制,越是可以体会到更多的工作的快乐。当你发现自己感到沮丧,愤怒,这可能是因为一些事情是你无法控制的:哪怕是一些小小的事情。比如,键盘上的空格键坏了,以致影响了工作效率。这事儿令人沮丧,因为空格键不像你想像的那样工作了。很多小事情加起来,足以让我们心情沮丧。尽管他们似乎过于贪婪(我的意思是,非洲还有很多人在挨饿)
现在让我们停下来,回去电脑去。
有一天,皮特的朋友卓问他一些电脑的帮助。现在,卓有一个苹果的ibook ,因为她喜欢半透明的机壳。当皮特坐在下来,并试图用麦金塔电脑,他很快感受到了挫折感。 "我讨厌这些东西, "他说。虽然最后他帮了卓,但他感觉不好,深感不满 "麦金塔有这么笨重的用户界面。 " 笨重?他在说什么?大家都知道苹果有一个优雅的用户界面,对不对?非常规范和易于使用。 这正是我们要分析的问题所在。 . 对麦金塔电脑,当你想搬到一个窗口,你可以抓住任何边缘,用鼠标随意移动。对于WINDOWS窗口,则必须点到标题栏,才能拖动。如果你在边缘拖动,窗口将会调整大小。当皮特帮助Gena时,他试图调整窗口大小,然而却拖动了窗口。真是令人沮丧,窗口没有像他期望的那样改变尺寸。 皮特还学会了用ALT+ f4的关闭窗户。在苹果上,这个快捷组合实际上改变了某些数值。在这一点上,皮特想要点击internet explorer的图标其中部分被另一个窗口覆盖。所以他享用ALT+ f4关闭窗口。当然,在苹果上,ALT+ f4改变了音量的设置,而电脑并没有如期关闭窗口。所以他现在不得不要关闭两个窗口。
还有一些小小的挫折,不过pete最后都克服了。到了最后,皮特很愤怒,他所熟悉的试图控制的东西,他们都没有回应。空格键、ALT+F4、窗口拖放和大小变化、关闭,都和windows的规则不同。即使整个事情是潜意识的,微妙的感觉正在因为失去控制转化为无奈,甚至不快。 "我喜欢我的电脑, "皮特说。 "我习惯了它们,我喜欢它。但这些苹果真是不好用。它的一项工作,在挫折。如果苹果公司一直在努力并尽心改进,而不是关注外表的时尚,他们的操作系统不会是这样一个烂摊子。 " any edge.皮特的感受是对的。尽管我们知道,事实上,苹果的确是很容易的使用-对于m ac用户来说。你可以按下任意键去关闭的一个窗口。微软程序员有可能抄袭了mac的界面,或者认为自己可以加上一个更cool的新功能,让你通过拖放边界去resize窗口。而MacOS 8.0的程序员可能认为让你拖动边界去拖动窗口也是一个很cool的新功能。
大多数关于用户界面的问题的争论,焦点都不在重点。因为有办法resize窗口,所以感到windows很好。那又怎样?这不是重点。问题是,用户界面的响应方式是否是按用户的期望的方式做了响应。若没有按照用户预期响应,则用户会感到十分无奈,并有失去控制的挫折感,就像当年我无法控制浴盆到生产线而撞了墙那样无奈。
用户界面非常重要,因为它影响到感觉,情绪,当然是你的用户的情绪。如果用户界面是错的,用户感觉他们无法控制软件,表面上看,用户会不高兴,继而迁怒于软件。如果用户界面足够聪明,正是按照用户期望的进行工作,用户将会感受到乐趣,管理的、完成小目标的乐趣。嘿!我打开了一张光盘,它还能工作!真是个不错的软件, wooooooooooo ! Thus, the cardinal axiom of all user interface design: 好的用户界面的设计是指程序的运行正好符合用户对他的期望。
这是一个基本的规则,所有其他的规则,都是基于此上的推论。
|
|
||
|
|
|
关于作者:Joel Spolsky,纽约一名程序员。自2000年以来,我一直在这个网站写关于软件开发,管理,业务等的文章。我的日常工作,我运行Fog Creek Software, -一个缺陷跟踪软件.
本文版权所有,未经许可,请勿转载
内容合作请 联系我们









程序员 UI(用户界面设计)指南







cccccc 大学士 | Blog | 2007年10月24日
不错哦,写得不错哦!
tomdotk 童生 | 2007年10月24日
很多白字和错别字
654654 童生 | 2007年10月26日
asdasdasd
871251968 童生 | 2007年10月27日
819196763@qq.com
717568260 童生 | 2007年10月27日
ffffff
我的最爱 童生 | 2007年11月08日
不错啊,哎,就是?/
舒心 进士 | Blog | 2007年11月12日
谢谢指正,确实有很多错别字。下次注意:)
wangyi160 童生 | 2009年04月06日
咋不给翻译完呢