《构建之法》第十二章 用户体验

摘至 邹欣《构建之法》一书,以作学习之用

概述

其实,计算机软件的用户界面(User Interface,UI)和用户体验(User eX-perience,UX)是一个有着丰富内容的学术领域,软件工程师们在长期工作中也积累了很多相关的经验

无论软件还是硬件,都有很多功能部件,各个部件还要有机地结合起来,才能满足用户的需求。在用户体验领域中,一个著名的用户体验的例子是茶壶

茶壶有什么功能部件呢?茶壶盖,茶壶体,茶壶把,茶壶嘴下面的茶壶中,这些部件都有,但是它们都满足了用户的需求了么?或者我们可以按照时髦的分类,叫它们{普通茶壶、文艺茶壶或213 茶壶}?

这里写图片描述

当一个软件团队的成员忙着完成自己的“部件”时,他/她是否想到了用户将如何了解这些部件?如何使用这些部件完成用户的任务?


用户体验的要素

用户的第一印象

用户安装软件之后,软件第一次启动,软件设计者要给用户什么样的第一印象?用户头一回来访问你的网站,你要给他们什么样的第一印象?

很多软件设计者把用户界面等同于给领导汇报的工作成绩单,所有的功能都争先恐后地出现在用户面前,唯恐用户没有注意到。但是用户往往会被繁乱的界面弄得晕了头,无所适从。现在电视的遥控器大多数就是这样设计的

还有的软件把自己当成一个毫无感情的工具,早期的一些字处理软件就是这样。用户启动软件后,看到屏幕上部出现了一行菜单,紧接着好几行小按钮,下面就是全白的屏幕。有更好的设计么?

我们至少可以考虑以下两点。

  1. 谁会是我们的目标用户?他们是什么样的人?他们的使用方式是什么样的?用户是从哪里进入到这个软件或网站?他们知道这个产品是做什么的吗?用户想达到什么目的?怎样让他们尽快找到相应的功能入口,完成任务?我们的软件可能比难用(学习曲线较陡),怎样才能让用户尽快掌握基本功能?

  2. 用户和软件的第一次使用,很大程度上决定了用户对软件的评价。怎样让用户在第一次使用的时候,少花时间(或者不花时间)在对用户没有价值的部分(如配置软件的基本设置、登录、填写用户的各种属性等),而把大部分时间花在有实际价值的功能(如完成任务、消费内容、创建内容)上?

大家平时都说要向某某大师或某某产品学习,把最重要的功能做好交给用户,把那些无关紧要的功能藏起来,做减法……但是程序员们还是会想着把高级功能“秀”出来。我们都用过各种电视/DVD播放器的遥控器,功能很强,按钮很多吧?你有没有注意到老人家使用遥控器时的困难?

这里写图片描述

我们可以用5W1H的方法来判断。

  • Who: 谁是你的目标用户?

  • When:他们会在什么时间使用你的产品?比如一个邮件应用,用户在起床时可能更偏向于快速查看,而在工作时间会发生更多的输入操作。

  • Where:目标用户会在哪里和你的产品交互?是晃动的公交车上或阳光耀眼的室外?还是在沙发上?

  • What:你的产品是什么?而用户的期待是什么?

  • Why:用户为什么要使用你的产品?他们的动机是什么?还有,在众多竞争产品中,用户为什么会选择你的产品?

  • How:用户是如何与你的产品发生交互的?他们怎么用?在使用过程中出现了什么问题吗?


从用户的角度考虑问题

我们常说做产品要从用户的角度考虑问题,这需要有“同理心”。软件团队的设计师和软件工程师有“同理心”(Empathy)么?什么是同理心?就是理解别人的处境、心理、动机的能力。西方谚语Put yourself in other people’sshoes. 正是此意。设计不同于传统的数学题,是没有唯一的标准答案的。有一颗为用户着想的“同理心”,是好的产品设计的出发点。

1. 从用户的角度考虑
曾有网友爆料,福建某银行公布的反假币电子邮箱地址长度超过70个字符(字母和数字组成)。该银行工作人员解释称,该地址在内部使用时是中文,和外网衔接时会变成一长串代码。有网友根据GBK编码翻译出部分代码对应的汉字为“出纳与现金管理”。

这里写图片描述

我们试着猜测一下事情的经过,以及技术人员是怎么想的。

领导/项目经理:要公布一个电子邮箱地址,让人民群众能发邮件投诉假币和其他事情!

技术人员:好,内网地址搞好了,工具自动转成外网的地址。搞定!

测试人员:把邮件地址复制/粘贴到电子邮件的地址栏,发送一个邮件试试看,收到了么?收到了。好,通过!

项目经理:好,把邮件地址印成提示牌,搬到各地的营业处去!

有同理心的软件工程人员是怎么想的呢?他们会想到:

我们的客户是什么文化水平,平时在哪种情况下会发现假币,他们发现后会怎样发邮件报告?

他们会在办公室里,一边喝茶(用前面的三种茶壶之一),一边用鼠标和键盘复制/粘贴邮件地址,然后发邮件?

不会,那他们会怎么做,我们的产品经理和设计人员设身处地自己做一下看看?手动敲入70个字母和数字组合的地址?

2. 这不是Bug——如果你输入中文就没问题了
我在工作中时不时要重装电脑,我一般装英文的操作系统。装好电脑之后,第一件事情就是装中文输入法。系统自带了几个,我觉得都不够好,所以我想直接装最新的微软拼音中文输入法。于是我用我司推荐的搜索引擎,输入[Microsoft Chinesepinyin IME],搜索结果中居然都没有最新版本的链接。于是我就发邮件给相关项目组的同事提意见。几经E-mail反复转发/问答之后,有一个同事回答:

如果你输入中文“微软拼音中文输入法”。搜索结果的第一条就是正确的链接!拜托,我之所以要搜索这个东西,就是因为我的机器不能输入中文!

3. 用户需要帮助,但是用户没有那么笨
微软必应搜索有一个“实时显示英语解释”的功能,但是这个功能把鼠标所在的所有英语单词都解释一下,包括小学生都懂的“a, of, at, on, and,the, he, she, …”,用户的鼠标常常会无意地停留在这些词语上面,你就会看到这个“英语翻译”功能自作多情地告诉你“a”是什么意思,顺便把页面的其他文字给遮住了:

这里写图片描述

我们的PM/Dev/Test在设计/实现/测试这个功能的时候想过目标用户的英文水平是什么样的么?他们需要哪种程度的英文解释?如果他们连“a”都不懂,他们能来到你这个网页搜索含有英文的结果么?!

4. 光吃狗食也不够
微软公司有“吃狗食”(Dogfood)的传统,团队成员都尽可能在实际工作和生活中使用自己开发的产品(从内部测试版开始),从而发现问题。我在Outlook团队做开发的6年中,大部分时间都使用非正式的测试版本,有些是前一天刚构建好的产品。这种传统保证了开发人员能了解软件功能的实际表现,是非常有道理的。对于自己的产品,如果我们的员工经常“吃狗食”,上面提到的问题就不会出现——除非微软员工连“a”都需要解释……

但是,这种优秀的传统也有一个副作用,由于我们十分了解自己写的软件,而我们的心理、技术能力和一般用户有很大差别(参见下文提到的“认知阻力”),所以也会出现问题。有一次,一个同在微软的朋友给我打电话,问电子邮件软件Outlook的一个怪问题如何解决。我说,你到菜单上Tools |Option | Advanced …然后把某一个选择框勾选掉就可以了。

他说——我哪敢啊,这还是高级选项(AdvancedOption),万一搞错了怎么办?

很多程序员都没有意识到,用户对那些选项对话框中的种种选择会有很大的畏难情绪,而程序员则觉得自己开发的功能必须有几个高级选项,才显得有水平。


软件服务始终都要记住用户的选择

用户使用任何软件来解决问题,软件从头到尾的各个部件要结合起来把用户的问题给解决了。这样的问题,可以通过“基于场景的设计”来强化团队成员对用户体验连贯性的理解。


短期刺激和长期影响

很久以前,百事可乐和可口可乐在市场上竞争很激烈,有一次,百事宣布其新型饮料在用户试验中大获好评,测试用户“尝了都说好”,可口可乐公司立马买了对方的饮料,在自己的实验室也做用户实验。不料结果真的像竞争对手说的那样,大部分用户都很喜欢百事公司的新饮料。这下可口可乐公司里的一些人士开始着急了,纷纷寻找对策。但是过了几个月,市场数据显示这个在实验室里很受欢迎的饮料并没有产生巨大的销量,这是怎么回事?是投放市场不对,还是供货跟不上,又或者是实验室里的用户撒谎?后来大家才知道在实验室里喝几口饮料和在消费者家里喝是很不一样的。在实验室里:大家心里想着,我要品尝饮料啦!漱口之后,品尝几口或一听饮料。反馈是:新产品甜味较大,口感很好,我喜欢!在家里:美国消费者一次买一箱(24听),随意坐在沙发里,一边看电视一边喝。反馈是:新产品甜味较大,喝多了太腻味,喝不下去了。再也不买了!


不让用户犯简单的错误

大家知道,战斗机有[紧急弹射座椅]这一功能,在紧急情况时,它能帮助飞行员逃生。这个按钮不应该藏得很隐蔽,不然飞行员在碰到紧急情况时半天找不到这个按钮。如果我们把[紧急弹射座椅]这一按钮放在战斗机控制面板上的这些常用按钮之中:[喷水刷窗] [FM电台] [弹射座椅] [机舱灯]可以想象有不少悲剧会发生,飞行员想打开调频电台,啊……这一设计也可以称为——“脑残设计中的战斗机”。

这里写图片描述

“不让用户犯简单的错误”(Fool Proof)的原则当然是大多数人都同意的,高明的设计能让操作者不需要花费额外注意力,也不需要经验与专业知识即可凭直觉完成正确的操作。


用户体验和质量

好的用户体验当然是所有人都想要的,如果它和产品的质量有冲突,怎么办?牺牲质量去追求用户体验么,用户能接受么?

这里写图片描述

GE公司的总裁杰克·韦尔奇讲过这个故事:20世纪90年代,韦尔奇注意到核磁共振机的通道特别狭窄,在长达几十分钟的检查过程中,病人常常有得了幽闭恐惧症的感觉。韦尔奇做过类似的检查,深有体会。他问专家,能不能把通道做得宽一些?专家说那样会降低扫描成像的质量。他又问,对于那些不需要太高精度的检查,能否牺牲一些成像质量,换取用户的良好体验呢?专家说,他们会考虑的……然后就没有下文了。不久,竞争对手推出了宽通道的扫描设备,并夺取了大量的市场份额。GE被动迎战,花了两年时间才赶上对方。


情感设计

设计是一门科学,很多方面可以进行数字化的衡量,但是设计也有很多层面。在个人电脑发展的初期,大部分显示器都是黑白的(有大约256种灰度等级),当彩色显示器刚出现的时候,设计师唐纳德·诺尔曼(Don Norman)借了一台给自己用,他发现彩色显示器并没有增加可分辨的价值,但是实验结束后,他自己却很不愿意把彩色显示器还回去。

诺尔曼进一步阐明了设计的三个层次,以及对应的产品特性:本能(Visceral)层次的设计——外形行为(Behavior)层次的设计——使用的乐趣和效率反思(Reflective)层次的设计——自我形象、个人满足感、回忆三个层次的因素相互交织,共同影响了用户体验。大部分软件工程师主要关心的是“使用的效率”,这只是用户体验设计的很小的一部分。那我们要在什么阶段,以什么方式来关注其他方面的设计呢?


用户体验设计的步骤和目标

用户体验和用户界面设计的目的是什么?有哪些步骤呢?一些没有经验的工程师觉得,“我先把代码写好,然后有一些会画图的人来把界面改一改就好了……”,这种想法是非常幼稚和有害的。另一方面,如果认为工程师只能等着设计师的线框图才能开始工作,这也是同样幼稚的。

在上一节提到的三种设计层次之外,用户体验设计的一个重要目的就是要降低用户的认知阻力(Cog-nitive Friction),即用户对于软件界面的认知(想象某事应该怎么做,想象某操作应该产生什么结果)和实际结果的差异。我们来看一个具体的例子,如果用户(一个生活在中国二线城市,有高中文化水平,有基本计算机基础的成年人)要在一个文稿中写居中的一句话,在下表所列的各种工具中,用户是怎么才能做到的。

这里写图片描述

倘若认知阻力大,学习曲线就会比较陡;但是经过学习和练习,如果用户适应了新的认知模式,工作效率便会有较大的提高。

如果用户用的是VI(或者Vim等变种),如何完成这一任务,这个编辑器的认知阻力有多大。一般用户对于VI这种强大编辑器的抱怨是,它有好几种模式(Mode),同样地敲键盘,有时候是输入文字,有时候是控制,我们常见的“纸和笔”没有这些不明显的“模式”。

需要指出的是,软件工程师往往以熟练掌握认知阻力大的工具而自豪(例如命令行操作、VI、Emacs等编辑器),这对于工程师的工作是有帮助的;但是大多数用户的心理是要躲避认知阻力。

用户体验设计有哪些步骤呢?一个成熟和常用的方法是分阶段进行设计和探讨

当软件团队没有确立这些设计阶段时,他们就会出现设计时机不当、本末倒置的错误。正如前面所说,这是一个迭代的过程,整个团队要在用户反馈的基础上再次进行调研、分析、设计和实现。


评价标准

上面我们提到了这么多抱怨,那么对于一个软件的用户界面,我们有没有什么评价标准呢?可以参考费茨法则(Fitts law)、Nielsen启发式评估十条原则以及其他经验[注释13]。下面是作者在自身实践的基础上总结的一些原则:

1. 尽快提供可感触的反馈系统状态
要有反馈,等待时间要合适。现在程序发生了什么,应该在某一个统一的地方清晰地标示出来。一个目标用户能够只靠软件的主要反馈来完成基本的操作,而不用事先学习使用手册。系统的反馈可以是视觉的、听觉的、触觉的(例如手机振动)。但是要避免简单重复的提示。

2. 系统界面符合用户的现实惯例(Familiarity,Avoid Surprise)
与用户沟通,软件系统要使用用户语言而不是开发者语言,所用的概念要贴近生活实际,而不是用学术概念或开发者的概念。我们说的生活实际,最好是目标用户的实际生活体验。例如,给病人使用的网络挂号系统,就不宜使用只有医务工作者才熟悉的术语和界面(最坏的结果是使用软件工程师才熟悉的术语和界面,而医护人员和病人对此很不熟悉)软件的反馈要避免带给用户惊奇——例如,在用户没有期待对话框的时候,软件从奇怪的角度弹出对话框,或者给用户提示“找不到对象”。

这里写图片描述

识别胜于回忆,要给用户提供必要的信息提示(可视&易懂),减少用户的记忆负担,从而减少认知阻力。

3. 用户有控制权
操作失误可回退,要让用户可以退出软件(很多软件都没有退出菜单,这是导致用户反感的一大原因)。用户可以定制显示信息的多少,还可以定制常用的设置。

4. 一致性和标准化
在软件中,对同一事物和同类操作的表示用语,各处要保持一致。例如,某词典软件有“帮助用户收集生词并且背诵生词”的功能。这个功能要有明确一致的称呼,不能混杂着叫“单词本”、“生词本”、“Word List”、“Word Book”、“单词文件”……等等。

5. 适合各种类型的用户
我们的软件要为新手和专家提供可定制化的设计。一些操作方式,如快捷操作,用户可以自行调整。我们还应该为存在某些障碍的用户(色弱、色盲、盲人、听力有缺陷的用户、操作键盘鼠标不方便的用户等)提供一定程度的便利。对于长期使用某个软件的用户,软件应该能适应用户的使用习惯,让用户越用越顺手,最后产生感情上的好感和忠诚度。

6. 帮助用户识别、诊断并修复错误
软件的关键操作要有确认提示,以便帮助用户及早消除误操作。要注意使用朴素的语言来表述错误信息。错误信息需要给出下一步操作提示(我现在出错了,那下一步怎么办)。必要时提供详细的帮助信息,并协助用户方便地从错误中恢复工作。让所有的用户都可以通过电子邮件或者表单来提交反馈意见。有些程序用一对简单的笑脸/哭脸符号来鼓励用户提交反馈,这也是很好的办法。

7. 有必要的提示和帮助文档
不需要文档,用户就能使用自如,当然更好,必要时还可以提供在线帮助。如果软件和用户的工作相关(而不是简单的游戏),那么基本的提示和帮助文档还是很有必要的,而且也要提供便利的检索功能。文档要从用户的角度出发描述具体步骤,并且不要太冗长。

有些软件在首次启动时会通过图示或动画展现某些新功能的用法,或引导用户进行一些基本的设置(例如第一次使用输入法时,让用户选择候选词的个数、字体大小,等等)。这些都是不错的方法。在PC桌面软件时代,软件团队总是要等到项目的稳定阶段才开始写“帮助文档”,因为之前的软件界面和功能还有很多变化,然后要很快写好,才能和软件一起发布。在互联网时代,离线的帮助文档进步到“联机帮助”网页;在大量带宽和活跃的用户社区帮助下,我们可以看到用户创造的如何高效使用各种软件的视频。这应该给软件团队很多启发——如何能用好各种形式的“帮助文件”。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值