查看文章 |
单线流程(1)---HELLO,WORLD!
2009年02月07日 星期六 15:26
单线流程这个系列是我非常关注并且深入去思考的一个主题,因为我觉得单线流程的设计思想非常接近WEB产品设计的基本原理之一。在web设计领域 ,似乎目前还没有单线流程这个说法,所以本系列文章会比较山寨。 什么是单线流程 我所理解的单线流程是指,当用户进入某个流程时(按钮的出现往往是流程的标志),只能“前进” “后退” 或者“退出”,而没有多余的干扰流程。当然纯粹的遵守单线流程在实际的产品设计中没有任何意义,我们在做得更多的是让产品流程更接近单线流程。接下来我会举一些实际的例子。 A-->B, A--->B/C, A/B--->C的流程 (这里的“A” “B”是指流程中的KEY) ![]() ![]() ![]() 这三种流程是单线流程的基础模式,我把它们称为纯粹的单线流程。 A--->B--->C的流程 ![]() 只有经过B才能到达C,在实际过程中我们常常会设计成如下这样: 举一个手机验证码的流程设置: ![]() 比较糟糕的设计,用户的视觉从A直接跳到C,在用户发现此路不通后,才返回B,所幸这个流程比较简单,一来一回的用户成本并不高。 ![]() google获取手机验证码的这个设计应该说是一个够用的,也符合用户心智的设计。也许可以更好的优化这类流程。 把A->B->C的流程分拆成 A->B,B->C。好处是把该流程变分成了2个纯粹的单线流程,坏处是用户只看到AB没看到C之前,用户会迷茫。 可能更好的做法是,ABC流程可见,但是在用户没有操作B之前,C不能被操作。 ![]() A--->B/C--->D 的流程 ![]() 情况一:无论是 ABD,还是ACD,都是同一个流程,BC是两个有着同样功能的KEY,我们可以认为这是A--->B/B'--->C的流程如:支付宝的手机注册(获取第二次手机验证码后的页面) ![]() 因为这是第二次获取手机验证码后出现的页面,key D先于ABC出现在用户视野里,这里暂时不去讨论这里key的顺序。 问题出在哪里,当用户完成A之后,有B和C这两个并列的入口供用户选择,而对“语音获取”这个不怎么常见的功能支付宝并没有做任何解释。这里支付宝给了用户两个并列的入口,并且没有对用户比较陌生的入口做好标识。也许我们可以把流程优化成如下这样: ![]() ![]() 情况二,ABD流程不同于ACD流程,如:使用Email注册支付宝页面 ![]() 不像上面这个例子的手机校验码获取,这里B和C都是不能互相替代的KEY,B与C也不存在谁主谁辅的关系,只是B会使用比较频繁。 这个页面似乎没多大问题,但为了说明我想说明的问题,我觉得这里的流程可以变成如下: ![]() 为什么这么做,因为B和C是两个不同类型的KEY,分解后的流程是 (B-->A-->D) (C-->A-->D),应该说这两个是相对独立的流程。而且在用户选择B或者C之后,很可能会影响用户A区域的行为。组合成 A-->(B/C)--->D,不如组合成(B/C)--->A---->D更清晰。 =============================================================== 小结一下: 在A-->B-->C的流程里把C加了蒙板,在用户交互上相当于把该流程分割成了A-->B,等用户完成keyB,那么我们就可以认为 A+B 组成了一个新的KEY -- X,流程变为X-->C,通过交互设计我们把A-->B-->C流程分隔成了两个纯粹的单线流程。当然我们也可以把A-->B-->C分别放在两个页面来完成,使每个页面都呈现一个纯粹的单线流程。 在A-->B/B'-->C的流程里,弱化了B'流程,使流程变为 A-->B/b'--->C,在用户体验上使该流程更接近A->B-->C的流程。 在A-->B/C--->D的流程里,把B/C流程放到最前面(前提是换个顺序后改流程仍符合用户心智),没有了插在半路中的B/C流程,KEY(A+D)完全可以理解为KEY---X,所以这个流程变成了B/C--->X 这类纯粹的单线流程。 |
最近读者:
















