用户复杂应用在他们的工作流程中经常被打断,开始一项任务只需要等待很长一段时间才能完成它。这些长时间的等待发生因为各种各样的原因,例如,系统可能需要大量的时间来处理一个请求(例如,运行模型,查询数据库)或从外部来源的用户可能需要额外的信息在继续之前,被迫等待前的信息收集和任务都可以恢复。
无论在何种情况下,遵守以下5条准则都可以减轻复杂应用程序用户在长时间等待或工作流中断期间的体验:
- 清楚地显示已完成的进度和剩余的时间或步骤
- 使用其他详细信息上下文化成功对话框消息
- 在系统内启用用户生成的注释和评论
- 提供对历史内容的访问
- 允许长进程在后台运行
本文的其余部分将提供这些指导原则的额外细节和示例。
1.明确指出已完成的进度和剩余的时间或步骤
复杂应用程序的用户通常分析大型数据集、运行复杂模型或查询可靠的信息源—所有这些过程都需要大量的系统处理时间。在这些相对较长的等待期间,系统状态的可见性这一点尤其重要,这意味着应该向用户提供有关在合理时间内发生的事情的反馈。
因为它是常见的在复杂的应用程序处理时间相对较长(至少比天天在线活动,如将一个条目添加到购物车),complex-app用户受益的详细信息在系统处理过程中发生了什么,他们相对于结束的过程。进度指标这提供了时间流逝(或完成的步骤)和剩余时间或步骤等细节,使长时间等待更容易容忍,并增加了用户的信心。
例如,下面的地理信息系统(GIS)应用程序提供了有关完工百分比和当前步骤的详细信息(栅格化多边形特征…)在长时间的系统处理过程中.此信息有助于用户了解流程是否按预期进行,流程需要多长时间,以及在此期间是否应等待流程完成或开始另一项任务。
如果不提供这些细节,即使是频繁的长期用户也会感到困惑和沮丧。例如,在最近的一次情境调查会议上,一位城市规划师试图分析人口数据,揭示了缺乏进展细节可能造成的不确定性。在等待数据处理时,他描述了该系统提供的“进度指标”:
让我们看看会发生什么…我知道它在做什么,只要它有这个东西在下面。如果这个小地球在旋转,它仍然在做一些事情。如果我看到地球停止旋转,或者它没有出现,那么我知道我的软件可能崩溃了。
而像这样的循环动画可以帮助用户理解系统正在做什么某物,人们早就知道它们不适用于超过10秒的等待,这是复杂应用程序中的常见场景。这是因为繁忙状态循环动画不会告诉用户是否值得等待进程结束,或者他们应该在等待期间投资于其他任务或操作。
要向复杂应用程序的用户清楚地显示进度,请执行以下操作:
- 传达任何超过10秒的等待所完成的工作百分比或剩余时间。
- 当无法提供合理准确的完成百分比或剩余时间估计值时,通过提供已完成和剩余步骤的列表来说明相对进度。
- 适当时,指示当前步骤。(但不要用过于详细的系统操作信息让用户负担过重。)
- 确保进度指标高度突出且易于发现。
2.使用其他详细信息上下文化成功对话框消息
在漫长的等待过程中,复杂的应用程序用户可能会离开工作,完成不同的活动或启动系统内的其他任务;这些活动将提高它们的总体效率认知负荷.例如,在最近的一项研究中,一位沿海工程师描述了在一个典型的日子里,在70台计算机上启动数十项分析:
不幸的是,当你有千兆字节和千兆字节的数据时,它们可能需要数小时[运行]…可能需要半天的时间来完成[这个项目]的分区统计。[我会]点击一下分区统计这就是为什么我有70台电脑,我只是在不同的电脑上启动进程,让它们运行一段时间。
为了减轻返回用户的工作内存负载并帮助他们恢复上下文,在流程完成后,提供详细信息,总结用户不在时发生的事情。
成功对话(提醒用户流程已成功完成的系统消息)可以提供有用的上下文信息,例如经过的时间、流程何时完成的时间戳,以及与已完成流程相关的任何相关信息(例如,创建的新记录、错误相关文档、日志)的链接。使用这些信息,用户可以了解典型的处理时间,更好地做出明智的决定,决定是否在将来的类似过程中投资于其他任务,并增强过程按预期执行的信心。
成功对话框也是提供有关已执行流程结果的详细信息的适当位置—创建的新记录、发生的数据匹配或验证、发生的错误或跳过的步骤。
更好的是,成功对话框可以在适当的时候提供与细节相关的任何相关内容的直接链接。
要将复杂应用程序用户的成功消息上下文化,请执行以下操作:
- 提供长进程的启动时间、停止时间和总运行时间。
- 提供关于过程中发生的信息(例如,创建的新记录或跳过的步骤)。
- 在适当的时候,链接到成功对话框中提到的相关文档或其他内容。
利用情态动词对于长时间等待后出现的成功对话框(即,不允许它们在没有显式用户交互的情况下消失)。
3.在系统内启用用户生成的注释和注释
中断后返回特定工作流的用户可能记不清他们在寻找什么信息、完成了哪些步骤,或者为什么要执行特定的操作序列。帮助复杂应用程序用户记住他们以前的目标和行动的一个经常被忽视的策略是用一些资源来补充工作记忆外部存储器,用户可以在系统中保存和访问工作流期间所需的信息。
支持创建外部内存源的一种相对简单的方法是允许用户在应用程序中生成注释或注释。使用这个功能,用户可以在复杂的工作中跟踪他们的思维过程。
例如,下面的决策建模软件允许用户在尝试对数据进行各种分析时,创建并附加对不同分发选项的注释。然后,在分析模型时,可以在工作流上下文中查看这些注释,帮助用户回忆起他们正在寻找的内容或他们采取这些操作的原因。
当用户无法在其工作流中留下开放式注释时,他们将面临过度的负担,无法理解和记住复杂模型或项目中对象的用途。例如,一位工程师在最近的一次学习中抱怨说,他没有能力在工作中添加注释:
没有评论或任何东西…所以你必须打开每一项才能知道,这一项是为了检索数据,这一项是为了[做其他事情]…你总是必须这样做…我应该能够添加一个注释…说这是因为销售副总裁需要它,或者因为这意味着“x”
由于无法添加开放式注释,用户通常会创建和维护各种外部文档(如一系列电子表格)来记录他们的行为和思维过程。这些外部文档在复杂的工作流中成为管理和参考的负担。
要帮助复杂应用程序的用户跟踪其思维过程:
- 允许用户在系统中留下注释和注释,以解释其操作、添加或查询。
- 允许评论是开放式的。
- 在工作流上下文中显示以前创建的注释。
- 不要强迫用户走出应用程序来跟踪他们的思维过程并创建外部内存源。
4.提供对历史内容的访问
对于复杂应用程序的用户来说,效率至关重要。即使是看似很小的交互,例如要求用户在选择和加载项目之前点击几个额外的屏幕以访问列表或表格,对于经常在项目或文件之间一天或几次切换的用户来说,也会浪费时间和精力七小时。
为了支持工作流中断后的快速任务重入,请在用户登录到应用程序后尽快提供历史内容,例如最近查看的文件或页面的列表。这些列表提醒用户他们离开的地方,并提供一些快速进入他们工作流程的入口点。例如,Azure DevOps在标题下提供了最近访问的内容列表继续你停下来的地方当用户登录程序时。
当提供最近、喜爱或常见项目的列表时,请正确标记内容,以便用户了解内容,如上例所示。相比之下,许多应用程序将项目固定到主页或概览屏幕上,而不明确地将其标记为近期内容或继续你停下来的地方,不清楚他们是否是频繁地或不久前访问内容。此外,尚不清楚用户是否可以定制这些物品(例如,从该区域锁定或取消锁定物品)。
特别是对于信息复杂度高的工作流(例如加载时间长的文件或系统生成的名称模糊、难以记忆的文件),还可以为历史内容提供预览。例如,下面的应用程序提供了最近文件的缩略图以及最近的文件名。正如使用该程序的机械工程师所描述的,“文件预览在这里很好,因为加载这些文件需要很长时间。[如果打开错误的文件,会损失很多时间。”
帮助用户快速重新输入之前启动的任务:
- 提供最近访问的页面或项目的列表。
- 明确标记此项目列表,以便用户了解它是最新的内容。
- 尽快访问此列表。不要要求用户转到单独的页面、项目或项目概览屏幕以查看列表。
- 如果相关,请使用预览增强历史内容(例如,当文件名称模糊或加载时间较长时)。
5.允许在后台运行冗长的进程
通常,当进程运行时,用户更愿意在应用程序中执行另一项任务、查看其他信息或引用其他内容。不要在这些进程中强迫用户在系统工作时处于空闲状态,从而使用户陷入长时间等待。允许用户选择在后台运行长时间的进程,以便在进程运行期间,ey可以在应用程序中继续工作。
不值得注意的是,由于在后台运行的流程对用户的可视性不高,因此在这些流程完成时显示的成功对话框应该非常突出且可发现。模式成功对话框(必须由用户明确取消)是合适的,因为用户在继续工作时可能不会注意或考虑这些过程。
结论
在复杂的工作流中,长时间等待通常是不可避免的,但有几种策略可帮助用户应对这些等待的持续时间,并在等待结束时支持任务重新进入:
- 清楚地显示已完成的进度和剩余的时间或步骤
- 使用其他详细信息上下文化成功对话框消息
- 在系统内启用用户生成的注释和评论
- 提供对历史内容的访问
- 允许长进程在后台运行
我们全天的课程都会讨论这些指导原则和更多内容,为专门领域设计复杂的应用程序.
分享这篇文章: