错误时常发生。它出现在我们设计/使用的App里及生活的诸多方面。有时候错误出现是因为我们自己在使用时犯错。有时候可能是因为系统的异常失败导致。不管因为什么引起,错误本身和对错误的处理方式都会极大的影响你的App带给用户的体验。常常被人忽略的一件事是,一种偷懒的错误处理方式和不够精心的错误消息会带给用户挫败感而令人失望,进而致使他们放弃使用你的应用。然而,一种精心设计的处理方式则能往往给用户带去愉悦感而忽略掉错误本身。
在本文中,我们将研究如何使App的设计能够最大化的避免带给用户太多的错误,以及如何创建友好的错误消息。
一、基本概念
1、什么是错误?
错误(或错误条件)出现在当一个应用程序无法完成预期的动作时,如:
应用程序不理解用户输入;
应用程序启动失败;
用户打算同时运行相互矛盾(不兼容)的动作;
每一个错误,不管该归咎于谁,都无疑是用户在使用程序时的一个绊脚石。幸运的是,一个好的设计能够减少这种阻力。
2、防范用户错误
如果你设计过App,你应该熟悉应用程序中的一些约束条件。例如,如果设备的网络连接很糟糕,则往往很难成功填写一个表单数据或不太可能实现数据的同步。你应该考虑这些约束,设计出易用的程序来减少错误。换句话说,灵活的运用约束进行设计,给与用户指引,能够更好的在第一时间防止用户犯错。
3、使错误信息有效且一致
设计的10条可用性原则之一告诉我们向用户优雅清晰的传达错误是非常重要的。一个有效的错误信息应至少包括以下几个方面:
明确的告诉用户发生了什么;
告诉用户该如何解决错误;
尽可能多的保存用户输入的内容;
二、用户输入错误
用户输入校验是指通过跟用户对话,引导他们从错误和不确定性的困难中走出来。这个过程中更重要的是情感交流而非技术考察。
输入校验的最基本原则是:“告诉用户。告诉用户什么时候错了,错哪了”。一般来讲,一个好的校验形式有三个重要元素:
在正确的时间、正确的地点告诉用户发生的错误;
使用正确的颜色标示错误信息;
使用清晰的语言描述;
所有这些不过是为了一个共同的目的——避免给用户造成困惑。
1、正确的时间和地点(行内校验)
用户不喜欢在他们完成表单的填写后,却只在点击提交时才告诉他们出错了。针对用户提供的数据的正确性,校验的恰当地时间应该是在他们输入数据后立刻告诉他们究竟符合要求还是错误。这是一个实时校验发挥作用的时候了。
实时的行内校验能在最短时间告诉用户他们提供的数据的正确性。如果你正在如果你正在执行行内表单校验,而错误字段被明显标示出来,提交按钮可能会在错误纠正之前隐藏掉。这种做法允许用户更快的纠正他们的错误而不必等到点击提交按钮之后再去看究竟哪里错了。
以下是一些行内校验的例子:
(1)不相容的取值
(2)超出/少于字符/单词数量
2、正确的颜色(直观的设计)
颜色是在设计校验系统时一个最好的工具之一。因为它能依靠人们的本能行为起作用:在错误消息中使用红色,警告信息中使用黄色被证明非常有效。错误文本应该是易读的,跟它的背景有明显的对比度。但是请确保你的设计颜色是用户有认知并能接受的,这是视觉设计中一个很重要的因素。
3、明确的信息(发生了什么)
确保你的错误信息完全是为普通大众书写的。为了实现这一目的,你应该使用跟你用户一样的语言方式,避免使用技术用语,使用用户熟知的词汇表达每个信息点。你的校验信息应该清晰的陈述:
(1)出现了什么问题,可能是什么原因;
(2)下一步用户应该怎么做来修复这个错误;
三、App的错误
App的错误独立于用户输入。它是指用户得到的是一些非预期数据的信息的场景。在显示错误时,一定要解释给用户他们为什么看不到任何东西以及该如何解决它。
1、同步错误/加载失败
当数据同步/网络连接断开,或者内容加载失败时,用户应该知道。提前告诉他们。由于你没有任何数据,你可以使用空状态来标示这种情况。令人失望的是大多数空状态真的就像是空的一样。在下面的例子中,错误信息仅显示“出现错误”,并没有提供任何帮助性的信息。
把你的错误信息就当做跟用户的对话。使用友好且具帮助性的空状态来标示数据失败才对。通过提供一些必须的基本信息来协助用户,并鼓励用户解决问题。
如果合适,提供一个链接(或按钮)选项来指引用户完成他们的下一步操作。但是你应该只提供有把握支持的选项。举个例子,不要提供像“重新尝试”这样的选项以防止操作后仍然失败。
2、从来都不要显示原始错误码信息
下面这种信息神秘而吓人:
别指望用户知道信息的上下文或者他们都是技术出身,请使用简单的言语告诉用户究竟出了什么问题。你该如何用人类对话的方式告诉用户发生了什么错误呢?写下那些你想到的词组/言辞,这就构成了你的错误信息。
四、不兼容的状态错误
不兼容的状态错误出现在用户尝试去执行相互矛盾(不兼容)的动作时,比如,在飞行模式下要打电话,断网环境下要玩在线视频。你应该明确告诉用户他们当前所处的状态,防止用户将自己置入这种不清不楚的境地。谨记简单的一条原则,就是不要让人们去开始他们不能完成的东西。
五、结论
最好的错误信息就是永远不出现错误信息。最好的方式是通过提前引导用户沿正确的方向使用程序,来第一时间阻止错误的发生。但是当错误确实出现时,一个设计优秀的处理方式不光能帮你指导用户如何按你期望的方式使用你的程序,也不会让用户觉得自己无知而郁闷。
译自:https://uxplanet.org/mobile-ux-design-user-errors-1ad1f5d664f9#.bun9t345h