用户复杂应用在他们的工作流程中经常被打断,开始一项任务只需要等待很长一段时间才能完成它。这些长时间的等待发生因为各种各样的原因,例如,系统可能需要大量的时间来处理一个请求(例如,运行模型,查询数据库)或从外部来源的用户可能需要额外的信息在继续之前,被迫等待前的信息收集和任务都可以恢复。

无论在何种情况下,遵守以下5条准则都可以减轻complex-app用户工作流程中长时间等待或中断的经验:

  1. 清楚地显示已完成的进度和剩余的时间或步骤
  2. 将成功对话框消息上下文化,并添加更多细节
  3. 在系统内启用用户生成的注释和评论
  4. 提供对历史内容的访问
  5. 允许长进程在后台运行

本文的其余部分将提供这些指导原则的额外细节和示例。

1.清楚显示已完成的进度和剩余的时间或步骤

复杂应用程序的用户经常分析大型数据集、运行复杂模型或查询健壮的信息源——所有这些过程都需要大量的系统处理时间。在这些相对漫长的等待中,系统状态可见度这一点尤其重要,这意味着应该向用户提供有关在合理时间内发生的事情的反馈。

因为它是常见的在复杂的应用程序处理时间相对较长(至少比天天在线活动,如将一个条目添加到购物车),complex-app用户受益的详细信息在系统处理过程中发生了什么,他们相对于结束的过程。进度指标这提供了时间流逝(或完成的步骤)和剩余时间或步骤等细节,使长时间等待更容易容忍,并增加了用户的信心。

例如,下面的地理信息系统(GIS)应用程序提供了关于已完成工作百分比和当前步骤的详细信息(软渲染多边形特征……)在长时间的系统处理期间这些信息可以帮助用户了解流程是否按照预期进行,流程将需要多长时间,以及在此期间是否应该等待流程完成或开始另一个任务。

进度指示器包括一个明确的完成百分比动画,并传达当前步骤(“光栅化多边形功能……”)。

如果不提供这些细节,即使是频繁的长期用户也会感到困惑和沮丧。例如,在最近的一次情境调查会议上,一位城市规划师试图分析人口数据,揭示了缺乏进展细节可能造成的不确定性。在等待数据处理时,他描述了该系统提供的“进度指标”:

让我们看看会发生什么…我知道它在做什么,只要它有这个东西在下面。如果这个小地球在旋转,它仍然在做一些事情。如果我看到地球停止旋转,或者它没有出现,那么我知道我的软件可能崩溃了。

在此应用程序中,系统正在处理请求的唯一指示是窗口底部的微小旋转地球仪(红框)。这种方法不能帮助用户了解系统正在做什么,或者这个过程需要多长时间(更不用说这个指示器的低发现性)。

而像这样的循环动画可以帮助用户理解系统正在做什么某物,人们早就知道它们不适用于超过10秒的等待,这是复杂应用程序中的一个常见场景。这是因为忙碌状态循环动画并没有告诉用户是否值得等待进程结束,或者他们应该在等待期间投入另一个任务或动作。

要向复杂应用程序的用户清楚地显示进度,请执行以下操作:

  • 传达任何超过10秒的等待所完成的工作百分比或剩余时间。
  • 当无法提供合理准确的完成百分比或剩余时间估计时,通过提供已完成和剩余步骤的列表来指示相对的进展。
  • 适当时,指示当前步骤。(但不要用过于详细的系统操作信息让用户负担过重。)
  • 确保进度指标高度突出且易于发现。

2.使用其他详细信息上下文化成功对话框消息

在漫长的等待过程中,复杂的应用程序用户可能会离开工作,完成不同的活动或启动系统内的其他任务;这些活动将提高它们的总体效率认知负荷.例如,在最近的一项研究中,一位沿海工程师描述了在一个典型的日子里,在70台计算机上启动数十项分析:

不幸的是,当你有千兆字节和千兆字节的数据时,它们可能需要数小时[运行]…可能需要半天的时间来完成[这个项目]的分区统计。[我会]点击一下区域统计这就是为什么我有70台电脑,我只是在不同的电脑上启动进程,让它们运行一段时间。

为了减轻返回用户的工作记忆负荷,并帮助他们恢复上下文,在流程完成后,提供总结用户离开时发生的事情的细节。

成功对话框(提醒用户流程已成功完成的系统消息)可以提供有用的上下文信息,例如经过的时间、流程何时完成的时间戳,以及与已完成流程相关的任何相关信息(例如,创建的新记录、错误相关文档、日志)的链接。使用这些信息,用户可以了解典型的处理时间,更好地做出明智的决定,决定是否在将来的类似过程中投资于其他任务,并增强过程按预期执行的信心。

此成功对话框包含有关流程的有用详细信息:开始和结束时间以及总持续时间。

成功对话框也是提供有关执行过程结果的详细信息的合适位置——创建的新记录、数据匹配或发生的验证、发生的错误或跳过的步骤。

除了提醒用户流程已经完成之外,这个成功对话框还以匹配记录数量的形式提供有用的详细信息。

更好的是,成功对话框可以在适当的时候提供与细节相关的任何相关内容的直接链接。

为复杂应用程序的用户介绍成功信息:

  • 提供长进程的启动时间、停止时间和总运行时间。
  • 提供关于过程中发生的信息(例如,创建的新记录或跳过的步骤)。
  • 在适当的时候,链接到成功对话框中提到的相关文档或其他内容。

利用情态动词对于长时间等待后出现的成功对话框(即,不允许它们在没有显式用户交互的情况下消失)。

3.在系统内启用用户生成的注释和评论

中断后返回到特定工作流的用户可能不记得他们在寻找什么信息,他们完成了哪些步骤,或者为什么他们采取了特定的操作序列。帮助复杂应用用户记住他们之前的目标和行动的一个经常被忽视的策略是用一些来源来补充工作记忆外部存储器,用户可以在系统中保存和访问工作流程中所需的信息。

支持创建外部内存源的一种相对简单的方法是允许用户在应用程序中生成注释或注释。使用这个功能,用户可以在复杂的工作中跟踪他们的思维过程。

例如,下面的决策建模软件允许用户在试验对数据进行各种分析时,为不同的分发选项创建和附加评论。当分析模型时,可以在工作流的上下文中查看这些注释,帮助用户回忆他们在寻找什么或者他们为什么采取这些行动。

在这个决策建模软件中,用户可以创建和附加注释到各种分布选项,从而创建外部内存的来源。

当用户没有能力在他们的工作流程中留下开放式的注释时,他们面临着理解和记住复杂模型或项目中对象的目的的过度负担。例如,在最近的一次研究中,一位工程师抱怨说,他没有能力在自己的工作中添加注释:

没有评论或任何…所以你必须打开每一个条目,这是检索数据,这个是做别的…和你总是不断地这么做……我应该能够添加一个注意……在这里说这是由于销售的副总裁需要它,或者因为这意味着“x”。

没有添加开放式笔记的能力,用户通常求助于创建和维护各种外部文档——比如一系列电子表格——来记录他们的行动和思维过程。在复杂的工作流程中,这些外部文档成为管理和引用的负担。

为了帮助复杂应用程序的用户跟踪他们的思维过程:

  • 允许用户在系统内留下注释和评论,以解释他们的操作、添加或查询。
  • 允许注释是开放式的。
  • 在工作流的上下文中显示先前创建的注释。
  • 不要强迫用户走出应用程序来跟踪他们的思维过程并创建外部内存源。

4.提供对历史内容的访问

对于复杂应用程序的用户来说,效率至关重要。即使看似很小的交互,比如要求用户点击几个额外的屏幕为了访问列表或表选择和加载一个项目之前,编译为浪费时间和精力经常项目或文件之间切换的用户一天几次,甚至小时。

为了支持工作流中断后的快速任务重入,请在用户登录到应用程序后尽快提供历史内容,例如最近查看的文件或页面的列表。这些列表提醒用户他们离开的地方,并提供一些快速进入他们工作流程的入口点。例如,Azure DevOps在标题下提供了最近访问的内容列表继续你停止的地方当用户登录到程序时。

Azure Devops:用户可以使用标题Continue where you left下的列表,立即跳转到最近访问的内容。

在提供最近的、喜欢的或常用的项目列表时,请正确地标记内容,以便用户理解它是什么,如上例所示。相比之下,许多应用程序将项目钉在主页或概述屏幕上,而没有明确地将它们标记为近期内容继续你停止的地方,不清楚他们是否经常不久前访问内容。此外,还不清楚用户是否可以自定义这些项目(例如,从该区域pin或unpin项目)。

特别是对于具有高度信息复杂性的工作流——例如需要很长时间加载的文件,或者可能具有模糊的、难以记住的、系统生成的名称——提供历史内容的预览也是有用的。例如,下面的应用程序提供了最近文件的缩略图和最近文件名。正如使用该程序的机械工程师所描述的,“这里的文件预览很好,因为加载这些文件需要很长时间。如果你打开了错误的文件,就会浪费很多时间。”

在这个应用程序中,缩略图预览图像伴随着最近文档对话框中的文件名,帮助用户快速找到并访问预期的文件。

帮助用户快速重新输入之前启动的任务:

  • 提供最近访问的页面或项目的列表。
  • 明确地标记这个项目列表,以便用户理解它是最近的内容。
  • 尽快访问此列表。不要要求用户转到单独的页面、项目或项目概览屏幕以查看列表。
  • 在相关的情况下,用预览增强历史内容(例如,当文件的名称不明确或加载时间较长时)。

5.允许在后台运行冗长的进程

通常,当进程运行时,用户更愿意执行另一个任务、查看附加信息或引用应用程序中的其他内容。不要强迫用户在系统工作时处于空闲状态,从而使他们在这些进程中陷入长时间等待。允许用户选择在后台运行长时间的进程,这样他们就可以在进程运行期间继续在应用程序中工作。

这个进度指示器包括一个在后台运行进程的选项,允许用户在等待期间自由地启动或恢复应用程序中的其他任务。

因为在后台运行的进程对用户不是高度可见的,所以在这些进程完成时显示的成功对话框应该是非常显著和可发现的。模式成功对话框(必须被用户明确地忽略)是合适的,因为用户在继续他们的工作时可能不会注意或思考这些过程。

结论

在复杂的工作流中,长时间等待通常是不可避免的,但有几种策略可帮助用户应对这些等待的持续时间,并在等待结束时支持任务重新进入:

  1. 清楚地显示已完成的进度和剩余的时间或步骤
  2. 将成功对话框消息上下文化,并添加更多细节
  3. 在系统内启用用户生成的注释和评论
  4. 提供对历史内容的访问
  5. 允许长进程在后台运行

我们全天的课程都会讨论这些指导原则和更多内容,为专门领域设计复杂的应用程序