乐者为王

Do one thing, and do it well.

进度条的再思考

英文原文:http://chrisharrison.net/projects/progressbars/ProgBarHarrison.pdf

摘要

进度条在现代用户界面中是普遍存在的。通常,线性函数的使用使得条的进度和已经完成多少工作成正比。然而,许多因素会导致进度条以非线性的速率前进。此外,人类以一种非线性的方式感知时间。这篇论文探讨各种进度条行为在用户感知过程持续时间上的影响。结果被用来提出一些设计考量——可以使进度条看起来更快,最终改善用户的计算体验。

简介

大多数软件包使用进度条显示一个持续过程的状态。用户依靠进度条来验证操作进展顺利,以及估算它的完成时间。通常,线性函数的应用使得进度条的前进和已经完成工作的数量成正比。然而,为复杂的或多阶段的过程估算进度可能是困难的。不同的磁盘,内存,处理器,带宽和其它因素使这个问题进一步复杂化。因而,进度条经常表现出非线性的行为,例如加速、减速和停顿。

再者,人类不以线性的方式感知时间的流逝。再加上进度条的不规则行为,导致人类感知过程持续时间的不同。了解哪些行为在感知上缩短或延长过程持续时间可以被用来改变进度条让它看起来更快,尽管实际的持续时间保持不变。这篇论文描述一个实验,它试图识别在用户感知进度条行为中的模式。然后结果被分析去划分在感知上加速或减速过程执行的行为。我们得出一些设计建议,它们可以被应用于使用进度条的应用,有助于一种总体上反应更灵敏、令人愉悦的和以人为中心的计算体验。

相关工作

Myers调查研究了图形用户界面中进度指示器对用户体验的影响。他得出用户在长期的任务过程中对进度指示器有着强烈的偏好,并且,总的来说,发现它们是有用的。Conn在《Time Affordances: The Time Factor in Diagnostic Usability Heuristics》一文中探讨了时间可见性的概念,文中还列举了一系列理想的进度条的属性。范例给用户提供了一个准确易懂的方法以帮助测量交互系统中的进度。Conn也定义了其它概念——时间容忍窗口,它是用户在判定任务没有取得足够进展前愿意等待的时间长度。Conn接着描述了可以被应用于设置用户期望进行更长等待的预测算法,本质上用一个非线性方法报告进度来增强用户体验。

Fredrickson等人提出持续时间对情感体验多么令人满意的评估影响不大(持续时间忽视)。相反,在体验期间和在体验结束时(峰端效应)感知受到显著特征(好的和坏的)的影响最严重。出现这种情况是因为人类不能以一种一致的和线性的方式记住体验,而是有选择地和带着各种偏见地回忆事件。持续时间忽视(duration neglect)和峰端效应(peak-and-end effects)可以在各种各样的领域中看到,包括医学、经济学、广告和人机交互。

实验

我们识别并开发了8个非线性函数,它们体现不同的进度行为。包含一个线性函数作为比较的基线。Table 1和Figure 1描述了每个进度函数的行为。为测试这些函数的人类感知,开发了一个实验应用,它同时给用户提供像Figure 2这样的两个进度条。这些进度条逐次运行:当第一个进度条完成时第二个进度条自动开始。每个进度条充当控件的持续时间保持在一个恒定的5.5秒。界面提供三个响应按钮,允许用户选择是否第一个或第二个进度条显示更快些或者它们在持续时间上是相等的。另一个按钮允许用户在继续随后的一对进度条之前重放每次测试。一旦提供了答案,下一次测试就会被启动。响应和重放按钮可以在任何时候被按下。

progress-bar-table-1

基于Java的应用运行在一台12”显示器1024x768分辨率的Apple笔记本上。进度条是使用Java Graphics2D原语定制的,600x50像素大小(大约1.2cm x 14.3cm)。一套着色和命名方案被应用于更好地可视化地通知用户:运行的进度条显示成蓝色并且题为“running”,而完成的进度条染成绿色并且题为“finished”。用户通过带有一个集成的、单独的鼠标按钮的触摸板和界面交互。

比较9个进度函数的所有不同顺序对需要81次测试。最初的试点测试显示,在大约50套进度条后用户发现任务是相当乏味的并开始失去兴趣。为了保持主题的关注和确保响应完整的高水平,我们决定给每个用户呈现9个进度函数的所有组合(36次测试)以及与自己配对的函数组合(9次测试)总计45次测试。这保持总的任务时间在15分钟以下。呈现的顺序在两个方面被抵消。首先,对每对用户来说45次测试的序列是随机选择的。其次,在每对用户中,每次测试的呈现顺序是相反的(也就是说,如果配对中第一个用户看见Linear/Power,第二个用户将看见Power/Linear)。

progress-bar-figure-1

我们从两个大的计算机研究实验室招募了平均年龄约为37岁的22名参与者(14名男性,8名女性)。实验在参与者的办公室里进行。简易比较界面的一个简短口头解释被给出。参与者被告知进度条可能以不同速率前进,他们应该选择他们认为更快的进度条或者如果速度相同就选择等于。

progress-bar-figure-2

分析和结果

参与者往往偏好(也就是说,认为更快)第一次看到的那个函数。在990对比较中,第一个函数被优先选择376次(38%),第二个262次(26%),没有任何偏好352次(36%)。这一发现被随后讨论的卡方检验结果所支持。

参与者在9个函数中有着强烈的偏好。对函数的任何配对比较,我们指派一个+1的偏好分数如果第一个函数被优先选择,如果第二个函数被优先选择则是-1,如果参与者没有偏好就是0。Table 2显示了36个函数对中每一个的平均偏好分数。例如,在22个Slow Wavy和Fast Wavy的比较中(每个出现11次),10名参与者优先选择Fast Wavy,5名优先选择Slow Wavy,7名认为函数是相等的。因此,平均偏好分数是(10 – 5) / 22 = 0.23。表的行和列根据增长的总体偏好排序。粗体表示统计显著性从0开始在0.05水平上使用每个函数是同等可能被优先选择的零假设的一个双边符号测试。

progress-bar-table-2

使用Table 2中的平均偏好分数,我们为9个进度函数生成一个粗略的偏好排序,如Figure 3所示。

progress-bar-figure-3

为有效地组合跨单元信息,在控制呈现顺序时,我们使一个logistic回归模型与偏好已给出的638个案例相拟合。偏好Function i胜于Function j假定函数Function i被第一次看到的概率被建模为

progress-bar-formula

Hosmer-Lemeshow卡方检验(8.87和自由度7)未能显示模型拟合的不足。参数α据估计是带有标准误差0.09的0.42,反映了参与者更偏好他们看见的第一个函数的倾向性。估计的α度量在函数中的相对偏好。因为概率仅仅依赖α间的差异,我们把为Linear估计的α固定在0(Figure 4)。α间差异的标准误差介于0.28和0.37。

progress-bar-figure-4

9个函数干净利落地聚成三组(Figure 4):3个被认为比Linear更慢,4个被认为接近Linear,2个被认为比Linear更快。所有三组间的不同是显著的但在组内不一定显著。每个函数的α和其它任何群集中的每个函数在0.05水平上差异显著。被认为比Linear更快的2个函数Power和Fast Power都是指数函数,在接近过程的结尾以更快的进度发生。Slow Wavy、Fast Wavy和Late Pause,仅有的在接近过程结束有停顿的函数,都被认为比Linear更慢。

三个常规发现解释了估算模式,它符合前面提到的峰端效应。首先,参与者认为带有停顿的进度条需要更长的时间去完成(峰值效应)。其次,加速的进度被强烈地青睐。当位于过程即将结束时两种效应的后者有一个夸张的感知影响(末端效应)。有趣的是,两个因素似乎结合在Early Pause情况下,使它基本上等同于偏好的Linear函数。

论述

尽管我们的结果可以被用来增强整个系统的进度条,但有许多情况修改进度行为似乎不合适。一般而言,带有已知静态完成条件和稳定进度的过程不是好的候选者——标准进度条能有效地、精确地可视化这些。另外,这些过程类型往往很少被停顿或其它负面进度行为影响(足以使它们经常伴随着精确的时间估算)。这种过程类型的例子包括拷贝一个文件到磁盘,扫描一张照片,或者播放一个音频文件。

然而,带有动态完成条件和粗略估计持续时间的进度条(比如,碎片整理硬盘驱动器)可以在两个重要方面被加强。首先,因为用户似乎对停顿特别是一个操作即将结束时有种强烈的厌恶,进度条可以被设计成用于弥补这种行为。一个智能的进度条可以缓存进度当操作首先开始缓解以后的负面进度行为(比如,停顿或者迟缓)时。其次,进度可以在开始时被低估和在即将结束时被加速,提供一个迅速结束的感觉在我们的实验中是被用户高度青睐的。

感知增强也可以被集成到多阶段过程的设计中,例如软件的安装。我们的结果表明用户最愿意在一个操作的开始容忍负面的进度行为(比如,停顿和不一致的进度)。因此,过程阶段可以安排那些更慢的或多变的操作最先完成。例如,如果安装程序的一部分需要从远程服务器获取更新,而网络连接可能是不稳定或不可靠的,最好在安装顺序的早期运行这个阶段。更新自己总是可以被稍后应用,因为它们运行在本地,有更多的可预测行为。

总结

不同的进度条行为在用户感知进度持续时间上似乎有显著影响。通过最小化负面行为和结合正面行为,可以有效地使进度条及其相关过程看起来更快。此外,如果一个多阶段操作的元素可以被重新排列,它可能会用更令人满意和似乎更快的序列重新排序阶段。

未来工作

在此次实验中,所有进度条在5.5秒内完成。然而许多使用进度条的操作有相当长的运行时。如果我们的发现扩展到其它持续时间,调查研究应该会很有趣。此外,其它进度行为和行为组合的研究可能揭示新的感知影响。同时,一个自适应实验可以被进行,在此实验中,单独的进度条时间将被动态调整到所有函数在持续时间上被认为相等的一个状态。这将允许相关感知的变体被定量评估。

Comments