算是老概念翻新的一篇文章吧...对系统状态的描述一直都很重要,这会帮助用户更好的了解你的产品,构建人与产品间的信任关系,让互动行为处在一个合理可控的范围之内,我们同样也在面对一些新的展示新式,在细微之处,例如YouTube的网络断开状态与IM类应用就略有不同。适合快速预览的一篇文章吧。
原文链接:Visibility of System Status
原文作者: Aurora Harley
系统状态的可见性,本质上是透明的沟通,这对生活的各方面都很重要。人们会追求可预测性和可控制性,在大多数情况下,更多的信息可以转化为更好的决策。
无论你身处哪里,在做什么,花点时间看看周围,你会注意周围的各种各样的系统,他们是如何表达当前所处的状态。你的手机和电脑会显示剩余的电量;你的电子邮件会告诉你有多少未读的邮件;地铁上的标志会指示下一站,这些信息会让您能够准确地评估,与之交互的系统状态。
系统状态的可见性是指系统状态如何被传递给用户。理想情况下,系统应该始终在合理的时间给出适当的反馈,让用户了解正在发生的事情。
知识就是力量
只有知道当前系统的状态是什么,你才能改变它-也就是说,你可以克服评估的鸿沟,找出下一步要做什么才能达到目标。
例如,当你驾驶一辆汽车时,你需要不断地观察它的速度,来决定你是要加速还是减速。你如果开过速度计坏了的车,就知道这是很困难的。你试图保持同步,想让自己在以合理的速度行驶。缺少信息等同于失控。
适当的反馈
当用户与系统交互时,他们需要知道交互是否成功。系统真的检查到了那个按钮吗?还是忙于处理其他的进程?商品被驾到购物车了吗?请求通过了吗?用户产生这些问题的一个原因是,他们曾经被这些问题打扰过。即时并没有bug,人们仍然会怀疑他们是否真的点击到了。
用户行为的适当反馈可能是界面设计的最基本原则。它的作用是让用户了解当前的状态,并允许他们正确的交互,不浪费精力。
这种反馈可以简单到用户点击时改变颜色,活着需要一个过程更长一点时间的进度指示器。这些指标表明系统正在工作,并减少了不确定性-比如防止用户多次点击同一个按钮,因为他们不确定第一次是否有效。
为交互事件提供即时反馈允许用户快速识别错误源,并在错误发生后立即修复它们。事实上,即时反馈是直接操作的好处之一。直接操作是一种交互方式,用户可以直接对不同的UI对象进行操作。与直接操作相比,命令行界面不会显示系统的其他状态,也不提供即时反馈。程序员知道缺乏即时反馈的界面中寻找错误源有多难;他们常常不得不求助于断点和逐步分解代码来寻找问题点。
你希望你的用户感觉自己在使用DOS或者Unix吗?这些古老的命令行界面和现代的GUI设计之间真正的区别不是使用了彩色的图标,而是系统状态的可见性。
即使用户无法看到操作的结果,因为系统没有屏幕(例如Amazon的Echo,Google Home这样的语音设备),但是对接受到的命令最小的反馈也很重要。Amazon的Echo会在设备上显示一圈光,表明它正在接收或者执行操作命令。这可以让用户确保系统收到了命令。
强迫用户行动
现代系统是复杂的,假设系统状态的状态描述与用户沟通的不合理。
许多后台组件,比如JavaScript文件的下载与执行,都对用户没什么兴趣,然而,有时候后台会在前台扮演重要的角色。以库存规模为例。一个产品有多少库存与用户无关,不应该显示出来,但是也有例外:
当股价低时,如果人们知道剩下得少,他们更可能采取行动-就像是社会稀缺性的证明一样。
当产品没有存货时,信息可以免去用户添加到购物车的工作,因为这个产品已经没有了。
要沟通可能影响用户的后台事件,可以使用通知或者指示器,魔胎的对话窗口可以用于告知人们状态变化带来的重要影响。
沟通创造信任
在现实生活中,当一个人拒绝接受我们的信息或单方面作出决定时,我们都会失去信任,觉得这种关系不再平等。当我们与一个系统交互时,也会发生同样的事情。
当我们理解系统的状态时,我们就会觉得自己处于可控之中-在任何情况下,我们都可以依赖于系统的正常运行。
互动的可预测性,不仅在网站和应用的结构上创造了信任,也给品牌带来了信任。
web和app都应该清楚地向用户传达系统的状态-在不通知用户的情况下,不应该采取对用户有影响的行动。当外部的事件或时间引起了状态的变化时,用简短的术语来解释它。
例如,当用户重新访问先前创建的心愿单时,会发生什么情况?最糟糕的用户体验是如果这些条目从列表中删除,而没有解释原因,屏幕顶部的通知如何呢?可能会稍微好一些,但它不会让用户记住列表的内容。这两种方法都剥夺了用户的控制权,降低了信任-如果其中的项目有时会单独消失,用户可能会不再信任心愿单。
建立信任的一种更有效的方法是,传递当前系统的状态,然后允许用户从列表中删除它们,活着保持它们处在一个可见的状态备用参考。
结语
系统状态的可见性,是优秀体验的基本构成。它的核心是通过启发式的鼓励开放交流,来构建人与设备的关系基础。不了解系统状态的用户并不能轻易地决定下一步要做什么,也不能确定他们行为是不是正确。不要让用户感到盲目。