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

无论如何,遵守以下5个指南,可以减轻复杂应用程序在长期等待或中断的复杂应用程序的挫折:

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

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

1.清楚地表明进度完成,时间或步骤剩余

复杂的应用程序的用户经常分析大量的数据集,运行复杂模型,或查询强大的信息来源 - 即充分利用系统处理大量时间的所有进程。在这些相对长时间的等待,系统状态的可见性尤为重要,这意味着用户应该提供关于在合理的时间内发生的事情的反馈。

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

例如,下面的地理信息系统(GIS)应用程序提供有关已完成工作百分比和当前步骤的详细信息(光栅化多边形功能......)期间系统处理的长时间此信息可帮助用户了解该过程是否正在预期的过程中进行,过程需要多久,以及它们是否应该在此期间等待进程完成或开始另一个任务。

进度指示器包括一个明确的百分比,做过动画和通信的当前步骤(“栅格化多边形功能...”)。

如果不提供这些细节,甚至频繁,长期的用户感到困惑和沮丧。例如,最近的一个情境探究会议期间,一名城市规划师试图分析人口统计数据显示,缺乏进展的细节可以创造的不确定性。当他等待要处理的数据时,他所描述的“进度指示器”提供的系统:

让我们看看会发生什么......我知道它正在做一些事情,只要它在这里有这件事就是这样做的事情。如果这个小地球正在旋转,它仍在做某事。如果我看到全球停止旋转,或者它没有出现,那么我知道我的软件可能崩溃了。

在本申请中,系统正在处理的唯一指示是请求的是窗户底部的微小旋转地球(红色盒子)。这种方法并没有帮助用户了解系统正在做什么或过程需要多久(更不用说该指示符的低可发现性)。

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

为了清楚地表明复杂应用程序的用户的进度:

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

2.包含其他详细信息的Contextualize成功对话框消息

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

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

为了减轻返回用户的工作内存负载并帮助他们在完成过程后恢复上下文,提供汇总在用户离开时发生的事情的详细信息。

成功对话框(system messages that alert the user that a process has been successfully completed) can supply useful contextual information such as time elapsed, a timestamp of when the processes was completed, and links to any relevant information related to the completed process (e.g., new records created, related documentation for errors, logs). Using this information, users can learn typical processing times, make better informed decisions about whether they should invest in other tasks during similar processes in the future, and increase confidence that the process executed as expected.

此成功对话框包括有关该过程的有用细节:开始和结束时间以及总持续时间。

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

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

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

为了成功情境消息的复杂应用程序的用户:

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

利用情态动词对于长期等待后发生的成功对话框(即,如果没有明确的用户交互,则不允许将它们消失)。

3.在系统中启用用户生成的注释和注释

中断后返回到一个特定的工作流程,用户可能不记得到底是什么信息,他们正在寻找,这步他们完成了,为什么他们采取了动作的具体顺序。一个经常被忽略的策略帮助复杂的应用程序的用户记住他们以前的目标和行动与一些源补充工作记忆外部内存,用户可以保存在系统中的工作流过程中所需的访问信息。

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

例如,下面的决策建模软件允许用户,因为他们与他们的数据运行的各种分析实验创建和附加意见不同的分配方案。这些评论然后可以在工作流程的情况下分析模型时,可查看,帮助用户回顾一下他们在寻找为什么他们采取了这些行动。

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

当用户没有留下开放式的评论在他们的工作流程的能力,他们面临不必要的负担理解和记忆复杂的模型或项目中的对象的目的。例如,在最近的一项研究会话中的一个工程师抱怨缺乏把注释添加到自己的工作能力:

没有评论或任何东西......所以你必须打开每一个项目要知道,这个是为了检索数据,这个是[做别的] ......你总是不断这样做......我应该能够添加a note…to say this is here because the VP of sales needs it, or because this means ‘x.’

没有添加开放式备注的能力,用户通常会诉诸创建和维护各种外部文档 - 例如一系列电子表格 - 以记录其操作和思考过程。这些外部文件成为在复杂工作流期间管理和引用的负担。

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

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

4.提供访问历史内容

效率对复杂应用的用户来说至关重要。甚至看似小的互动,例如要求用户点击几个额外的屏幕,以便在选择和加载项目之前访问列表或表格,编译成浪费时间和精力,频繁使用在项目或文件之间切换的频繁用户天甚至甚至小时。

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

Azure DevOps:用户可以立即使用标题下的列表跳转到最近访问的内容继续您离开的位置。

当提供近期,收藏,或共同项目的列表,标注内容正确,使用户明白它是什么,如上面的例子来完成。与此相反,许多应用程序销项目主页或总览画面没有明确标注他们为最近的内容或者继续你离开的地方,不清楚是否是他们频繁地或者最近登记的内容。此外,目前还不清楚用户是否可以定制这些项目(例如,销或取消固定物品从该区域)。

特别是对于具有高信息的复杂工作流程 - 比如与需要很长的时间来加载或可能有模糊的文件,很难记住,系统生成的名称 - 它可以是有用的,也为历史内容的预览。例如,应用程序下提供了新的文件旁边的近期文件名的缩略图。由于使用该程序的机械工程师描述,“文件预览是很好的在这里,因为它需要很长的时间,这些文件加载​​。[有]许多失落的时候,如果你打开了错误的文件“。

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

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

  • 提供最近访问的页面或项目的列表。
  • 使用户明白,这是最新的内容明确标注项目名单。
  • 使得此列表尽快可访问。不需要用户转到单独的页面,项目或项目屏幕屏幕,以便查看列表。
  • 当相关时,增强具有预览的历史内容(例如,当文件模糊地命名或花费很长时间时,加载时)。

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

通常,用户更愿意执行另一项任务,查看其他信息,或在进程运行时参考应用程序中的其他内容。在这些过程中,不要将用户陷入这些过程中,通过迫使它们在系统工作时闲置。允许用户在后台运行冗长进程的选项,以便在进程运行时可以继续在应用程序中继续工作。

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

这是一文不值,因为在后台运行的进程对用户不引人注目,成功对话框的显示在这些过程的完成应该是高度显着的和发现。模态对话框成功,必须明确地被用户所抛弃,因为用户很可能没有注意或考虑这些进程,因为他们继续他们的工作是合适的。

结论

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

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

这些指导方针和更多在我们的全天课程中讨论过,为专门域设计复杂应用