线性设计(参考之前的文章去线性设计),几乎都涉及到流程的处理,当复杂的流程,短期内已经不能用缩短路径来解决的话,应该采用分布流程的设计方案,简化每一步所需要的的操作内容。
1.复杂流程典型错误
曾经主导过多个项目的改版设计,发现,复杂流程设计的典型错误是:把所有流程步骤都放在同一个页面。为什么说这样设计是错误的?可以有如下几点理由:
(1)复杂流程页面增加用户的工作负担
根据认知负荷理论,人的认知资源是有限的,任何活动都需要耗费一定的认知资源,好的交互流程能将流程简单化,让用户合理分配认知资源,减少用户的认知负荷。如下图所示,把所有的流程都放在同一个页面,超负荷的信息量给用户造成的极大的困扰。
(2)难以处理有依赖关系的流程
如上图所示的例子中,第3步“投向产品”中的建议金额填写依赖于第1步“投资需求”中投资金额的填写,放在同一个页面时,用户有可能略过第1步,直接填写第3步的内容,发生逻辑错误。类似的例子还有:手机注册流程中,必须先输入手机号,才能获取验证码。
(3)无法自适应多终端设备
如果对于web网站来说,同一个页面中放置复杂的流程,这种处理方式还能接受的话,在屏幕尺寸偏小的移动端上,来回滚动一个长页面处理流程,对用户来说将是灾难。
2.复杂流程的正确处理方式
(1)分解步骤,减少认知负荷
像上文提及到的,人的认知资源是有限的,把需要处理的流程分解在不同页面,能有效减少用户的认知负荷,让用户合理分配资源。
(2)提供指引,防止迷路
把流程分解成多个步骤之后,用户很有可能迷路,所以提供流程指引是必不可少的,让用户清楚知道流程所处的位置。
(3)考虑容错性,允许用户撤销操作
复杂流程中,需要用户长时间保持注意力高度集中,但由于真实的原因,用户不可避免在某一个步骤中犯错,所以提供撤销操作,是很有必要的。
(4)由此入深,把复杂的操作留到最后
心理学上有个叫“登门槛”的现象,简单的说就是先拜托别人帮个小忙,再请求别人帮个大忙比直接让别人帮大忙会更加容易。复杂流程同理,把简单的流程放在最前面,复杂的流程放在最后,避免一上来就“吓跑”用户。