摘要:复杂应用程序设计准则
关键词:应用程序设计,设计模式,交互设计,用户体验
全文共3443字,阅读大约需要5分钟。
UED观察 报道 | 公众号 uedsee
什么是复杂应用程序?
我们以前将复杂应用程序定义:为支持专业领域用户的任何应用程序。
复杂应用程序在工作流程和最终用户类型上当然有所不同(例如,从科学家到军事专业人员再到金融分析师),但是复杂应用程序通常具有相似的品质。
例如,复杂的应用程序经常出现:
-
以专业知识为专业用户提供支持 -
帮助用户浏览和管理大型基础数据集并启用高级感官分析或数据分析 -
通过未知或可变的基础任务支持问题解决或最终目标 -
需要在多个角色,工具或平台之间进行切换或协作 -
减轻执行高影响力(或高价值)任务的风险,在这种情况下,减少高额损失(例如收入甚至生命)
尽管差异很大,但所有复杂应用程序都面临相同的挑战,无论是创建这些复杂应用程序的从业人员,还是依赖于它们进行工作的最终用户。
下面是8个复杂应用程序设计指南
1.边做边学
研究表明,将其引入应用程序或系统后,用户更喜欢立即开始使用它,而不受其复杂程度的限制。与教程,文档或帮助相比,用户更有动力开始其任务。(这种现象被称为活跃用户的悖论。)
虽然在任务或安全关键领域中仅依靠试错学习来使用应用是危险且不适当的,但一定程度的边干边学是必需的,因为不可能在培训课程或手册中涵盖系统的所有使用。
通过允许用户边做边学,从而支持用户立即开始探索界面的偏好。
例如,限制用户执行一系列动作的能力而看不到这些动作的结果。实时仪表板构造支持该原理,其中仪表板元素预览在构造时会实时更新。用户不必等到任务结束就可以查看其操作结果是否符合其意图。
2.帮助用户采用更有效的方法
大多数用户在留给自己使用的系统上不会过渡到真正的专家使用方式。许多用户会感到满意,这意味着他们将继续使用令自己满意的(通常是效率低下的)方式来完成任务,而不是花费时间为他们的工作流程寻找最佳解决方案。随着用户以无效率的方式日复一日地使用相同的系统花费数年甚至数十年的时间,这种行为使生产力随着时间的推移而变得难以置信。
通过寻找通俗易懂更有效的方法来帮助用户转变为更有效的方法并打破其根深蒂固的行为模式。
例如,不依赖冗长的教程或手册(甚至是写得很好的手册),而是在整个应用程序中嵌入上下文学习提示以获取其他功能。上下文学习提示是仅在当前任务的上下文中提供给用户。当用户将鼠标悬停在工具栏菜单项上时,提示一些完成任务的更快方法。
3.提供灵活而流畅的操作路径
复杂应用程序用户通常在工作中执行非结构化目标。对于这些工作,用户可能不知道确切的最终目标,而是需要分析数据以寻找答案。
即使确实存在制定良好的最终目标,用户也通常不会遵循已知的顺序来达到目标。
避免僵化的线性工作流,从而使用户可以灵活地执行任务。
例如,提供允许返回,回到较早步骤以及从任何步骤流畅地移动到任何其他步骤的方法。例如,向导中灵活的交互式序列图使用户可以返回之前的步骤而不会丢失进度。
4.帮助用户跟踪行为和思考过程
复杂应用程序用户经常面临漫长的等待和频繁的工作中断。
例如,复杂的数据分析可能需要花费数小时甚至数天的时间,而大多数复杂应用程序用户所面临的环境复杂性可能会导致其工作意外中断。即使没有计划外的中断,为实现目标而执行子任务的复杂性和可变性也要求用户在任务执行过程中将大量信息保存在工作存储器中,而这些信息很容易在他们转换方向时丢失。
通过使用户能够记录他们在工作期间的行为和思考过程,从而减轻了工作记忆的负担,并帮助用户在工作流中断或中断后恢复任务。
允许用户添加和存储特定数据集,图表或其他元素的开放式注释是支持此原理的一种方法。例如,在复杂的数据建模或分析过程中,用户输入的注释可以在以后提醒用户创建模型的原因以及试图回答的问题。
5.协调多个工具和工作空间之间的转换
复杂应用程序用户通常跨多个工具和多个工作区工作。即使用户大部分工作主要依赖于一个应用程序,他们仍会出于多种原因频繁切换应用程序。
例如,当主要软件不支持操作时,可以从在线数据库中收集数据,查找和参考文章或其他外部文档,或者在其他应用程序中做自己的注释和评论。即使在主应用程序中,由于软件附加组件或其他启用应用程序中各种专门功能的可选软件包,用户也可能在不同的环境或工作空间之间转换。
通过支持在主应用程序内部切换,减轻工具切换的负担。
减轻工具切换负担的一种方法是,简单地接受该生态系统并设计主要应用程序和常用第三方工具之间的连接点。例如,复杂的工作通常需要协作和报告。用于将数据集导出到Excel或将图像导出到PowerPoint的内置功能使用户可以节省宝贵的时间,否则用户将在尝试编译报告和演示文稿时转换数据或对图像进行屏幕截图。
6.减少混乱而不降低能力
复杂的应用程序通常旨在适应广泛的用途。
例如,一家汽车公司也可能使用环境机构测量和跟踪蜜蜂的软件监控机器故障。这种使用场景的多样性一方面使复杂的应用程序功能强大,另一方面又使它们变得非常混乱。此外,复杂的应用程序通常必须同时支持新手和专家用户,并且专家用户可能需要很少或新手用户很少访问的高级功能。
通过在不降低应用程序功能的情况下最大程度地减少界面内混乱的外观,帮助用户管理复杂应用程序中普遍存在的选择,功能和功能过载。
分阶段公开是一种减少混乱的方法,仅在选项与任务或重点项目相关时才向用户显示选项。
例如,仅在以复杂形式或向导检查了相关字段之后才显示高级参数或设置是与复杂应用程序有关的分阶段公开的示例。
7.轻松过渡主要和次要信息
即使有效地减少了界面中的混乱情况,也不能(或应该)一次显示所有元素和信息。必须将某些信息推迟显示;但是,二级信息通常是必要的,以便在一级上对信息进行情境化和决策。
通过允许用户在不离开主屏幕或环境的情况下访问和查看补充信息,从而简化了主要信息和辅助信息之间的过渡,并帮助用户将主要信息置于上下文中。
仪表板通常支持此原理,例如,当用户将鼠标悬停在图表或图形中的特定点上时,允许用户在工具提示中查看更精确的定量数据。
8.使重要信息在视觉上突出
复杂应用程序用户执行的许多任务都需要高度的视觉搜索。仅举几个例子:用户可能不得不在巨大表格中查找和区分相关数据。系统警报必须引起用户注意,以便用户可以及时注意到并纠正潜在问题。简单地查看并尝试理解仪表板上的数据可视化也具有重要的视觉搜索组件。在复杂的应用程序中,大量竞争信息和元素可能会阻碍这些任务。
通过使关键元素在视觉上突出,帮助用户发现重要信息并根据重要信息采取行动。
值得注意的是,使重要信息脱颖而出并不总是意味着对该信息进行强调(例如,鲜艳的颜色或较重的字体)。在使重要信息在视觉上更加显眼时,删除不必要的元素可以同等甚至更有效。
例如,删除无用的多余图形或视觉元素会使遗留的数据脱颖而出。仪表板模块从数据元素中消除了清晰,难以理解的图示,从而减轻了试图在仪表板上查找数据的用户的视觉搜索负担,从而支持了这一原理。
结论
复杂应用程序多种多样,支持各种用户类型和工作流程;然而,无论领域如何,此类复杂应用程序都存在类似的挑战。通过遵循以下8个设计准则来优化复杂的应用程序:
-
通过做来促进学习。 -
帮助用户采用更有效的方法来完成任务。 -
通过工作流提供灵活而流畅的途径。 -
帮助用户跟踪动作和思考过程。 -
协调多个工具和工作空间之间的切换。 -
减少混乱而不降低能力。 -
简化主要和次要信息之间的转换。 -
使重要信息在视觉上突出。
参考资料
https://www.nngroup.com/articles/complex-application-design/