理性之美

第 5 章 信息架构与复杂度治理(旗舰章)

这是全书的第一个旗舰章,也是我个人认为 ToB 设计里最考验功力、最能拉开设计师水平的一章。

ToB 设计的核心矛盾,可以用一句话概括:业务是复杂的,但用户的认知是有限的。设计师就站在这个矛盾的正中间。一边是盘根错节的业务、海量的信息、繁多的功能;另一边是用户那颗一次只能处理有限信息、稍不留神就会被淹没的大脑。如何让有限的认知,驾驭无限的复杂,这就是信息架构与复杂度治理要解决的问题。

我想先纠正一个流行的误解。很多人以为,好的 ToB 设计就是"把复杂的东西变简单"。这话只说对了一半,而且那一半还容易误导人。真相是:复杂度大多是不可消除的,它来自业务本身,你没法把一个本质复杂的业务变得不复杂。你能做的,是管理复杂度,控制用户在什么时候、以什么方式、遭遇多少复杂度。

这个从"消除复杂"到"管理复杂"的认知转变,是这一章的起点,也是 ToB 设计成熟的标志。一个还在想"我要把这个复杂系统做简单"的设计师,往往会走向两个极端:要么强行删减,把业务必需的功能砍掉,做出一个"简单但不能用"的东西;要么藏来藏去,把复杂度埋进深层菜单,做出一个"看着简单实则迷宫"的东西。而一个懂得"管理复杂"的设计师,会坦然接受复杂的存在,然后用方法去组织它、分配它、引导用户从容地穿过它。

5.1 复杂度不可消除,只能管理:认知负荷理论

要管理复杂度,先得理解复杂度是如何作用于人的。这里,我要请出一个来自认知心理学、却对设计极有指导意义的理论:认知负荷理论(Cognitive Load Theory),由心理学家约翰·斯威勒(John Sweller)提出。

这个理论的核心洞察是:人的工作记忆(就是当下能同时处理信息的那点"内存")是非常有限的,心理学的经典说法是只能同时处理大约几个信息组块。当一个任务需要处理的信息超出了这个限度,人就会感到吃力、出错、甚至放弃。而我们感受到的认知负荷,其实由三个可以分开来看的部分组成。

第一部分,内在负荷(Intrinsic Load)。这是任务本身固有的难度,由信息之间的关联复杂度决定。给一个会计做复式记账,这件事本身就有它内在的复杂度,这部分负荷你消不掉,除非你改变任务本身。对应到 ToB,内在负荷就是业务本身的复杂度。这也印证了开头那句话:复杂度大多不可消除。

第二部分,外在负荷(Extraneous Load)。这是由信息"呈现方式"造成的额外负荷,和任务本身无关,纯粹是设计不好带来的。同样一笔账,界面布局混乱、术语不一致、操作藏得很深、相关信息散落各处,用户就要花额外的脑力去对付界面本身,这部分负荷就高。

外在负荷,是设计能够、也应该全力降低的部分。可以说,降低外在负荷,是信息架构最核心的使命。一个糟糕的 ToB 界面,往往就是外在负荷爆炸的界面:业务本来就不简单(内在负荷高),界面还来添乱(外在负荷高),两者叠加,用户不崩溃才怪。我们抱怨某个系统"难用",十有八九抱怨的就是它的外在负荷。

第三部分,相关负荷(Germane Load)。这是用户用来理解、建立心智模型的那部分"有益的"脑力投入。当用户通过一致的模式、清晰的结构,逐渐建立起对系统的理解,这种投入是值得的,它帮用户把零散的操作内化成熟练的技能。好的设计,不仅要降低外在负荷,还要善于引导相关负荷:用一致性帮用户建立可迁移的认知,让他"学会一次,处处通用"。

把这三者放在一起,信息架构的使命就非常清楚了。内在负荷(业务固有),通过节奏控制来"分摊",别一次全压上来。外在负荷(呈现造成),通过清晰的结构和呈现来"降低",别帮倒忙,这是设计的主战场。相关负荷(建立心智),通过一致性来"引导",帮用户高效建立心智模型。

图 5-1 认知负荷三分量
图 5-1 认知负荷三分量

这三句话,是这一章后面所有方法的理论根。每当你拿不准一个设计该怎么做,回到这三个负荷上想一想:我这个设计,是降低了外在负荷,还是增加了?是分摊了内在负荷,还是一股脑全压上去了?是引导了相关负荷(让用户能积累经验),还是处处不一致让经验无法迁移?想清楚这三个问题,答案往往就清楚了。

5.2 渐进式披露:控制复杂度的释放节奏

理解了认知负荷,我们来看管理复杂度的第一件利器:渐进式披露(Progressive Disclosure)。

它的思想极其简单,却极其有效:不要一次把所有东西都摆给用户,而是先只露出当下最需要的、最常用的,把进阶的、低频的内容收起来,等用户需要时再展开。

这正是在"分摊内在负荷"。复杂业务的信息总量是固定的,你消不掉,但你可以控制它出现的节奏,让用户在任何一个时刻,只面对他此刻需要应对的那一部分,而不是整座大山。

渐进式披露在 ToB 里的应用无处不在。一个复杂的筛选器,默认只显示几个最常用的条件,"高级筛选"收在一个可展开的区域里。一个有几十个字段的表单,按重要性和使用频率分组、分步,核心字段先行,次要字段折叠或放到后续步骤(第六章会细讲)。一个功能繁多的操作菜单,把高频操作直接平铺,低频操作收进"更多"。一个信息密集的详情页,先给核心摘要,详细信息分区折叠、按需展开。

用好渐进式披露,关键在于"分层的判断":什么该露在第一层,什么该收到第二层、第三层。

这个判断,直接依赖第三章的任务频率分析:高频的、大多数用户需要的,放第一层;低频的、少数专家才用的,放后面。判断错了,渐进式披露就会帮倒忙,把高频的东西藏起来,用户每次都要多点几下去找,反而增加了负荷。

我见过一个反例。某系统,设计师为了让界面"看起来简洁",把一个其实非常高频的"批量导出"功能,折叠进了三级菜单深处。结果每个用户每天都要费力地翻找它,怨声载道。这不是渐进式披露,这是"把常用的东西藏起来"。渐进式披露的前提,是基于真实使用频率的正确分层;脱离了频率判断的折叠,只是制造迷宫。

图 5-2 渐进式披露对比
图 5-2 渐进式披露对比

还要注意一个度:渐进式披露不能变成"把东西藏起来让人找不到"。被收起的内容,要有清晰的入口和信号,让用户知道"还有更多,在这里"。折叠是为了降噪,不是为了制造迷宫。比如一个折叠区,要有明确的标题和"展开"指示,而不是把入口做得隐晦到没人发现。这个分寸,体现的是设计师对"降低外在负荷"和"保证可发现性"之间平衡的拿捏:藏得太多,可发现性就差了;露得太多,外在负荷又上来了。

5.3 角色化模块:从角色入口拆分系统

渐进式披露管理的是"单个界面内"的复杂度。但 ToB 系统的复杂度,还有一个更宏观的层面:整个系统功能繁多,如何组织,才能让不同的人各取所需、互不干扰?

答案,我们在第三章其实已经埋下了伏笔:按角色拆分。

回顾一下那个朴素而有力的道理:面对复杂的信息架构,先按角色拆分,可以大幅降低每个角色需要处理的信息量和业务逻辑量。一个庞大的系统,如果给所有人呈现的是同一套臃肿的全集,那对每个人都是负担;而如果每个角色进来,看到的是为他量身裁剪过的、只和他职责相关的那个子集,认知负荷就从源头上降下来了。

这就是"角色化模块"的思想:以角色为入口,把庞大的系统拆解成一个个轻量的、聚焦的工作空间。

这方面有一个堪称典范的案例,是 SAP 的 Fiori。SAP 的系统以功能极度庞杂、极度难用而"闻名"了几十年,它几乎是序章说的"能用就行"那条及格线的化身。一个 SAP 老界面,可能是密密麻麻的事务码、层层叠叠的菜单,新人要培训很久才敢上手。Fiori 带来的最重要的变革之一,就是"角色化"的思路:它不再把 SAP 那座功能大山一股脑摊给所有人,而是以角色为单位,把功能拆成一个个聚焦的、轻量的应用(以"磁贴"的形式呈现)。一个采购员登录进去,看到的是和采购相关的那几块;一个仓管员看到的是仓储相关的那几块。每个人面对的,都是经过角色裁剪的、大幅瘦身的界面。这一个转变,让那座令人望而生畏的大山,变成了一组人人都拿得动的小工具。

图 5-4 SAP-Fiori对比
图 5-4 SAP-Fiori对比

角色化模块的设计,和第二章的"限界上下文"是相通的:你沿着业务和角色的自然边界去切分系统,每个模块内部保持聚焦和一致。这种切分,既符合业务的本来结构,也符合用户的心智(用户本来就是按自己的角色去理解工作的),还从根上控制了复杂度。可以说,角色化是 ToB 复杂度治理在宏观结构层面的第一原则。

角色化也有要小心的地方。现实中角色会交叉(一个人身兼数职)、会协作(信息要跨角色流转)。所以角色化不是把系统切成一个个互不相通的孤岛,那会走向另一个极端:一个身兼数职的人,要在好几个割裂的工作空间之间反复切换,同样痛苦。角色化的真正功夫,是在"每个角色有聚焦的主场"和"角色之间能顺畅协作、兼职者能顺畅切换"之间找平衡。如何处理跨角色的协作,我们在第九章讲复杂系统时还会深入。

图 5-3 角色化模块
图 5-3 角色化模块

5.4 导航模式与信息架构模式库

有了渐进式披露(管单屏复杂度)和角色化模块(管系统级复杂度),最后我们需要一套"连接的骨架",把这些模块和界面组织成一个用户能够顺畅穿行的整体。这就是导航与信息架构的模式。

ToB 系统的信息架构,通常呈现为一种"分层"的结构。最外层是全局导航,区分不同的角色工作空间或大的功能板块;往里是模块内的导航,组织一个板块内的各个功能;再往里是页面级的结构,一个具体页面内的信息组织。设计师要在每一层,都做出清晰的组织,并保持各层之间的逻辑一致。

图 5-5 信息架构分层
图 5-5 信息架构分层

ToB 经过多年沉淀,已经形成了一批成熟的导航与布局模式,它们是前人对抗复杂度的经验结晶。比如经典的"左侧导航 + 顶部栏 + 内容区"三段式布局,几乎是中后台系统的事实标准:左侧承载层级化的功能导航,顶部承载全局性的操作和信息(搜索、通知、账户),中间是主内容区。比如"列表—详情"模式(左边或上方一个列表,点击后展示详情),这是数据管理类场景最常见的模式。比如"主从"模式(一个主对象带着它的若干从属信息)。比如"向导(wizard)"模式(把复杂任务拆成多步引导,配步骤条),这本身就是渐进式披露在流程上的应用。比如"工作台/仪表盘"模式(把一个角色最关心的信息和入口聚合到一个首页),这正是角色化的入口形态(第十一章会细讲仪表盘)。

图 5-6 导航模式库
图 5-6 导航模式库

我想强调的是,这些模式之所以成为模式,是因为它们经过了大量实践的检验,符合用户已经建立起来的心智预期。善用成熟模式,本身就是在管理复杂度:它降低了用户的学习成本(用户在别处已经学会了这些模式),也就是在引导第 5.1 节说的"相关负荷"。用户一看到左侧导航,就知道那里是功能入口;一看到向导的步骤条,就知道这是个分步任务,还能知道自己走到哪了。这种基于共识的可预期性,是降低认知负荷的捷径。

所以,ToB 设计师不必、也不该在导航和布局上一味追求"创新"。在 ToB,可预期性的价值,常常高于新颖性。把成熟模式用对、用好,远比发明一个用户看不懂的新模式更重要。

这不是说不能创新,而是说创新要用在刀刃上,用在那些现有模式确实解决不好的真问题上,而不是为了"显得不一样"而创新。每一个偏离常规模式的设计,都是在向用户的认知预算额外征税,你得确保这笔税收得值。我见过一些团队,为了产品"有特色",把导航做得标新立异,结果用户全都不适应,学习成本陡增,这就是收了税却没给用户带来对应的价值,纯粹的浪费。

把这一章的工具串起来:认知负荷理论是地基,它告诉你复杂度如何作用于人,以及你该降低什么(外在负荷)、分摊什么(内在负荷)、引导什么(相关负荷);渐进式披露,在单屏层面控制复杂度的释放节奏;角色化模块,在系统层面从源头切分复杂度;导航与模式库,提供组织一切的骨架,并借助用户已有的心智预期来降低学习成本。这四样东西,就是 ToB 设计师驾驭复杂的核心武器库。

本章要点清单

  • 认知转变:复杂度大多不可消除,设计的使命是"管理"而非"消灭"。
  • 认知负荷三分量:内在(固有,分摊)/ 外在(呈现,降低,主战场)/ 相关(建心智,引导)。拿不准的设计就回到这三问。
  • 渐进式披露:基于真实频率正确分层;别把高频功能藏起来;被折叠内容要保证可发现。
  • 角色化模块:以角色为入口切分(SAP Fiori 磁贴为范本);但别切成孤岛,要兼顾兼职切换与跨角色协作。
  • 导航模式库:善用三段式/列表-详情/向导/工作台等成熟模式;可预期性 > 新颖性;偏离常规要确保"这笔认知税"收得值。

小结

复杂度治理,是 ToB 设计的核心命题,也是这一章的主题。我们确立了一个根本的认知转变:复杂度大多不可消除,设计的使命是"管理"而非"消灭"它。我们用认知负荷理论理解了复杂度如何作用于人的有限认知,然后用渐进式披露、角色化模块、导航模式三件利器,分别在单屏、系统、连接三个层面去管理它,每一件都讲了它的正确用法和容易踩的坑。

把复杂的东西组织得井井有条,让用户在庞大的系统里依然感到从容,当你能做到这一点,你做的就是序章说的那种"秩序的美""理性的美"。这正是 ToB 设计最高级的美感所在。

信息组织好了,用户在其中的每一次具体操作,又该如何设计得高效、安全?下一章,我们进入第二个旗舰章,交互设计:效率优先的范式。