[User-interface] 你将如何处理不阅读对话框的用户?


Answers

首先,颜色和图标的使用应该有助于让用户对问题的严重性有一个直观的认识,红色表示特殊,黄色表示警告,白色表示信息。

其次, 在对话框按钮上使用动词可以让用户感觉到,即使他们没有阅读对话框的文本,他们也在告诉系统做什么。

最后,如果您有兴趣查看完全不同的通知范例,请查看在Firefox和Internet Explorer中实施的信息栏或通知栏。 StackOverflow使用相同类型的机制在用户获得新徽章时通知用户。

信息栏不突出,并停留在屏幕的顶部等待用户注意。 我认为这是一个伟大的设计比喻。

这里有几个实现教程:

这里是微软在对话设计方面的指导 ,也涉及到信息栏的概念。

Question

最近一篇关于Ars Technica的文章讨论了北卡罗来纳州立大学心理系最近进行的一项研究,这项研究表明,用户倾向于尽一切努力摆脱对话框,回到手头。 他们中的大多数会单击“确定”或“是”,最小化对话框或关闭对话框,而不管显示的消息如何。 一些显示的对话框是真实的,其中一些是假的(如网页显示的弹出窗口冒充防病毒警告)。 响应时间将表明这些用户不是真正阅读这些对话框。

所以,了解这一点,这将如何影响你的设计,你会怎么做(如果有的话)?




杰夫·拉斯金的人文接口值得一读。 对话框是最后的手段,也是设计不佳的标志。 大多数是不必要的,正如你所发现的,都被用户忽略。

为什么有一个对话框? 解决这个问题 - 不要求用户确认一个操作,而是要简单地撤消操作。 不要弹出一个对话框宣布错误 - 无论做什么恢复你会做什么(或任何可能的)。 绝对不显示只有一个结果的对话框('OK'只有盒子是魔鬼),不显眼地在应用程序内呈现信息。




你可以做的一件事是确定按钮禁用3秒。

Firefox在安装扩展时执行此操作。

编辑:好的,有些人觉得这很烦人。 我仍然认为大约1秒钟就没事了。 它会抑制人们(包括我自己)所拥有的即时OK点击的本能,并强制双重打击。 当然,如果你的对话不是他们真正需要阅读的东西的话,即使这样也会让人烦恼。




在对话框的末尾包含一个选择题测验,用户必须选择答案,以显示他们确实已经阅读和理解文本。 随机地切换选项的顺序,使它们不能总是点击相同的顺序。




想到一个.NET Rocks插曲(我相信第338集“Mark UI关于良好用户界面的科学” )讨论了这个话题。 我觉得这个整个讨论的关键是这是基本的UI设计太过分了。 模态曾经是一种可以接受的沟通方式,现在我们发现它已经变成了编程失误。 用户明白,10次中有6次信息不够贴切,让他们担心。 因此,他们以同样的方式对待所有的情态 - 学习无助。 如果出现一个模式,并告诉我发生了应用程序错误X,所有我可以点击的都是“OK” - 即使我不认为这是“OK”,我也会学到一个特定的行为。 我assosciate模式的想法,我可能不能做太多关于他们,但如果我点击确定/是,那么我可以回到我需要的东西。

那么,为什么仍然使用? 也许开发人员试图避免应用程序开发不仅仅是一个基本的界面,而且用户需要一个流畅的UI设计 - 旧的standbys很难放弃...

我认为这里的关键是要明白,良好的用户界面设计现在表明,中断(即使是最新的计算机用户)是烦恼,我们需要努力获得一个无缝的用户体验,应用程序的重点是用户 - 而不是应用程序的需求通过提示和错误报告 - 不允许用户进入他们不关心的情况。




在某些情况下,[Lightbox]( http://en.wikipedia.org/wiki/Lightbox_ ( JavaScript))模式对话框似乎是一种有效的技术(Web 2.0派生,但可以在其他上下文中实现)。

还有一点:如果你可以放弃一个撤销功能的对话框(一个人将Gmail作为标准的Web应用行为来支持这个概念),这是需要考虑的事情。




一个建议:

  1. 不要使用对话框。 特别是模态,确定/取消对话框。

有时候这很难...你如何处理打开文件? 有时很容易...你真的需要警告用户他们要覆盖一个文件吗? 有机会,如果我盲目地点击“确定”,我不会留意任何警告。




错误的问题。 “你将如何处理用户”从错误的一端开始。

正确的问题是“鉴于对话分散了用户的手头任务,还有哪些更好的选择?”。

在实现目标或完成任务时,我们可以区分三种情况:

(1)应用程序得出结论,没有任何行动可以使用户达到目标。 弹出一个消息,用一个按钮来解除它。 你不在乎读者是否理解,因为结果并不重要。

(2)您只能采取一项措施,或者替代措施与用户无关。 不要打扰他。

(3)实现目标有两种或两种以上的方式。 让用户在这些之间进行选择。 不要把这看作一个是/否的问题。 (Vista提供这个作为一个通用的对话框,来代替消息框。)如果可能的话,不要把它作为一个不可逆转的选择。

这个规则的例外是用户期望是/否问题的情况。 但是,真的,如果是这样的话,为什么不是正常工作流程的问题呢? 对话框在正常工作流程之外。




我对用户不耐烦,他们没有阅读我花了很多时间和精力去开发:1)应用程序2)说明除此之外,如果你没有阅读,只是做“无论如何”,你是在你自己的。 我在前面说。 我设计我的应用程序要尽可能直观,但仍然有人会支持打电话,就像一个孩子不应该在课堂上脱口而出的孩子。 我对此没有容忍。 阅读手册,阅读对话 - 99%的问题的答案就在那里。




我把这称为“自动驾驶仪”问题。

  1. 不要使用屏幕底部的确定,取消按钮。 看看Vista试图强制用户做出真正决定的方式。
  2. 禁用按钮几秒钟,显示一个“时间思考”计时器/进度条。 所以用户不能点击自动驾驶仪。 用户往往觉得这很烦人。



你可以避免使用对话框! 在某些程序中,有一个显示错误和警告的小缓冲区。 除此之外,它也可能会问你一个事情,你必须在那里输入你想要做的事情。 这是相当干净和漂亮的解决方案,我倾向于在菜单栏上。

但是,如果你真的必须使用对话框,试试这个:

  • 每个对话只有一个句子
  • 最多两个或三个按钮
  • 在对话框中使文本可读(更大,黑白)
  • 而不是使用一个对话框而不是多个小对话框(提示:listbox)

我对对话框有什么看法? 简而言之:他们是愚蠢和愚蠢的东西。 使用它们的程序会在我的路上走,并用他们愚蠢的毫无意义的问题拖慢我的速度。 另外,经常使用对话框的程序是非常愚蠢的。