制作可用性强的产品:一个不常规的界面设计流程

      界面设计 2005-9-12 18:36
摘要:人机因素专栏两部分中的前一部分。提供了设计优秀界面的过程(打印共3页)

在开发产品期间,我是唯一用户界面的设计者,就因为我是编写用户界面代码文档的开发者。大多数时间,我都感到完成项目的时间压力,其他的测试人员和文档制作人员都在快速的熟悉资料,然后就可以很快的开展工作。在软件开发的狂澜中,我们什么时候能确定一个好的用户界面才不算晚呢?我们想做好它,但是又害怕占用太多时间,因为我们没有。
—Steve K. Johnson, TBDSystems, Chicago Illinois

步骤一:提出问题
设计出好的用户界面最重要的步骤就是理解用户希望你能解决的一些问题。项目的说明书通常都是很随意的编写出来的:管理层或执行者决定了产品甲或特征乙是最重要的,而产品最后的真正用户需要什么却没有什么人去调查。在写代码以前,你需要知道你的用户是谁,他们整天做什么,你的产品要取代的产品有什么问题。如果你是个裁缝,你不会在不知道顾客的尺寸前就做好了晚礼服。所有的产品最重要的是理解用户需求,包括软件。即使你的产品是首次开发,产品的潜在用户怎样做事,你对要替换的产品的好坏都要把握。有很多方法可以获取到这些信息,价钱,质量,需要的时间。

最简单而不常规的途径就是和产品的预定用户交谈,直接获取资料,他们的工作习惯,他们的经验水平,他们在完成工作中遭遇的问题等等。但是不要拿只做代理的经理们的需求当作真正客户的。用户可能一点不懂计算机代码,可他们在所做的是工作上却是专家。在微软,对开发小组和项目经理来说,付钱给所拜访的工作车间,是很正常的。我们不能提供给他们任何的帮助,而这给我们一个和人们交流的机会,讨论他们怎么工作,了解到他们在工作中和使用我们产品过程中遇到的问题的方方面面。即使你时间很紧张,找几个实际用户一起工作,观察他们。和3-5个真正的用户一起工作真的非常非常的重要。

步骤2:消化它们
接下来的日子就是要消化这些来自用户的意见。比如:如果你知道几乎一半用户都抱怨在数据流程对话框重设表单有多么麻烦,写下这条宝贵的意见:“重设表单很困难”。在你有限的时间里,每天都坚持这么做。在你正在把这些意见写成警句时,不要去想怎么解决。应该确定自己抓住了问题的症结所在,而不是仅仅看到了一些问题表面。如果你太快的进入解决问题阶段,你可能会忽略掉到一些简单的办法,同时就能解决掉很多问题的办法。

一旦你得到了问题的清单,应该和你的用户一起审查它们。给问题列好顺序,然后将简短的摘要email给你想与之交流的用户。是时候和上级交换意见了,通过这列清单,你可以准确的描述出产品要解决的问题,并强调这些结论是基于真实用户的。这个清单对于归整随意的想法非常有力,当你的同事提出要运用某些无关紧要的方案时,你就可以告诉他这样做实际上不能解决用户希望可以解决的问题。问题清单给出了产品的开发方向,确保你所做的全部开发工作都是目标明确的而且合理的。确定该解决哪些问题通常比怎样解决问题本身要难得多。

步骤3:集体讨论,设计出模型,如此反复

设计用户界面不是一项科学如算法一样的工作。有很多的原则,这以后将会在专栏里讨论,但是这些原则通常很概括,需要你来填充细节。要成功的解决设计中的问题,必须尖锐些,要提出很多的方案,一一考虑,最后决定。象今天许多的网站和软件产品展示的,很多设计想法最后变成了漂亮的跛子。糟糕的设计通常因为缺少尝试,而不一定是设计师太糟糕。所有优秀设计师都会去尝试很多想法。诀窍就是去尝试,但不要浪费太多时间,还有扔掉大量的代码。

当你开始清单上的工作时,可以用vb或vc的布局编辑器,甚至win自带的画图程序,画出一些界面的草图。用铅笔手绘也不错,只是不要对一个方案太自信,毕竟它只是在纸上的效果。当你想把纸上的方案变成电脑的时候,会一下子冒出很多细节问题来。你要尝试尽可能多的方案,当画了一些糟糕点的草图不要感觉也变糟了。尝试的方案越多,设计出好方案的可能性就越大。好的方案可以解决了一些甚至所有你定义的问题。而没被采用的方案可以拿出来给你的搭档和客户看,告诉他们你所选择的是相对更好的。下面我会写一个简单的对比清单,给各个团队,帮助他们理解怎样去比较设计,这个清单会帮助团队成员想出更多的方案。

在最后阶段,开始找一些你认为有价值的方案。如果每个好的方案都需要同样的数据库窗口,就先建一个。这会给你节省时间去思考选择哪个界面方案。这是标准化的操作步骤:确保开发顺利进行,同时有充足的时间来啃界面设计中的硬骨头。完整一两个最好的方案的详细图形或程序半原型。程序的模型不需要很完善,只要把用户实际操作过程模拟出来就够了。有些对话框之类的组件,用bmp图片代替就可以了。而有些多步骤的部分比如输入再打印,做出模型是模拟用户实际操作的唯一途径。从模型来了解设计中的难题比作成最后产品后再来了解要强多了。

参与这个阶段真正用户越多,得到的反馈越有价值。通过对足够多的用户进行交谈和观察,你会分清哪些观点会成为必然,哪些只是随便说说的。运用这些反馈,完善自己的想法,再尝试新的变化。反反复复的进行这些过程,尽一切可能。因为每次反复,都会相对上次获得明显的提高,只要你积极面对那些好的反馈,更广泛的尝试。

就是这些呢。下一次,我会详细描述这几步,并提供一些资源给想要深入学习每个步骤的人。

标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}