所以,我想知道您能推荐哪些好的做法,以帮助用户实际阅读您的错误消息,而不是简单地将其搁置。我能想到的想法可能是:
- 当然,格式化有所帮助;也许是一个简单、简短的消息,带有一个“了解更多”的按钮,该按钮会导向更长、更详细的错误消息
- 所有错误消息都链接到用户指南的某个部分(有点难实现)
- 不要发布错误消息,只需拒绝执行任务(这是一种有点“苹果”式处理用户输入的方式)
这是一个非常好的问题,值得我点赞。尽管这个问题看似简单,实际上涵盖了很多有关终端用户本质的方面。它归结于以下几个因素,这些因素对您和软件本身以及最终用户都有好处。
(编辑)再次特别感谢gnibbler提出的另一个极其重要的观点!
编辑#2:对不起!糟糕,感谢 DanM 指出在汽车方面的错误,我把名称搞混了,它是福特Pinto...我错了...
编辑#3:通过ed突出显示补充说明,并归功于其他人的贡献...
编辑#4:回应Ken的评论 - 这是我的看法... 不是,使用中性标准Windows颜色...不要使用花哨的颜色!坚持使用正常的灰背景色和黑色文本,这是Microsoft规范中常见的GUI指南..请参见UX Guidelines (ed).
如果您坚持使用花哨的颜色,请至少考虑到潜在的色盲用户,即残疾人士的另一个重要因素——可访问性,屏幕放大友好的错误消息,色盲者,那些患有白化病的人可能对花哨的颜色敏感,以及癫痫患者...他们可能会因为某些颜色而引发癫痫发作...
展示给他们这条信息。尽职调查之类的,但是要将每个错误记录到文件中。用户在事件发生几秒钟后无法记住他们在做什么或错误消息是什么,就像对罪犯的目击证言。
提供一个良好的方式让他们通过电子邮件或上传日志来协助您解决问题。如果它是一个 Web 应用程序:更好的是,您可以在任何人报告问题之前收到关于情况的信息。
简短回答:你不能。
稍微长一点的回答:让它们变得明显、相关和有上下文(强调他们搞错了什么)。但是,你仍然在打败的征途中。人们在电脑屏幕上不是读,而是扫描,并且他们已经习惯了点击按钮直到对话框消失。
根据您的用户群,编写有趣/粗鲁/个人化的错误消息可能非常有效。
例如,我编写了一个应用程序,让我们的人力资源部门更好地跟踪员工的雇用/解雇日期。[我们是一家非常随意的小公司]。
当他们输入错误的日期时,我会写:
嘿,蠢货,学着如何输入日期吧!
编辑:当然,更有帮助的信息是说:“请将日期输入为mm/dd/yyyy”,或者在代码中尝试确定他们输入了什么,“blahblah”来显示错误。然而,这是针对我个人认识的人力资源人员的一个非常小的应用程序。因此,再次强调,请阅读本帖子的第一行:根据您的用户群...
最近我参与了一个艺术学院的项目,因此错误消息是针对观众而设计的,例如:
巴洛克时期之前的大多数艺术作品都没有签名。但现在我们已经超过了巴洛克时期,所以所有字段都必须填写。
基本上,请尽可能针对您的观众进行调整,避免极其无聊的通用错误,例如:“请输入电子邮件”或“请输入有效的电子邮件”。
警告/弹出窗口很烦人,这就是为什么每个人都会点击他们看到的第一个按钮。
让它变得更加不那么烦人。例如:如果用户输入了错误的日期或输入了数字应该在的位置上的文本,则不要弹出消息,只需突出显示该字段并在其周围写一条消息。
制作自定义消息框。不要使用系统的默认消息框,例如Windows XP消息框本身就很烦人。制作一个新的有颜色的消息框,背景颜色与系统默认颜色不同。
非常重要:不要坚持。某些消息框使用模态对话框,并坚持让您阅读它,这很烦人。如果您可以将消息框显示为警告消息,那将更好,例如Stack Overflow消息直接出现在页面顶部,提供信息但不烦人。
更新:
使消息有意义且有帮助。例如,不要写诸如“未发现键盘,请按F1键继续”之类的内容。
我们在错误框中放置了一个简单易记的图形:不是图标,而是相当大的位图,也不像标准的Windows消息图标。没有人能记住消息框的措辞(如果有“确定”按钮,大多数人甚至不会阅读它),但大多数人确实记得他们看到的图片。因此,我们的支持人员可以问客户“您是否看到了喝咖啡的人?”或“您是否看到了空桌子?”至少这样我们大致知道出了什么问题。
最好的UI设计是在您几乎从不显示错误消息的情况下。软件应该适应用户。采用这种设计,错误消息将是新颖的,会吸引用户的注意力。如果您频繁地向用户展示无意义的对话框,那么您明确地在训练他们忽略您的信息。
我个人喜欢那些 不需要让我思考 的软件,偶尔如果开发者不能理解我的意图,也要提供非常好的(并由实际用户审核过的)消息。
众所周知,人们不会阅读文档(当你插入家用电器时是否曾经反复阅读说明书?),他们会尝试快速获得结果,失败后你必须用有意义的和有帮助的信息吸引他们的注意力(例如暂时禁用默认按钮)。他们不关心你的软件故障,他们想要立即获得结果。
我学到的一个好建议是,你应该像写报纸文章一样编写对话框。不是在大小意义上,而是在重要性意义上。让我解释一下。
你应该首先写最重要的内容,然后提供更详细的信息。
换句话说,这样做是不好的:
There was a problem loading the file, the file might have been deleted, or
it might be present on a network share that you don't have access to at
your present location.
Do you want to retry opening the file?
相反,改变顺序:
Problem loading file, do you want to retry?
There was a problem loading the file, the file might have been deleted, or
it might be present on a network share that you don't have access to at
your present location.
这样,用户可以阅读他想要或感兴趣的部分,并仍然了解所提出的问题是什么。