很遗憾,用户界面(UI)一直都处于被冷落的地位。原因很简单,操作系统平台、程序语言、协议、标准等复杂性日益增高,开发者往往将精力更多放在算法设计、高层抽象、代码复用等方面,而忽略了UI的设计。他们往往在尚未搞清程序整体所要实现的效果之前,为了验证每个独立模块,就要开始进行测试了。
如果更多的开发团队将其软件UI交给专业设计师来设计,那么将会得到一款外观靓丽、交互友好、连贯性和易用性更强、更有效率的程序——这些会直接转化为生产率的提高。但很遗憾,太多的软件开发团队并不重视这个环节,而让编程人员直接参与与用户体验相关的UI开发,这样一来,软件质量也会受到牵连。
记得Sun提议为OpenOffice.org设计一个类似于Office 2007的用户界面时,OpenOffice社区内一片反对声。来自Devil Mountain软件公司的研究表示,Office 2007在其家族系列里是最受欢迎的套装。开发人员的反对声说明所有付费购买套装的用户都是错的吗?那些OpenOffice开发者之所以反对新UI,是因为吸引编程者的UI与吸引大众的UI并没有统一。
也许程序员设计出的某些不尽如人意的UI是由于并不清楚成功的主流界面是什么样造成的。计算机科学专业的毕业生并没有接受过排版、意象、空间排列、认知科学等训练,在UI设计上只是很自然地跟随着自己的个性和理解。他们喜欢摆弄和发现事物,没时间去欣赏界面之美,也大多不喜欢探究细节性装饰。可是,这样的UI对于普通用户来说,将会是一场潜在的灾难。
在我看来,大多数软件开发项目不选择雇佣UI设计师以及可用性专家的做法是一件不可原谅的事。开发定制软件的目标是自动化业务流程以提高效率,但无论你如何提高程序的性能,流程中的每一步都需要程序员人工输入,因此这将是潜在的瓶颈。程序员优化代码当然很重要,但优化与用户的交互过程同样很有意义,这就是为什么要请专业界面设计师的原因。
然而不幸的是,即使有些公司确实聘请了UI专家,很多情况下这些专家的努力也被淡化或完全忽略。他们在项目中所处的位置与高中辅导员相类似:开发者一直在微笑和点头聆听,也承诺会认真考虑其意见,但之后还是按自己认为合适的方法进行开发。现在,需要项目经理来打破这个循环,并在软件设计流程中将可用性专家放在权威位置上。
现在没有一家公司在开发自己的网站时抛弃专业的UI设计团队。为什么软件,尤其是单机软件不能拥有同样待遇呢?如果缺少这一环,就不仅仅是浪费机会了,它还意味着金钱也可能会随之流失。