自动化脚本自动化执行
任何经验丰富的计算机或Web应用程序用户都熟悉用户界面过活跃的现象,该界面指出您正在尝试阅读文章,并忙于关闭桌面上的所有其他窗口,无论您是否要这样做。或不。 它发出一连串虚假的确认消息,仔细检查您的每个决定。 它会在您键入时无缝地纠正您的拼写错误,偶尔将全新单词引入词汇表中,并且更经常使您的语法难以理解。
这些只是过度活动界面主题的一些变体,但是大多数具有相同的基本动机:预测并纠正用户的不幸。 虽然某些所谓的智能功能实际上很智能(例如,查询用户是否真的想在完成之前清空垃圾),但太多的功能却具有意外的缺点:它们鼓励更多的用户错误,而不是更少。
请看一下这些过度接口的常见示例及其不希望的,通常是不可预测的后果。
您可以过度确认吗?
用户界面设计中最困难的问题之一是确认。 用户需要多少确认? 例如,每个单个文件删除都应收到确认请求吗? 过度确认会带来两个危险。 一个简单地是,什么事也做不成:
Would you like to continue reading this paragraph?
If so, please open the file menu and click Confirm.
确认消息打乱了用户的思路或将简单的动作变成了复杂的动作,弊大于利。 每次无需确定是否要删除所选程序,清理我的下载目录就很繁琐,而又不会再被询问。 我知道删除程序会阻止我访问其相关文档,非常感谢。
第二个危险更加微妙。 我们人类是习惯的产物。 如果要求我确认每一个动作,我都会Swift做出节省时间的响应:我几乎在框有时间实现之前,单击“是”(或单击“返回”)。 这可能是不幸的转折,这是在我的大脑节省时间之前养成节省时间的习惯的罕见情况之一,并且我已经转储了我本来希望保存的文件。
保存重要内容的确认。 经验法则是将确认请求限制为不可逆的动作。 更好的做法是为用户提供较少破坏性的故障保护-例如手动清空的垃圾桶(或回收箱)。 用户满意地转储了不需要的文件或程序, 并在扔出一些必需的东西时可以进行挖掘。 (除非他们习惯性地将文件放置在那里的垃圾立即清空。)
确认请求实用性的另一个重要因素是它们提供多少信息。 一个好的人应该提供足够的信息和选项,以使用户了解他需要知道的内容-他需要知道的所有内容 ,并通过一两次单击就可以有效地对其进行处理。 Windows 95有一个信息不足的著名例子:询问您是否要覆盖现有文件的框仅显示一个文件的版本号,而不显示另一个文件的版本号。 它会告诉您一个是比另一个新还是旧,但是文件日期并不总是足以告诉您发生了什么事。 附加选项(例如“全部同意”或“全部拒绝”)可以帮助减少用户处理重复任务所需的时间。
自动化的另一面
自动化是用户界面设计的双面硬币之一。 一方面,很高兴知道您的计算机足够关心您的偏好并加以执行; 另一方面,它可能会导致一些令人困惑和不稳定的行为。 例如,我使用Mozilla的Firefox浏览器。 我想了一会儿,如果将URL粘贴到任何Firefox窗口中,浏览器将自动跳到那里。 有点整洁。 我花了很多时间才了解为什么我会定期发现自己被火箭发射到未知,不想要的,无输入的地点。 通常,您会发现其中一个蹲在一个可能的单词域上,希望在下一次互联网繁荣中获得丰厚的回报。
我最终发现,如果选择了一个单词,并且不小心将其粘贴到窗口中,则Mozilla浏览器会将我重定向到该单词的第一个Google搜索结果。 发生这种情况是因为我的鼠标设置为自动粘贴在中键单击上,或者使用中键打开新标签。 因此,如果我错过了几个像素的链接,并且碰巧剪贴板中只有一个单词,我就会被路由到某处。 通常,我不希望成为某个地方。
老实说,我宁愿使用直截了当的错误消息,而不是对假定的错误进行这种无声的,错误的“更正”。 这里的问题是,Web浏览器积极地针对不知道如何使用它们的用户-新手用户会犯一些愚蠢的错误,并且如果第一次或第二次尝试都无法顺利进行,则会感到沮丧。 大多数浏览器并没有尝试让用户训练成更好的行为,而是试图使事情变得更好,而没有从根本上打扰用户。 考虑一下wpad.com的命运,wpad.com的服务器在寻找其当前域的机器时会经常被试图发现代理的浏览器打劫,这些机器通常会查找“ wpad”。 (这是Web代理自动发现的副作用;请参阅参考资料 。)
作为记录,我是那种喜欢纠正自己的错误,并且希望不会两次犯相同错误的用户。 但是我知道并不是每个人都像我一样。
哎呀-我的错!
现在,我来谈谈用户界面设计中最大的障碍之一-实际上,本专栏的重点:用户确实犯了愚蠢的错误。 早在大型机时代,用户就是训练有素的个人,他们足够了解,可以轻轻地tip伏在沉睡中的巨人周围; 但是那些日子已经过去了。 如今的桌面鼓励了一定程度的熟悉度,以至于某些用户似乎确实在睡眠中进行计算。
我最近遇到了一个博客条目,其中用户描述了他在客户服务网页上遇到的问题。 我什至不知道有多少人对博客条目做出了明确的支持问题,这些问题明确地针对了不提供客户服务的公司,而博客作者本人也没有问题。 这些用户似乎是在假设他们在公司站点上。 我的猜测是,他们进行了搜索,然后以发现的第一种形式键入问题,很遗憾,这是某人的博客。
逗弄用户并吸引他们很有趣。 当然,Web上充斥着许多嘲笑客户的页面,这些客户没有完全符合应用程序供应商的高知识标准。 但是重要的是要意识到在这些情况下,有用的,清晰的反馈至关重要。 备受关注的Internet Explorer错误消息虽然存在缺陷,但至少可以使用户了解可能出了什么问题。 不幸的是,他们这样做是通过拒绝用户其他服务器可能希望传递的任何消息来实现的。
建立更聪明的用户
试图使您的用户不明智,这很危险。 失败时很危险,成功时有时甚至更危险。 事实是,用户会犯错误,因此有时应允许他们跌倒。 如果构建更多的系统来考虑用户故障(例如确保结果不会造成灾难性后果),并且避免这种情况的决心较小,那么许多系统将变得更强大。
最典型的自动化事故是假设最常见的情况是唯一重要的情况的结果。 如果80%的用户希望进行特定的逻辑扩展,则程序员可能会自动执行该逻辑扩展。 不幸的是,在其他20%的时间内,这会使用户陷入困境,对于计算机或应用程序正在发生的事情很可能感到困惑和沮丧。
最后,让用户可以选择禁用某些(如果不是大多数)自动化功能。 毕竟,据说它们在那里是为了提高效率。 我建议默认为关闭此类功能,以便用户可以找到最方便的功能。 这可能会导致无法致电许多技术支持。 这也是迈向创建更智能的用户的第一步,或者至少是使他们的计算机行为完全不那么神秘的用户。
本周的行动项目 :尝试对您的日常工作进行一些小的更改。 您的系统如何针对它们进行校正? 您要的是更正吗?
翻译自: https://www.ibm.com/developerworks/web/library/wa-cranky48/index.html
自动化脚本自动化执行