我来公司接的第一个任务是检查新设计的注册登录功能的交互方案逻辑是否通畅,先介绍一下背景:由于公司业务上的一些原因,老用户习惯于输入用户名和密码登录(虽然都绑定了手机号),而新用户普遍用手机号和密码登录,为了让用户登录更方便,我们又增加了手机号和验证码登录。提出需求产品经理和负责方案设计的交互设计师在讨论方案的时候提到如果用户认为自己有账号但是实际上没有账号,那在登录时应该提示用户跳转到注册流程进行注册⋯⋯两位同事各种极限非极限的情况拿来讨论,最后三个人把自己都绕晕了,为了整理思路,我将用户账号密码的各种状态拆分出来枚举所有的场景,列出了如下表格:
每一行为一个场景,每列为该场景下的一个属性,例如第一个场景(第一行)用户认为自己有账号和密码,而且系统中确实存在用户的账号和密码,那么用户会尝试用户名和密码登录。通过场景枚举我梳理出了14种场景,这14种场景最终都会导致用户使用注册登录模块下的五个功能其中的一个或多个,为了继续梳理和检查,我绘制了如下流程图:
有读者可能会好奇流程图是不是少了分支流程,原因是我逻辑不是特别好,不能每次处理多个变量,因此我先把理想情况用户的操作画出来,接下来我再补上分支流程和错误处理,如下图所示:
获取验证码失败、输入框为空这种太细节的流程我就不画了,总之经过梳理之后确定交互流程上没有死路,全部能走得通,第一个工作任务圆满完成。
项目反思
现在回头再回顾当时的情形,我发现无意中我自己建了个模型出来了——用户对其账号密码状态的认知造成了用户的初步行为,而初步行为作用于App后,账号密码的真实情况影响了用户之后的行为。
为什么我对这个反思觉得很震撼?因为一个场景中变量是无穷的,在登录注册这个场景中时间、空间甚至使用App途中用户看到路边上一只猫,这些变量因素都有可能影响最终行为结果,这些变量有些是可以通过交互设计控制,有些则完全没办法预测分析,如果这次项目不是同事无意中提到用户对账号密码状态的认知会影响用户操作这一关键变量,我可能会在其他诸如环境光照、用户年龄对最终结果影响微乎其微的因素上浪费大量时间导致项目失败,就像虹膜验证项目里我错过了用户视力(正常 / 近视)这一关键变量因素一样(//www.greatytc.com/p/d18e54d89e54)
夸张一点说能不能快速找出场景中关键变量并建模是衡量优秀的交互设计师的标准之一(你看我无意中又建了个模型)
以后如何遇到这种逻辑比较复杂的项目,我觉得可以这么做:
step1:从产品使用前和产品使用过程中寻找影响用户行为的关键变量
step2:列举关键变量的各个状态
step3:组合关键变量状态,枚举出所有可能的场景(这些场景之间的关系类似于平行世界,由于某个关键变量的状态变化而产生不同的世界)
step4:绘制不同场景下的用户行为流程图
推荐阅读
1.手把手教你快速建立用户模型,(挑选合适因子划分用户群,和我寻找关键变量枚举场景思路类似)//www.greatytc.com/p/50c7e8a5b8d0
2.网易云课堂交互设计微专业,需求分析课程(从动机、担忧和障碍三个关键因素角度分析需求得出初步解决方案,改天我写篇文章专门讲这个方法)
http://study.163.com/topics/interaction_designer/?utm_source=490689&utm_medium=cps&utm_campaign=affiliate
3.四步走查智能硬件异常Case,(思路很类似)http://uedc.163.com/13433.html