关于 error message 一点个人看法
做技术转眼很多年了,也参与过很多系统的开发了,见过各种同事写的 error message,在我看来有些是非常典型的程序员思维,自己感觉一点问题都没,孰不知用户一头雾水,每次提出修改的时候,有些人还振振有词改不了,我提出自己修改意见之后,还有人说不行,前几天和我们半路出家的产品经理聊这个问题,今天闲来无事写一篇文章简单总结一下自己的想法,供大家讨论。
首先开宗明义:个人认为 error messge,不仅是提示用户为什么报错,他遇到了什么问题,而且是告诉用户如何解决他遇到的这个问题,所以个人最好的 error message 应该具备以下要素:
1. 准确
这个不是废话吗?如果不准确,甚至是误导,这 error message 不仅不能解决问题,还添乱,所以这个应该是第一位的,切记一定要准确,没有做不到,那就和没有 error message 没啥区别,甚至不如不提示,毕竟这样不提示不会让人误入歧路。
2. 简明扼要
说到的是简明扼要,我们大家都知道注册的时候那一大串协议吧,你有认真看完吗?哪次不是拉到最后然后点击同意?当然谁也不会把 error message 写那么复杂,在此仅是举个例子而已,大家记得一定要简明扼要,能一句话说明白的就不要两句话。多说一句,注册的协议写那么一大串也是没办法的事,谁可以一句话把注册协议写明白?任何人都做不到,此时就是以准确为先了。
3. 在前两个要素的基础上:提示用户为什么报错以及解决方案
个人以为这个才是最优秀的 error message,告诉用户为什么报错,这个其实不是必须的,但是很多时候告诉用户原因不会让用户迷惑,还是应该的,这个等下再举例说明。告诉用户解决方案,个人以为这个才是最核心的,当用户拿到这个解决方案的时候:不用任何思考,他不需要任何思考,只需要按照解决方案一步一步的做,就可以完美解决他的问题。之前看过的一篇文章,说乔布斯可以一秒钟把自己变成傻子,我认为是同理的,这才是真正做产品的思路,把自己当成傻子想象傻子怎么解决问题,所以做产品的时候就想象如果给傻子写 error message,告诉傻子解决方案,让他一步一步照做就可以解决问题,所以错误的提示的时候就把用户当成傻子,这样写出来的错误提示一般不会有大问题。
4. 提示为什么报错
个人以为这个提示没错,但很多时候是有问题,唯一没有问题的时候,就是对于一些简单的问题可以告诉用户原因,但必须保证用户一看到原因就知道解决方案是什么,举个例子,表单提交,提示某某字段为空,用户一看就知道解决方案原来是这个字段不可以为空,填上就好了,所以这个告诉用户原因没问题,但是有些东西,用户拿到原因并不知道怎么解决,例如之前同事做的一个验车的时候遇到的问题,error message 提示:订单 ID 为空,这个提示有错吗?没有错,这就是典型的程序员的思维,原因就是这个,我找不到订单,就获取不到订单 ID,然后不能往下走,所以报了这个错。但是这确实是有问题的,用户拿到这个原因有啥用,他能找到订单吗?他不能,然后他知道怎么找到订单吗?也不知道。所以当时看到这个问题之后,我就力推优化这个提示,然后当时一堆同事说:没有办法优化。我当时就说为什么不能优化?同事都说,因为就是找不到订单。然后我就问:那让用户找某某某,怎么解决的,最后我力排众议,连产品经理反对也不管了,反正我是程序员,我能决定代码怎么写,就得按照我的想法来写。最后改成了告诉用户解决方案:请先联系客服绑定订单。然后看到这个解决方案他们就知道了怎么做了,而不是像以前那样遇到这个问题,就找到开发咋回事,然后开发再说你找某某某,然后某某某在告诉用户你找客服绑定订单,终于就再也没有用户因为这个问题来找我了,我也终于感到可以清闲一会了,那个某某某也可以轻松一会了。这就是典型的告诉用户原因,一堆人脑子转不过来弯的例子。
最后再说一下,前面说的一个问题如果只告诉用户解决方案呢?这个确实能解决用户的问题,但是个人以为有些时候用户会迷惑。举例就是:假设用户在支付的时候,如果余额不足,你不告诉用户原因,而是直接告诉用户不能用此支付方式,用户换个支付方式也能解决问题,但是用户会迷惑:为什么我不能用这个支付方式,需要换一个?最后用户也许自己能发现原因,但是用户可能会一试再试,因为用户不一定一定会听你的,所以你可以告诉用户余额不足,请换个支付方式支付,这个时候用户既知道了原因,又有了解决方案,可以更快速的解决问题。所以综上所述,个人认为最好的 error message 应该是:
在准确简明扼要的基础上:告诉用户原因以及解决方案,其次是告诉用户解决方案,再次是告诉用户原因,当做一个东西的时候,千万不要局限于程序员思维,多站在用户的角度上想想,而且一定要把用户当成傻瓜,当一个傻瓜用你的系统的时候,你的这个 error message 能不能帮他解决问题,如果不能,就说明不能说明有错,但一定说明还有优化的空间。
最后的最后,想说也许这么文章看起来很乱,但意思肯定表单的很清楚,如果你按照这篇文章的指导思想去写 error message,不敢多说,但一定会让用户感觉你的系统易用性提高了十倍,入门简单了十倍。
作 者: BridgeLi,https://www.bridgeli.cn
原文链接:http://www.bridgeli.cn/archives/623
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。
近期评论