设计是无言的服务
“
这个软件做得太差了,经常出现收不到数的情况,而我根本不知道问题出在哪里,软件开发方说是发数程序不稳定,但发数程序方则认为自己没有任何问题。
登录方式一点都不直观,在公司内部可以上外网的情况下,访问不了外网地址。
几年前购买的某国外产品,出现故障了,不知道机器运行到那个步骤了,重新执行一遍程序,有时候会导致机器彻底卡死。
……
周五客户代表Z在40分钟的路途中,有一半时间在和我抱怨给其服务的另外一家公司。因实在受不了对方产品的执行效果,所以决定由我们来给他们看看问题到底在哪,并评估一下重新开发一套系统的可行性。
现场观察一段时间后,发现问题其实并不复杂。一是数据服务器存在不稳定的现象;二是收数程序并发性能可能存在设计缺陷;三是网络架设方式利用了VPN,但又没有和客户说清楚;四是之前答应客户的有些功能没有如期完成。
和客户简要说明问题及初步解决方案后,踏上返津路途。由于之前和客户合作过一次,当时给他们做的那款产品其实做得并不令自己满意,但好在我一直在反思和改进中,虽然系统的业务逻辑纷乱复杂,客户觉得最终的效果还不错。当时的那篇文章链接如下:
返程路上我一直在思考,如果由我来设计,该如何来布局这款产品,能否比之前的那家设计公司做得更好呢,能否比上次的自己做得更好呢?
想到最近一直断断续续在看的《设计心理学》这本书,其中的很多理论和方法好像可以完美地应用起来。于是利用周末的时间再一次从头到尾读了一遍,收获依然不少,对于手头上负责的几款产品的设计思路也有了更好的规划。
把书中的几个观点以及看书过程中的体会记录下来。
关于设计的几个原则
可视性
即用户一看就知道物品的状态和其可能的操作方法,正确的操作部位必须显而易见,而且还要向用户传达出正确的信息。
所以,设计人员注重可视性,用户便可在执行阶段明白哪些是可行的操作以及如何进行操作,并可在评估阶段看出所执行的操作造成了怎样的结果。
可视性还包括一点,即:操作行为与操作意图之间要匹配,使用户很容易看出并理解系统在操作过程中的状态,也就是说,要把操作结果明确地显示出来。
可视性代表的例子,可以拿苹果手机右滑解锁举例。这个功能,小孩子也知道如何操作,一目了然。
实际工作中有一个深刻体会,比如屏幕上一堆按钮平铺,该先操作哪个后操作哪个呢?而如果以功能区或以虚框的形式将不同功能模块区分开,操作的时候则方便许多。
简单说就是:可视性让用户不看说明书或只看一遍说明书,就能完全弄明白操作方法。
反馈原则
反馈是控制科学和信息理论中一个常见的概念,其含义为:向用户提供信息,使用户知道某一操作是否已经完成以及操作所产生的结果。
反馈说的是系统的状态与用户的期望之间的关系。操作一个按钮,就会对操作的结果进行评估,用户需要得到及时的信息反馈才方便判断是否与自己的意图相符合,而且这种反馈结果需要以用户可以理解得方式展现出来。
拿我比较喜欢的Markdown举例,Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。
上面这段就是一个反馈,我在一段话前面做一个标记“>”,格式转换后就是引用的文字,所见既所得。
之前公司有一款产品,操作一个按钮后,如果你不用手去感受,根本不知道设备部件运行到了哪个位置。而如果你在设备运行的时候断电,上电后如果你再次从头运行,系统也不会给出提示,直到两个部件相碰出现故障了,你才会得到反馈,且反馈的表现形式是设备故障了,但具体故障是什么不知道。这就不是一个好的反馈。
简而言之,设计要让用户能够随时看出系统的工作状态。
正确的概念模式
物品的预设用途、限制条件和匹配,可以帮助人们了解产品的使用方法。以剪刀为例,即使你以前从未见过或使用过剪刀,你一看也能看出他的用途。
一个好的概念模式使我们能够预测操作行为的效果。如果没有一个好的概念模式,我们在操作时就只能盲目地死记硬背,照别人说的去做,无法真正明白这种做的原因,这样做的结果如何,以及万一出了差错应该怎样处理。
“概念模式”理解起来有些费劲,在书中,作者举了一个例子:以电子表为例,侧面通常有2~4个按钮,这些按钮有什么功能?如何设定时间?人们无法知道。按钮和功能之间没有明显的联系,也没有任何操作上的限制条件和匹配关系。
总结来说,“正确的概念模式”可以理解为“逻辑结构”,以一种什么样的方式展示软件结构以及操作顺序,使得客户建立起一种心智模式,以达到一看机器或软件就知道怎么操作,而不用去调用记忆。
以用户为中心的设计
考虑可能出现的人为差错
设计人员应当考虑用户可能出现的所有操作错误,并应针对各种差错,采取相应的预防或处理措施。
有句话说得好「人非圣贤,孰能无过」。在设计中,有两个方面的设计经验要提前考虑:第一,采取措施,防止失误发生;第二,失误发生后,要能够察觉到问题所在并加以纠正。
比如在软件设计中,凡是需要客户输入的环节就可能出现问题。输错了怎么办,需要修改、增加、删除的地方如何处理等?在硬件设计中,尤其需要注意的是电源的输入,要考虑操作高压电的安全以及防水要求等。
差错与正确的操作行为之间不是对立的关系,整个操作过程是人和机器之间的合作性互动,双方都有可能出现问题。所以,从用户的角度看问题,要考虑到有可能出现的每一个差错,然后想办法避免这些差错,设法使操作具有可逆性,以尽量减少差错可能造成的损失。
设计人员不是典型的用户
这个观点相信很多人都知道,现在我们来探讨一下观点背后的逻辑。
设计人员肯定是自己产品的用户,而且我遇到的大部分设计人员包括我自己都愿意为用户着想并考虑用户的需求,但为什么还会出现如此多设计上的问题呢?
其实要解释这个问题也简单:因为人类的信念和行为非常复杂,单靠一个人很难发现所有的相关因素。而且我还发现在日常的工作中,存在一个现象,即我自己会为冥思苦想的方案找各种完美借口或者在面临资源矛盾时,倾向于把问题简单化,这应该是人一种下意识的思维。
所以,越早与用户沟通,对未来的产品越有利,往后拖的结果就是到最后很难对设计方案做出根本性的修改。
那么,谁才是真正的客户?是公司的领导、销售部门、售后服务部吗?肯定不是。如果只是根据他们所提出的要求修改设计,即使满腔热情,估计也只能设计出劣等的产品。因为他们并不是最终的用户,如果不能理解产品背后的逻辑,他们列出的很可能是产品功能项而不是产品需求,功能和需求之间还差着很多。
不要陷入“悄然滋长的功能主义”与“陷入误区的外观之道”
悄然滋长的功能主义是指设计人员或用户总想增加产品的功能,结果常常导致功能过于繁杂,使人无法明白,也不知如何操作的这样一种现象。
功能的增加会给复杂性带来指数级的增长,把功能种类增加为原来的2倍,产品就会比以前复杂4倍;功能增加为以前的10倍,产品就会比以前复杂100倍。
该怎么治疗呢?其一,遵循「奥卡姆剃刀原理:如无必要,毋增实体」。实际操作中,这一点其实是有点难度,上一个项目中也遇到类似情况,客户总会在不同阶段提出新的功能要求。解决方案之一就是反复和客户沟通,从逻辑上、数据结论上,甚至精神上施压,分析不增实体的好处。其二,将功能进行组织后组件化,利用“分而治之”的策略。把众多的功能分为几个组,把每组放在不同的位置。
不要夺走用户的控制权
「游戏的设计是要故意违背易用性和易懂性原则,难玩的游戏才有意思」。这是把游戏的控制权交给用户,让用户找到一个心理平衡点就是好设计。
如果设计的产品用户想拥有控制权,也就意味着用户对产品非常感兴趣,他可能想知道操作的细节,或者希望对产品全局和进展方向进行控制。
就如我们拿到一款新手机,你可以随便折腾,手机会根据你的折腾反馈各种信息和结果,来提示你如何进行正确的“探索”。这就是一种有趣的心理博弈,不至于让用户变成了设备的奴仆,而是主人。
作者简介
唐纳德·A·诺曼,美国认知心理学家、计算机工程师、工业设计家,认知科学学会的发起人之一。现为美国西北大学计算机科学系和心理学教授,是尼而森—诺曼集团(Nielsen Norman Group)咨询公司的创办人之一,苹果计算机公司先进技术部副总裁。1999年,Upside杂志提名诺曼博士为世界100精英之一。2002年,诺曼获得了由人机交互专家协会(SIGCHI)授予的终身成就奖。