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

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

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

什么是复杂应用程序?

我们定义了一个复杂的应用程序与任何支持广泛的、非结构化目标或非线性工作流的应用程序一样。

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

  • 支持受过专业培训的用户
  • 帮助用户导航和管理大型底层数据集,并支持高级意义构建或数据分析
  • 支持未知或可变底层任务的问题解决或最终目标
  • 需要在多个角色,工具或平台之间切换或协作
  • 降低执行高影响(或高价值)任务的风险,当高损失(例如,收入甚至生命)处于危险之中时

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

相比之下,日常领域的通才应用使非专业用户能够完成很大程度上离散的、线性的任务,这些任务围绕结构良好的目标组织起来。

例如,用于创建杂货店购物清单的列表制作应用程序就是日常领域的通才应用程序的一个例子。科学家用来分析和预测海平面上升的地理信息系统(GIS)是一个专门领域的复杂应用。

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

框架:5层复杂性

复杂性本身是很难定义的。设计和使用复杂应用程序的复杂性有很多原因。

在这里,我们提出了一个由5层复杂性组成的框架,首先是与应用本身的核心相关的复杂性(例如,技术平台和数据),然后是与使用应用的人的可变目标和环境相关的复杂性,在组织或特定领域的文化中,制度化的工作方式更加模糊复杂。

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

  • 集成
  • 信息
  • 意图
  • 环境
  • 机构
设计复杂应用程序的5层复杂性
使用和设计复杂应用程序的人可以在多个复杂层次中导航,包括集成、信息、意图、环境和制度的复杂性。

1.综合复杂性

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

正如一位云计算行业的UX设计经理所描述的:

复杂性……来自我将微妙地称之为“遗留IT需求”的东西。我们有很多不同资源中的数据,在某些情况下,你不能对10个独立的数据源进行10次调用。你需要整理这些数据,清理它们,然后把它们放到更好的地方。数据的清洁和整合可能是最具挑战性的事情,因为你可以想象,如果一个记录在15或20年前开始被记录,它是在一个非常不同的地方,与我们今天的记录,对吗?这是一个旧的遗留系统,旧的遗留数据库。这不是结构化;这不是集装箱。

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.信息的复杂性

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

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

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

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

除了导航大量数据之外,专家或专业用户的工作流程通常还包括构建和分析复杂的数据模型和假设场景。对于这些类型的场景,从许多不同来源获取、聚合、分析和导出数据是一个乏味的过程,会在用户工作流中产生持续等待和中断的周期。

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

你看,不幸的是,当你有千兆字节的数据时,它们可能需要几个小时[才能运行]。就像这样,光是做地域性统计就可能需要半天时间。对,只要点击区域统计数据你就可以离开半天。事情就是这样。所以,这就是为什么我有70台电脑,你只要在不同的电脑上启动进程,让它们运行一段时间。

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

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

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

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

3.意图复杂性

意图的复杂性是指支持复杂应用程序所特有的非结构化目标和广泛任务的复杂性。

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

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

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

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

航空航天/国防行业的一名人为因素领导者描述了为广泛的目标和环境提供灵活性的努力,同时仍在应用程序内检查列表等元素的标准化协议中设计:

有一种方法可以让飞行员按照清单进行检查。很长时间以来,所有东西都是纸质的……如果你让它电子化……你如何(设计)灵活性来确保它(让用户)跳过(一个项目),因为它不适合你正在做的事情?

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

4.环境的复杂性

环境的复杂性是指复杂应用程序用户的身体环境。这些周围环境通常很难理解和设计,无需进行一次实时的现场工作。

例如,一名从事床边医疗保健应用程序的UX设计师描述了使用该应用程序的医疗从业人员所面临的环境复杂性,以及由此给从业人员设计应用程序带来的挑战:

他们[医学从业人员]有这么多的事情在各时脸色粉急闪烁......除了不得不关心那台电脑旁边的人......确保它[应用程序的信息]蒸馏依据他们需要的人需要什么,完全是他们需要的东西,这是非常重要的。

另一位从事航空航天/国防工业的从业人员描述了一个不同但同样复杂的飞行员环境:

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

对于复杂应用的用户来说,如果没有现场观察,用户体验从业者或其他领域的局外人几乎不可能理解这些相互竞争的环境元素、干扰和干扰。特别是对于那些领域经验很少的从业者来说,领域的研究,如语境询问在复杂的应用程序设计过程中,这一点至关重要。

除了早期的现场研究,现场用户测试和评价也同样重要。军事应用的可用性工程设计负责人继续描述了关键的发现,在实验室外对复杂应用的用户进行测试可以揭示:

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

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

5.机构的复杂性

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

复杂应用的实践者往往会遵从传统方法或制度化的电源资源,因为他们觉得自己无法与之抗衡,即使它们是次优的。

一位工业自动化行业的首席用户体验研究员对在这样一个创新有限的“遗留”环境中工作感到沮丧:

但在大多数情况下,他们(这家公司)是一家企业,因为他们已经存在了很长时间,并且已经生产了100万种产品。然后它们就变成了旧的遗留产品,它们必须继续工作,因为人们依赖它们,然后它们就变成了旧的、糟糕的代码。然后你就会有一群在这里工作了很久的人,他们都是这么做的,因为过去就有人这么做过,而且很成功。所以,没有做新的事情。

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

能源行业的一名高级UX交互设计师描述了她与工作领域专家的工作经验,这些专家对领域知识有限的从业者几乎没有同情心:

团队里有很多主题专家。他们在这个领域已经有10多年了……他们有时会忘记(他们已经存在多久了),比如,“嘿,你不是刚来这里就什么都知道。”你得花好几年的时间来提升自己,而任何用户体验领域的人都需要很长时间才能让他们1)理解业务,2)[理解]这些用户目标和动机,以及我们如何才能增强用户体验?

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

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

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

这个框架在用户体验设计师和研究人员中的应用

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

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

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

截图的小组活动,与会者讨论了应用程序设计过程中存在的复杂性类型必威手机app下载
来自最近一次虚拟研讨会的共享谷歌Sheets文档的截图,与会者使用复杂性层框架来记录和讨论围绕他们的应用程序的复杂性来源。

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

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

参考文献

名叫b(2004)。复杂问题的交互设计解决:开发有用和可用软件.加州旧金山:摩根·考夫曼。