飞越疯人院:软件产品设计的窘境和对策

原创 2003年06月27日 14:50:00

刘天北

据说有一次,一位贵妇抱怨毕加索作的肖像太“不像”她本人了。立体派大师的回答是:“没关系,夫人,它会像的”。
毕加索的回答体现了近代以来艺术家与大众的典型关系。艺术家作为先知和天才,能以超前的作品重新塑造大众的感受力和审美观。按照这个逻辑,肖像之所以“不像”,只能是落伍的抱怨者的问题——她应该努力拥抱、适应艺术品带给她的全新视角,直到她觉得“像”为止,除此别无它法。
根据我的观察,当今社会中的程序员与大众之间,忠实地复制了上述“对立而又引领”的古怪关系。要给一般人眼里的程序员画一幅速写,必要的元素肯定包括键盘上狂击的十指、熬红的双眼、深度近视镜片上映出的屏幕上难以识别的符号等等,色调上还要添上握有独得之秘的高傲和对门外汉不屑一顾的神气。这里的怪僻印象,在人们使用程序员完成的软件产品时得到了加强。复杂的界面、生硬的提示、难以理解的操作顺序、最后是频繁发生的错误和死机——难道这些都是伴随高科技的“必要的恶”?难道人们也应该像接受毕加索那样容忍、并且努力适应这些科技狂人和他们喜怒无常的产品,无论是否情愿?
Alan Cooper在其名著《软件开发的创新思维》中对此做出了否定的回答:必须抵制这种趋势,在软件该怎样被使用的问题上,具有决定权的应该是最终用户,而不是满脑子代码的程序员——否则,Cooper用了一个很妙的比喻,在这件事上让程序员说了算,那就和让精神病人自己运营疯人院一样危险和荒谬。
如果你目前有幸(或不幸)正在开发软件或网站,处于广义上的程序员阵营中,那我预想,在刚开始读本书时你(像我本人一样)会感到强烈的挫伤甚至被激怒。很大程度上说,这是一部程序员恶行录,详细列举了程序员在设计软件产品时常犯的各类错误,并且剖析了这些错误背后的无意识根源——一种程序员文化,我们这个高科技时代的独特产物。这些无情的、令人难堪的分析之所以能成功地搅动情绪,正是因为它们真实并且正中症结。程序员们无来由的高傲、他们莫名其妙的设计思路,都获得了鞭擗入里的解释。最重要的是,作者Cooper本人正来自程序员阵营之中。他曾成功地开发出一种编程语言Ruby并将它卖给微软,再以此为基础开发出了Visual Basic,以此给软件开发方法和软件工业带来了革命性的影响,作为人机交互设计领域的权威,Cooper还曾获得业界多种重要奖项。最近,美国软件历史博物馆遍请软件工业名流,举办系列演讲,Cooper题为“软件开发的未来”的演讲被安排在所有演讲人中的第三位,足见其影响和地位。来自本行业权威的反戈一击,其声音即使刺耳,也肯定是言之有据,需要认真听取的:毕竟,尝试—发现错误—修正的循环正是人类进步的重要模式之一。
Cooper进一步论证道,软件产品设计的可悲水平,后果并非简单的使用不便而已。这不仅会降低软件企业的客户忠诚度和客户信誉,并且会使软件开发背离了普及计算机应用的初衷。由此它已经,并还将在文化、社会结构等领域留下让人痛心的印记:刚才谈到的程序员—大众之间的对立,很大程度上就是低劣产品设计的产物,而且更能导致进一步的恶性循环。
那么软件企业怎样尽快摆脱这个窘境呢?Cooper在本书的后半部分提出了有效的解答。如果允许极端的简化,我想这里的核心意思并不是教育程序员或提高他们的美术修养,而是给予“软件产品设计”特别的关注,把这项工作彻底从狂人程序员手中解放出来。
与通常理解不同,在开发软件产品时,程序员们决不该是决策者,产品“是什么”、“怎么用”完全不应由程序员说了算,程序员唯一能决定的,只是“怎样实现”——这里的关系,类似于建筑师和施工队之间的分工。区分出“设计”和“实现”,把前者的工作交给专门的职位完成,这样才能真正解决产品对于最终用户的易用性问题,因为,专职的“交互设计师”本身就像是最终用户在软件开发过程中的代表,他们集中反映了用户们关注的问题,从用户的角度(而不是像程序员们那样从编程角度)考虑产品的功能需求、人机交互特性等方面,从而最大限度地符合用户的实际需要和使用习惯。
Cooper根据自身多年的大量设计实践(他现在正领导一间交互设计公司),在书中提出了多项基本设计原则,并给出了具体的、有可操作性的设计案例。我读后的感受是,交互设计是困难的,需要科学与艺术的结合,远非单纯的“美工”或是程序员所能包办。很多我们想当然地以为正确的、甚至已经习以为常的操作方式,经过作者的考察,都该被刻上“人机交互设计耻辱柱”。我尤其赞成作者对软件产品中“语言”的强调——怎样有效、一致地给软件的功能、菜单、操作命名,怎样写出清楚明白的提示信息,都是专门的学问。如果你还记得自己最初使用那些字处理或绘图软件时那种迷路般的困惑(Cooper对微软和Adobe的著名产品的批判尤其激烈),你就能体会到这里“语言”的重要性。
特别值得一提的是本书中译本的质量。译文精审流畅,版式设计美观大方,辅以精美的插图和书后的术语对照表,确属国内计算机技术书籍中难得一见的精品。也许,这也正是本书所倡导的“用户友好”态度的精髓所在。

行为型:设计模式之策略模式(十六)

俗话说:条条大路通罗马。在很多情况下,实现某个目标的途径不止一条,例如我们在外出旅游时可以选择多种不同的出行方式,如骑自行车、坐汽车、坐火车或者坐飞机,可根据实际情况(目的地、旅游预算、旅游时间等)来...
  • z742182637
  • z742182637
  • 2015年12月25日 11:15
  • 1394

IMDB排名前100名经典电影

IMDB中文名称是互联网电影资料库,是目前全球互联网中最大的一个电影资料库,里面包括了几乎所有的电影,以及1982年以后的电视剧集。IMDB的资料中包括了影片的众多信息,演员、片长、内容介绍、分级、评...
  • u011677147
  • u011677147
  • 2015年09月25日 17:38
  • 1598

浅谈软件项目开发过程中的主要项目风险及对策

转自:http://www.educity.cn/pm/454782.html     软件项目成果的需求分析方和软件项目的承担者都十分关心这样的一个问题:什么样的因素会导致软件项目...
  • Sasoritattoo
  • Sasoritattoo
  • 2014年01月06日 11:24
  • 10147

软件产品设计的五种境界

十几年软件研发的沧桑岁月,和一度险濒于破产的痛苦经历,让俺对软件产品开发有了更深层的体会。新年到来之际,写出来和大家作个交流。 一、农业境界   刚参加工作,朋友问我,你能用电脑干啥?我口...
  • wangyong0921
  • wangyong0921
  • 2012年05月15日 10:45
  • 1045

软件产品设计开发编制指南GB8567-2006.

  • 2013年09月07日 21:34
  • 120KB
  • 下载

在纸张上设计软件产品原型的方法

在网上下载了一个讲义,是关于怎么在纸上构建产品原型的,读来受益匪浅。很可惜这个PDF文件的讲义上没有作者的姓名和地址,可能是来自英国的,因为里面提到了剑桥。在此谢谢了。费了一点时间把它翻译过来,这是前...
  • fendy_dai
  • fendy_dai
  • 2011年01月25日 14:55
  • 1769

软件产品界面设计原则

1.设计原则 (1)用户原则。人机界面设计首先要确立用户类型。划分类型可以从不同的角度,视实际情况而定。确定类型后要针对其特点预测他们对不同界面的反应。这就要从多方面设计分析。 (2)信息最小量原...
  • wangyong0921
  • wangyong0921
  • 2012年02月17日 11:19
  • 2848

软件/互联网产品设计流程

近期站在产品部门的视角整理了公司产品设计流程,一来完成任务,二来对自己一年多项目管理和产品开发经验进行下梳理: 1.产品调研        产品的调研属于市场范畴,由市场部门负责。...
  • pplidia
  • pplidia
  • 2012年06月04日 09:42
  • 439

企业软件开发产品设计的指导原则

企业软件开发产品设计的指导原则 2016-04-21 12:30:19  如何更好地进行产品设计?有哪些注意事项、指导原则?文中总结了九大设计原则,其中包括“遵守图标规范”、“用户...
  • C51ArmConWinceLinux
  • C51ArmConWinceLinux
  • 2016年05月12日 10:52
  • 388

Qcon全球软件开发大会[20160423]_产品设计思维专题

  • 2016年05月11日 12:41
  • 10.29MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:飞越疯人院:软件产品设计的窘境和对策
举报原因:
原因补充:

(最多只允许输入30个字)