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

  • 眼动在复杂应用程序中监视用户的凝视和固定模式的会话
  • 采访UX设计师和研究人员,致力于了解复杂应用程序从业者的挑战和应对策略
  • 与复杂应用程序的用户进行远程观察会话,观察交互行为和工作流

在这些研究期间,我们观察了各种因素 - 无论是应用程序本身还是有关用户的目标和环境所固有的因素 - 这有助于应用程序分类为复杂。

什么是复杂的应用程序?

我们定义A.复杂应用程序作为支持广泛,非结构化的目标或非线性工作流程的任何应用程序。

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

  • 用专业知识支持训练有素的用户
  • 帮助用户导航和管理大型底层数据集并启用高级兴趣制作或数据分析
  • 支持解决问题或结束目标,具有未知或可变的底层任务
  • 需要在多个角色,工具或平台之间切换或协作
  • 减轻执行高影响(或高价值)任务的风险,其中高损失(例如,收入甚至生命)是股权

复杂的应用程序通常特定于专门域名。一种专业领域是需要专业知识或训练(即专业技能)的工作领域。通常,专业领域的工作需要高级的递归决策和信息分析。

通过对比,日常域的一般应用程序使非专业用户能够完成围绕结构良好的目标进行的基本离散的线性任务。

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

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

框架:5层复杂性

本身的复杂性难以定义。有许多复杂性源是有助于设计和使用复杂应用程序的复杂性。

这里我们提出一个框架组成的5层的复杂性,从复杂性相关的核心应用程序本身(例如,技术平台和数据),搬到复杂性有关变量的目标和环境的人使用的应用程序,和结束的更模糊的复杂性制度化的组织内的工作方式或特定领域的文化。

我们将这些区域分别标记为:

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

1.综合复杂性

综合复杂性是指基础技术的复杂性,例如支持应用程序的多个和可变(通常遗留)后端系统或数据库的互连。

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

复杂性......来自我将精致地放在“遗产的IT要求”中。有很多技术债务......我们有很多数据在不同的资源中,在某些时候,您无法将10个单独的数据源调用。您需要整理该数据,清理它,并将其放在更好的地方。清洁和数据的整合可能是最具挑战性的事情它位于旧遗留系统,旧传统数据库。它没有结构;它没有集装箱。

In addition to the pain felt on the practitioner’s end in attempting to clean and consolidate unstructured data, integrative complexity often manifests in poor UX for end users — namely, slow, manual processes such as tedious data transfer and data entry for users who must reference different systems or platforms in order to make comparisons or inquiries.

一位保险行业的设计主管描述了在对试图使用应用程序为客户提供报价的保险商进行实地研究时,观察到这种特殊的挫折,以及它对公司整体客户体验的连锁反应:

所以,我们问他们[承销商在阴影期间向客户申请查询],“你知道为什么客户在等三分钟?有时他们说,”哦。是的,因为我们有一批我们每次都在询问这一点时需要运行这一点,这就是“哦,”哦,我们需要进入另一个系统来寻找信息“......所以有很多手动操作发生。有时候[]客户真的会讨论[说],“好的,我在路上等着。你在做什么?”

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

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

我正在努力的这个应用程序是四种或五个软件的组合......我们拥有所有这些小件,那就做了很多事情。我们希望创建一款我们的客户可以购买的软件。

这样的尝试会很快让从业者和最终用户不堪重负,并导致复杂的体系结构,让人感觉不可能为了改进用户工作流而改变系统。

2.信息复杂性

信息复杂性指许多复杂应用程序中固有的数据量,以及导航和分析这些数据集所需的交互行为(如探索、过滤、缩放和建模)。(这一层在某种程度上与综合复杂性有关,因为巨大的数据集可能分散在未连接的子系统之间。)

在复杂的应用程序中,必须就如何允许输入调用数据集中的某一组项以及如何显示和支持用户与显示的数据交互做出接口决策。当呈现的数据没有以支持领域专家工作流程的方式进行组织或排序时,混乱和混乱就会随之而来。

例如,医疗保健信息学的服务设计人员描述了临床知识交付工具中的经验,该工具要求医疗从业者筛选大量信息:

所以,他们(医生)需要知道在你服用最后一剂抗凝剂后多久你可以做手术,或者你应该做手术?所以,他们来到这里,然后看看这个程序的血栓栓塞风险,然后。程序特定的出血风险…所以这些信息帮助他们做出决定…但是,这是主机的呕吐物。这是一个像北部的页面。我的意思是,上面有那么多的信息,就像,“人们怎么能在这里找到任何东西?”

除了导航高卷数据外,专家或专业用户的工作流程通常涉及构建和分析复杂的数据模型以及IF-IF情况。从许多不同来源的摄取,聚合,分析和导出数据的数据是一种繁琐的过程,可以在用户工作流程中创造持续的等待和中断的时期。

沿海工程师描述了一种这样的发生,描述了在某些沿海地区的海平面上升升高的模拟计算机模型的过程:

不幸的是,当你有千兆字节和千兆字节的数据时,他们可能需要数小时[才能运行]。像这样......可能需要半天才能做到这一点。是的,只需点击区间统计信息,然后你将走了半天。这就是来龙去脉。所以......这就是为什么我有...... 70台计算机,你只是在不同的那些中开始进程,让他们运行一段时间。

在分析如此大的数据集时,就刚刚描述的,在投资的用户时间量方面显然存在很多股份。此外,存在高度的数据不准确或分析误差倾向。当分析结果出乎意料时,甚至专家用户甚至常常发现自己无法快速查明数据中的错误源。

在临床 - 试验处理上进行成本效益分析的医疗保健分析师在她分析中突破错误时表现出这一挑战。她描述了她在她的型号中开始揭开的过程中所需的过程:

我首先要确保所有的变量都有正确的输入,然后如果(它)看起来仍然奇怪,他们[the application’s support team] offer 24-hour support, so you can basically just send them an email or call them and…they will look through it with you, because…it would be really hard to know if it was some sort of error, if it was something with the model.

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

3.意图复杂性

意图的复杂性是指与支持非结构化目标的复杂性和表征复杂应用程序的使用的广泛任务。

解决复杂问题的工作流程往往是非线性和可变的;所有用户为了实现目标而遵循的一组已知的、理想的子任务(或“快乐路径”)并不总是存在的,用户体验从业者可以轻松地为其设计并衡量其成功与否。更复杂的是,许多企业应用程序被设计成“开箱”软件,可以销售给许多行业和许多类型的领域专家。由于这两个事实,从事支持复杂工作的应用程序的设计人员和研究人员可能甚至不能完全理解他们的应用程序需要支持的用例或工作流的范围。

一位在分析和数据监控平台工作的用户体验设计师在一次采访中抓住了这个挑战,他描述了这个产品:

我仍然不知道它是如何工作的...它可以在内心运行的语境数量......我们甚至都不知道它是如何使用的,因为它是一个开源解决方案。所以,这意味着......你可以用它做一切。

这种模糊性和差异性使理解和设计实际使用变得困难。当设计涉及大量法规的安全关键领域的应用程序时,难度进一步增加。

航空航天/国防工业中的人类因素介绍了在广泛的目标和环境中提供灵活性的斗争,同时仍在为应用程序中的元素(如应用程序检查表)的标准化协议中设计:

有一种方法是[飞行员]按照清单执行。这么长时间以来,所有的东西都是纸质的……如果你让它电子化……你如何(设计)灵活性,以确保它(使用户)能够跳过(某项),因为它不适用于你正在做的事情?

根据手头的情况,设计适于这种类型的灵活性对于可能需要改变流程,跳过或改变的用户的成功至关重要。

4.环境的复杂性

环境复杂性是指复杂应用程序用户的身体环境。这些环境往往很难理解和设计,没有一手实时的现场工作。

作为一个例子,一个UX设计师在床头馆医疗申请中使用应用程序描述了医学员面临的环境复杂性,并为设计应用程序的从业者的挑战:

他们[医学从业者]有这么多的事情在脸上的脸部面前闪烁......除了不得不关心那个电脑旁边的人......确保它[应用程序]的信息蒸馏究竟以来,究竟需要什么,完全是他们需要的地方,这是非常重要的。

在航空航天/国防工业的另一位从业者在用于空中车辆的界面上描述了用于飞行员的不同又同样复杂的环境:

它的复杂性是有很多方面的......如果你飞过飞机,那么实际的飞机本身,室内环境,外部环境,那么情境意识,那么飞机的健康和地位或任何你的身份'重新控制。

复杂应用程序用户的竞争环境要素,中断和分心几乎是不可能理解的ux从业者或其他域名局域网,而没有现场观察。特别是对于具有较少的域名经验的从业者,领域的研究, 如语境询问,在复杂应用程序设计过程中很少至关重要。

除了早期实地研究外,原位用户测试和评估同样至关重要。相同的可用性 - 工程领先设计军事应用程序继续描述在实验室以外的复杂应用程序用户测试的重要结果可以揭示:

我们做了很多性能测量。例如,一个按钮的多点触控,比如触摸屏上的多点触控。当他们(士兵)必须穿上防护装备时,就会出现问题。感应式或导电触摸屏无法工作,因为它没有内置触控笔……软件在理想情况下可能运行正常,但当我们进行用户研究时,我们将在(实验室)之外进行。”

简单地说,从业者必须在工作领域花时间,以了解轰击复杂应用程序用户的环境因素。

5.制度复杂性

最后,制度复杂性指存在于一个组织内的文化或微观社会结构,包括规范、态度、角色、政治紧张局势、权力来源和制度化的做事方式。

复杂应用程序的实践者通常会遵从传统方法或制度化的电源,因为他们觉得自己无法与它们对抗,即使它们不是最优的。

工业自动化行业中的一个领先用户体验研究员在这种“遗产”环境中表达了挫折,在那里创新有限:

但在很大程度上,他们(这家公司)是一家企业,因为他们已经存在了很长时间,生产了100万件产品。然后它们就变成了这些旧的遗留产品它们必须继续工作因为人们依赖它们然后它们就变成了旧的,坏的代码。然后就会有一群人一直在这里工作他们这样做因为过去有人这样做过,而且很成功。所以,不需要做新事情。

对演进遗留设计方法的抵制只是制度复杂性给从业者造成障碍的一种方式。同样,我们也看到了制度文化和内部政治结构对设计师和研究者如何被其他角色感知和评价的影响。特别是在具有高领域排他性的工作领域(意味着专业领域知识对外部人员不可用),从业者经常发现自己在包括工作领域专家的团队中为信誉而战。

能源行业的高级UX互动设计师描述了她与工作领域专家合作的经验,他们对具有有限域知识的从业者没有同情心:

团队有很多主题专家。他们已经在这个空间里有10多年......他们有时忘记了[他们周围的时间] - 就像,“嘿,你不仅仅来这里并知道一切。”你不得不升空几年......以及任何进来的UX人 - ......,它只是需要很长时间才能让他们到1)了解这项业务,而且2)[了解] ......这些用户的目标和动机,以及我们如何增强[该]经验?

医疗保健 - 电子制造业的另一个高级UX设计师呼应了这一点,并建议使用基层努力创建与已经尊重的员工建立伙伴关系,以减轻挑战:

我所做的通常是找一个能帮我的人也许他们在这个(专业)领域有更多的发言权,然后我就和他们合作,他们帮助我,把我的想法提出来。因为我新。(公司名称修改)似乎有一种文化,“如果……你(很长时间)没在这里工作,你就不知道自己在说什么。”

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

该框架的应用,为用户体验设计师和研究人员

UX从业者经常宣传用户上下文的重要性(因为它们应该)。但是,在为专业域设计复杂应用程序方面,定义和使用“上下文”作为一个全包,通用,umbrella概念不足。(Barbara Mirel首先写了关于这种方法在2004年书中的不足,复杂问题的交互设计解决:开发有用和可用软件)。

而不是被复杂性或简化你的镜头的背景复杂的应用程序设计和使用时,使用复杂的层作为框架,本文打破来源的复杂性有关你的工作和“看到树木的森林。”

事实上,在我们最近的虚拟UX会议期间,Complex Apps课程的与会者使用该框架作为制作复杂性的工具,它通过使用共享词汇和展示和讨论它的共享词汇和型号来更具管理,如下所示。

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

我们鼓励您也使用这个框架,作为领域建模练习的一部分,作为实地研究观察工具,或者仅仅作为与同事讨论工作复杂性的方法。

要了解更多关于为特定领域设计复杂应用程序的过程和方法,请进入我们的全天研讨会,为专业领域设计复杂应用程序

参考文献

Mirel,B.(2004)。复杂问题的交互设计解决:开发有用和可用软件。旧金山,加利福尼亚州:摩根kaufmann。