为我们的新课程做准备为专业领域设计复杂的应用程序,我们进行了一系列研究,以了解和定义复杂应用程序的性质,包括:

  • eyetracking.用于监视用户注视和注视复杂应用程序中组件的模式的会话
  • Interviews with UX designers and researchers working on complex applications to understand the challenges and coping strategies of complex-app practitioners
  • 远程观察会话与复杂应用程序的用户观察交互行为和工作流程

在这些研究中,我们观察到各种因素——应用程序本身固有的因素,或者与用户的目标和环境有关的因素——导致应用程序被归类为复杂应用程序。

什么是复杂应用程序?

我们定义一个complex application作为支持广泛、非结构化目标或非线性工作流的任何应用程序。

此外,复杂的应用程序经常:

  • 支持具有专业知识的高度培训的用户
  • 帮助用户导航和管理大型基础数据集,并启用高级感知或数据分析
  • 用未知或可变的基本任务支持问题解决或最终目标
  • 需要在多个角色、工具或平台之间进行切换或协作
  • 降低执行高影响(或高价值)任务的风险,因为高损失(例如,收入或甚至生命)处于危险之中

复杂的应用程序通常特定于特定的领域。A专业领域是一个需要专门的知识或培训的工作领域(即,专业知识)。通常,在专业领域的工作需要先进,递归决策和信息分析。

相比之下,日常领域的通才应用enable nonspecialized users to complete largely discrete, linear tasks organized around well-structured goals.

例如,要创建杂货店购物列表的列表制作应用程序是日常域的一般应用程序的示例。科学家使用的地理信息系统(GIS)来分析和预测海平面的上升是专业领域的复杂应用。

复杂的应用程序vs通用APS
复杂的应用程序支持在非线性工作流中进行广泛,非结构化的目标进行专业用户。通用应用程序使广泛的用户组能够完成与结构良好的目标相关的离散任务。

框架:5层复杂性

Complexity in and of itself is difficult to define. There are many sources of complexity that contribute to the complicated nature of both designing and using complex applications.

Here we present a framework composed of 5 layers of complexity, beginning with complexity related to the core of an application itself (e.g., technology platforms and data), moving to complexity concerning the variable goals and environments of the people using the applications, and ending with the more nebulous complexity of institutionalized ways of working within organizational or domain-specific cultures.

我们分别标记这些区域,作为复杂性:

  • 一体化
  • 信息
  • 意图
  • 环境
  • 机构
设计复杂应用程序的5层复杂性
使用和设计复杂应用程序的人导航多层复杂性,包括集成,信息,意图,环境和机构的复杂性。

1综合复杂性

综合复杂性是指的the complexity of underlying technology, such as the interconnection of multiple and variable (often legacy) back-end systems or databases that support an application.

作为云计算行业的一个UX设计经理描述:

The complexity…comes from what I'll delicately put as "legacy IT requirements." There's a lot of technical debt…We have a lot of data that is in disparate resources, and at some point, you can't make 10 calls to 10 separate data sources. You need to collate that data, clean it up, and put it in a better place. The cleanliness and the consolidation of the data is probably the most challenging thing…because you can imagine if a record set began being captured 15 or 20 years ago, it's in a very different place than a record set that we capture today, right? It's in an old legacy system, old legacy database. It's not structured; it's not containerized.

除了从业者在尝试清理和整合非结构化数据时感到的痛苦之外,整合的复杂性通常表现为最终用户的用户体验不佳,即速度慢,手动过程,如繁琐的数据传输和数据输入,用户必须参考不同的系统或平台,以便进行比较或查询。

保险业的设计领先地位描述了在与试图使用申请向客户提供报价和公司整体客户体验的蠕动效果的剥夺员期间观察到这一特殊挫败感:

So, we were asking them [underwriters running inquiries on the application for clients] during the shadowing, "Do you know why the client is waiting three minutes? Sometimes they were saying, "Oh. Yeah, it's because we have a batch we need to run every time the client is asking this, this, or that." Or, "Oh, we need to go in another system to look for the info”…So there was plenty of manual manipulation happening. Sometimes [the] client will really kind of [say], "Okay I'm waiting on the line. What are you doing?"

集成复杂性通常源于几个不同的遗留体系结构和平台的集成和分层,以便将几个以前不同的产品或功能组合到一个产品中,或将一个接口拼凑在一起,以表示对各个子系统的单一访问点。

工业自动化行业的领先UX设计师描述了这种情况:

我正在开发的这个应用程序是由四到五个软件组成的……我们有所有这些小软件可以做很多事情。我们想创造一个软件,我们的客户可以购买它做的一切。

此类尝试可以快速压倒从业者和最终用户,并导致复杂的架构,在那里感觉不可能改变系统以改善用户工作流程。

2. Information Complexity

信息复杂性是指许多复杂应用程序中固有的数据卷以及导航和分析此类数据集所需的交互行为(例如,探索,过滤,缩放和建模)。(该层与综合复杂性有些有关,因为巨大的数据集可以分散在未链接的子系统之间。)

在复杂的应用程序中,对于如何允许输入来呼叫数据集中的某一项目并显示和启用与浮出度数据的用户交互,必须允许输入允许输入的接口决策。当呈现的数据未组织或排序,以支持域专家的工作流程,杂乱和混淆随之而来。

例如,医疗信息中的服务设计人员描述了在临床知识交付工具中的经验,以便通过高量信息筛选出来的医疗从业者:

那么,他们[医学从业者]需要知道你的上一剂抗凝血剂可以做手术后多久,或者你应该做手术吗?所以,他们来到这里,然后看看......手术的血栓栓塞风险,然后......具体过程的出血风险......所以这些信息有助于他们做出决定......但是,这是一个呕吐的大型机。这是一个类似呼吁的页面。我的意思是,它有很多信息......而且就像,“谁应该在这里找到任何东西?”

除了大量数据导航,the workflows of expert or specialized users often involve building and analyzing complex data models and what-if scenarios. Ingesting, aggregating, analyzing, and exporting data from many different sources for these types of scenarios is a tedious process that creates periods of sustained waiting and interruption in user workflows.

一位海岸工程师描述了为某些海岸地区的海平面上升建立模拟计算机模型的过程,证明了这种情况:

See, unfortunately, when you have gigabytes and gigabytes of data, they can take hours [to run]. Like this…it might take half a day to just do the zonal statistics on that. Yeah, just click the zonal statistics and then you'll walk away for half a day. That's how it is. So…that's why I have…70 computers and you just start processes in different ones and let them run for a while.

在分析如此大的数据集时,很明显,正如前面所描述的那样,在用户时间投入方面存在很大的风险。此外,数据不准确或分析错误的可能性很高。当分析结果出乎意料时,即使是专家用户也常常发现自己无法迅速查明数据中错误的来源。

一位医疗分析师对临床试验治疗进行成本效益分析,当她被分析中的一个错误难倒时,她证明了这一挑战。她描述了她开始发现模型中错误来源的过程:

我首先要查看所有变量都有正确的输入,然后如果[它]仍然奇怪,他们[应用程序的支持团队]提供24小时支持,因此您基本上只需向他们发送电子邮件或打电话……他们将与您一起查看,因为……很难知道这是否是某种错误,是否与模型有关。

信息复杂性的影响,如持续的等待时间和意外分析结果的倾向,可以为复杂应用使用产生不确定性和缺乏信心。

三。意图复杂性

意图复杂性是指的the complexity associated with supporting the unstructured goals and broad tasks that characterize the usage of complex apps.

复杂问题解决的工作流程通常是非线性和变量;所有用户遵循的所有用户都不总是有一个已知的,理想的子任务(或“快乐道路”),以实现目标,并且UX从业者可以轻松地设计并衡量成功。进一步复杂化的事项,许多企业应用程序都被设计为“开放式”软件,可用于许多行业和许多类型的域专家。由于这两个事实,研究支持复杂工作的应用程序的设计者和研究人员可能甚至无法完全理解其应用程序需要支持的使用情况或工作流程。

在采访中占据了分析和数据监控平台的一个UX设计师在面试中捕获了这一挑战,描述了产品:

我仍然不知道它是如何工作的…它可以在多少上下文中运行…我们甚至不知道它是如何使用的,因为它是一个开源的解决方案。所以,这意味着…你可以用它做任何事。

这种歧义和方差使得难以理解和设计实现现实用法。在设计沉重规定沉浸的安全关键域的应用时,难度进一步增加。

航空航天/国防工业中的人为因素领先者描述了为广泛的目标和环境提供灵活性的斗争,同时仍在为应用程序内检查表等要素设计标准化协议:

有一种方法,[飞行员]遵循核对清单。一切都是如此长的纸......如果你制作它的电子......你如何[设计]如何确保它[使能用户]跳过[项目],因为它不适用于您正在做的事情?

为这种类型的灵活性而设计对于用户的成功是至关重要的,这些用户可能需要根据手头的情况在工作流程中改变其流程、跳过或更改方法。

4.环境复杂性

环境复杂性指复杂应用程序用户的物理环境。如果没有第一手的实时实地工作,这些环境通常很难理解和设计。

例如,一位从事床边医疗保健应用程序的用户体验设计师描述了使用该应用程序的医生所面临的环境复杂性,以及设计该应用程序的医生所面临的挑战:

They[医生]有那么多东西随时在他们面前闪现…除了必须照顾电脑旁边的人…确保它[应用程序上的信息]精确地被提炼到某人需要的东西,精确地在他们需要的地方,是非常重要的。

Another practitioner in the aerospace/defense industry working on an interface for aerial vehicles described a different yet equally complex environment for pilots:

它的复杂性在于它有很多方面…如果你驾驶一架飞机,有实际的飞机本身,内部环境,外部环境,然后是态势感知,然后是飞机的健康和状态,或者你控制的任何东西。

The competing environmental elements, interruptions, and distractions for complex-app users are almost impossible for UX practitioners or other domain outsiders to comprehend without onsite observation. Especially for practitioners with little domain experience,实地研究,例如实境调查,are critical early in the complex-app design process.

In addition to early field studies, in-situ user testing and evaluation are equally critical. The same usability-engineering lead designing military applications went on to describe the critical findings that testing with complex-app users outside of the lab can reveal:

我们做了很多性能测量。例如,按钮的MultiTouch,例如在触摸屏上。当他们的[士兵]必须穿上保护齿轮时存在问题。响应或导电触摸屏不起作用,因为它没有在其中的手写笔......软件可以在理想情况下正确执行,但是当我们进行用户学习时,我们将在[实验室]之外进行。“

Simply put, practitioners must spend time in the work domain in order to understand the environmental factors bombarding complex-app users.

5. Institutional Complexity

最后,institutional complexity是指组织内存在的文化或微外形结构,包括规范,态度,角色,政治紧张局势,权力来源和制度化的做法方式。

复杂应用程序的从业者经常推迟遗留方法或制度化的权力来源,因为他们觉得他们不能打击它们,即使它们是次优。

One lead user-experience researcher in the industrial-automation industry expressed frustration with working in such a “legacy” environment, where innovation was limited:

但在大多数情况下,他们[公司]是一家企业,因为他们已经永远遍布了,然后他们已经制作了一百万个产品。然后他们转变为这些旧的遗留产品,他们必须继续工作,因为人们依赖于他们,然后他们是旧的,代码不好。然后你有一群整个在这里工作的人,因为它在过去做了这种方式,它是成功的。所以,没有做新事物。

对不断发展的遗产设计方法的抵抗只是一种方式,即机构复杂性为从业者创造障碍。同样,我们看到制度文化的影响和内部政治结构对设计者和研究人员被其他角色感知和重视的影响。特别是在具有高域名专用性的工作区域(意味着对外人无法使用的专业领域知识),从业者经常发现自己在包括工作领域专家的团队中争取信誉。

A senior UX interaction designer in the energy industry described her experience working with work-domain experts who have little empathy for practitioners with limited domain knowledge:

团队里有很多主题专家。他们已经在这个领域工作了10多年了……他们有时会忘记(他们在这里呆了多久)——比如,“嘿,你不是来这里什么都知道。”你必须努力工作好几年……任何类型的用户体验人员进来……,只是需要很长时间才能让他们1)了解业务,2)[了解]……这些用户目标和动机,以及我们如何增强体验?

另一位医疗电子制造业的高级用户体验设计师也认同这一点,并建议利用基层员工的努力,与已经受人尊敬的员工建立伙伴关系,以缓解这一挑战:

我所做的是我的所作所是,我发现有人可以......帮助我......也许他们在那个领域有更多的话说[专业知识]然后我只是与他们合作,他们帮助我......让我的想法向前携带。因为我是新的。看起来[公司名称redacted]有一个文化的“如果......你没有在这里[长时间],你不知道你在说什么。”

制度复杂性很难改变;然而,用户体验从业者应该观察这些因素对复杂应用程序设计过程中采用的方法和假设以及最终用户与应用程序的交互的影响,以建立对他们可能遇到的设计障碍的全面认识。

本框架在UX设计师和研究人员中的应用

用户体验从业者经常吹嘘用户上下文的重要性(他们应该这样做)。然而,当涉及到为专门领域设计复杂的应用程序时,定义和使用“上下文”作为一个包罗万象的、通用的、伞状的概念是不够的。(芭芭拉·米雷尔在2004年的书中首次提到了这种方法的不足,复杂问题解决的交互设计:开发有用和可用的软件。)

而不是通过复杂性或简化上下文镜头来淹没,而是在复杂的应用程序设计和用法中,使用本文中提出的复杂性层作为分解与您的工作相关的复杂来源的框架和“看到”树木的森林。“

事实上,在我们最近的虚拟用户体验会议上,我们的复杂应用课程的参加者使用了这个框架作为一个工具,通过使用一个共享的词汇表和模型来记录和讨论他们产品周围的复杂性,使其更易管理,如下所示。

与会者讨论应用程序设计过程中存在的复杂性类型的小组活动的屏幕截图
来自最近的虚拟研讨会的共享Google纸张文档的屏幕截图,其中与会者使用了复杂性框架的图层来注意,并讨论其应用程序周围的复杂性源。

我们建议您使用此框架,作为域建模的锻炼的一部分,作为现场研究观察工具,或者只是作为与同事讨论您工作的复杂性质的方法。

要了解有关为专门域设计复杂应用程序的过程和方法,请访问我们全天的研讨会,为专业领域设计复杂的应用程序.

参考

Mirel,B.(2004年)。复杂问题解决的交互设计:开发有用和可用的软件.San Francisco, CA: Morgan Kaufmann.