人生走一趟,总要尽全力去体验

关于可用性原则中的“防错原则”

    交互设计师都应该了解的可用性原则中,有一条是“防错”原则,也就是设计、重组或特别安排,防止用户出错。它也是交互设计师做设计的时候的基础性原则之一。简简单单的一句话,似乎给防错一个定义。但在最近的设计工作中,我一直在思考,防错防的到底是什么,如何防止用户出错,防错的度是怎样的这些问题。虽然还没有形成方法论的东西,但在思考的过程中,或多或少的有一些自己的心得。

    首先,想举一个最简单的例子,也是互联网产品中最经常出现的一个现象,按钮的状态。很多产品中,都会在用户未填写任何内容的场景中,使按钮的状态灰置,使其为未激活状态,如图1所示。这样做的好处,一方面可以防止用户出错,另一方面,在用户操作的同时,按钮状态的变化会引起用户的注意来进行下一步的操作。然而,在另一些使用场景中,却不会将按钮置灰,而是明明用户点击按钮的时候会出错,却直接任由用户去点击,而后给予用户一个toast、alert或其他形式的错误反馈,如图1所示。为什么第二个种场景下,不去置灰按钮防止用户犯错呢?这里可能和不同的场景、开发成本、用户认知,用户使用习惯等等复杂的因素相关,也就意味着防错会和这些复杂的影响因素相关。

    
    图1 按钮的防错效果

    因为,防错的复杂因素影响,所以我并不想直接总结出会和哪些复杂因素影响,怎么影响,因为我可能并不能很好的总结完全,所以想继续用3个案例来探讨“为什么去这样做”,“防错到底防的是什么”?

    我们先来看第1个例子:是云音乐的发布动态的例子,如图2所示。云音乐的发布动态的功能可以选择发送图片,而图片仅可支持4张照片。只要有发布动态相关的产品,应该都有这样类似的限制和功能,比如微信、易信朋友圈,微博等产品。而当云音乐发布图片达到最多发送量后,采用的防错方案是,用户还可选择图片“入口”,但进入图片选择器后,灰质其他所有图片。

   这样的功能中的设计模式一般可能会有这样几种:第一、图片发送入口灰置或消失;第二、图片发送入口可点击,点击后给出toast提示,告知用户最多可选择x张;第三、图片入口可点击,点击可调用图片选择器,点击第x+1张图片给出toast或alert提示,告知用户最多可选择x张。

   而云音乐的防错策略是:入口可点击进入,但点击到第x张时,其他不可点击。先不评论整体这个方案的好坏,但在防错这点上,云音乐未使用“toast或alert”这种用户点击后才出现的错误提示,却很好的达到了防错的目的。同时,点击再次进入,也方便用户更换图片。

   在其他产品中,为什么采用了各种不同的设计模式呢?可能和产品目标,需求,以及产品已有的设计保持一致、开发成本等相关。比如在产品中本身其他模块也有照片选择器,在其他模块,用其他方式的设计方式,而在一个新的照片选择器中,选用新的交互方式。虽然在这里体验好了,但是整个产品的防错和一致性却有了问题,比如微信和易信的发布图片,和微信、易信中会话中发送图片。

   因此,防错的交互设计中,应该在复杂的因素影响下,尽量寻求在用户点击前就避免用户的错误,而不是点击后给一个提示,除非是出于产品目的的提示。

图2 云音乐的发布图片动态防错交互

   既然不知不觉谈到了产品目的的提示,我们就来看第2个例子,它是产品中的入口显示的问题,如图3所示。我们都知道易信在通讯方面有两个特色功能:免费短信和电话留言,而易信在绝大多数情况下是基于手机通讯录的好友关系,因此,在会话中的更多功能中,可以发送免费短信和电话留言,但是有一个条件是,你的好友的手机号必须存在你的手机通讯录中。早期版本的易信中,当用户未存手机号时,不显示这两个入口。乍一想,是很好的防错策略,省的用户点击了出错,多么为用户着想啊!

    然而,这样带来了两个问题:第一、困扰,用户会疑问为什么有的有,有的没有;第二、产品目的未达成。关于第一个问题,只有涉及权限类的功能,可能都会涉及到有些入口显示,有些不是显示的问题时,或多或少的用户都会有困扰,这时候就要考虑这个功能的常用程度以及困扰大小的“度”的问题了。易信的这个例子会给用户带来的困扰是经常的,而且是巨大的,并且得不到解答的;而一些极端的例子,比如设置项中少了一个入口,估计根本没有用户注意。关于第二个问题,产品目的未达成,早期的易信还在主打宣传这两个功能时,结果用户来到易信中,随便打开一个会话,却未能找到这两个功能,完全成了不想让用户使用了。所以,在随后的易信版本迭代中,就将这两个入口作为常驻入口,点击后提示toast,未在手机通讯录中存有该好友的手机号码。看似没有防错,却在防止更大的错误。

图3 产品中的入口显示的防错交互

    我们再来看微信最近上线的群公告的例子,只有群主才可以修改群公告,但是却对所有用户开放了该入口,并且使用alert强警告来告知用户,而这个功能背后还承载着:当群主设置完成后,用户可点击查看的目的。所以微信的这个防错的交互有问题么?并没有,因为它能很好地完成产品目的。

    因此,防错不单单要考虑用户困扰不困扰,困扰的程度;以及产品目的。真正能将产品目的达成的设计,才是好的设计,才是好的防错。

    我们再来看第3个例子,易信的包红包页面和帮助页面,如图5所示。无论哪个产品的包红包页面,都提前做了一件事情,这件事会使界面变的零散琐碎,但是也必须去做,就是输入框下面的文字说明。用户需要输入内容,一定是我们交互设计师最后才让用户做的事情,但是在某些功能中,用户不得不面临用户需要输入大量内容的场景,而交互设计师能做的主要有两点:第一、让用户理解所要输入的内容的含义;第二、通过设计提高输入效率;而第二点又和第一点有关联。但是思考一下,都是为了防错的同时,又能够很快地完成输入,就像红包界面中的提示文字“本群共几个人”“解释领取任务的文案”都是为了让用户更容易理解,同时达到防错的目的。


图4 文字说明和帮助的防错交互

    而当用户使用一些复杂的功能时,比如红包,可能会出现千奇百怪、无法预知的错误,而有些错误可能在技术、产品等因素的影响下是不可避免的,所以一个帮助页面能够很好地解答用户的疑惑,无论是在错误发生之前,还是发生之后,都能够起到帮用户解决问题、缓解情绪的作用。

    因此,不要吝啬文字说明,也不用去担心用户不会去看文字说明,简洁的文字说明并不会影响用户的使用,却能够更多的帮助用户。

    其实防错的案例还有好多好多,笔者在之前的文章“浮夸的加载菊花”中探讨加载的问题时,也有很多加载的案例是关于防错的,比如支付宝9.0版本中的付款按钮的设计,也是一种很好地防错的设计,这需要在设计中不断去总结和发现,而也绝不是以上三个案例的总结那么简单。

    然而,我们都知道,用户不可能不犯错,与其拿“防错”原则来判断设计的可用性问题,不如在设计的时候,多替用户考虑一下这三个问题:使用之前,能不能理解;使用之中,遇到错误能不能很好地解决;使用之后,并没有特别不爽的地方。另外,设计是为产品服务的,设计必须要达成产品目标,考虑成本等问题,这些也就成为了防错的复杂因素;而交互设计师就要在这些复杂中去寻求一份均衡,交互设计师不仅是夹在各个角色之间的润滑剂,更是夹在影响设计方案的各个因素之间的润滑剂。

    孔子在《论语》中说“不贰过”,即犯过的错不再重犯,突然发现不仅适用于工作,也适用设计,更适用于用户。或许是看那些文字说明,不贰过;点击一些入口,不贰过。我也不贰过。

    

     PS: 坐在咖啡馆中终于把这篇文章写完了。桌面上的手画手写的摆件小菜单和温馨提示,以及这个以“不想上班”为主题的咖啡馆,还有窗外的车子和行人,突然想起了一句歌词:“人要学会,停止流浪”。

    

    

    


    





评论
热度(8)

© 土拨鼠 | Powered by LOFTER