
1.6 用户行为流程设计
用户行为是指用户与特定产品交互的方式。在需求正确的情况下,目标用户依然觉得所开发的产品不好用,多半是用户完成某任务时行为流程遇到了问题。这些问题可能是不符合用户心理模型、行为路径过长、支线任务太多干扰到主线任务等。
1.6.1 用户行为流程的分类
交互设计中的用户行为流程可以分为三种:渐进式、往复式、随机式。
• 渐进式
当用户为了完成某种任务时才会产生行为,所以可以从任务的角度去思考行为。当用户使用产品具有明确的任务时,例如,“使用京东App购买一部iPhone 8手机”,这是一个非常明确的任务,用户的行为流程是:打开京东App → 搜索iPhone 8 → 浏览搜索结果 → 选择自营iPhone 8 → 浏览商品详情页面 → 加入购物车 → 进入购物车 → 付款。该用户行为流程是线性的、渐进式的,任务很明确时的行为流程称为“渐进式的用户行为流程”。
• 往复式
当任务变成了用户想购买一部手机时,但还不确定具体的品牌型号,这时的任务是模糊的。用户会在搜索页面和产品详情页面之间来回切换,以便进行对比从而找到合适的手机。这时用户的行为流程是:打开京东App → 搜索手机产品 → 浏览搜索结果 → 查看商品详情 → 返回搜索结果页 → 继续查看其他商品,直到找到心仪的手机并完成付款,或者没有找到心仪的产品放弃任务。这种来回切换页面,对比信息的行为流程是往复式的,即任务相对模糊时的用户行为流程是往复式的。
• 随机式
试想一下,你有没有没什么想买的东西,只是想打开购物App逛逛的时候?相信很多人都有这样的情况。再想想这个时候你会干嘛?打开购物App,在各个页面寻找自己感兴趣的商品,几乎没有规律,看到哪就点到哪,不停地浏览。这时用户行为流程就是随机式的。
提示
上面我们通过购物App来说明用户行为流程的三种模式,其实这三种用户行为模式也适用于其他App。大家可以拿自己平时常用的App思考一下,自己是为了完成哪些任务?完成相应任务时所使用的行为模式是哪种?这样会让你更加深入地理解产品用户行为路径。
1.6.2 用户行为流程的设计原则
• 减少用户行为数量
在产品的行为流程设计过程中,要尽量减少用户完成某项任务时所要经历的流程数量,从而尽可能快地达到任务目的,为用户带来便捷的操作体验。

图1-30 地图导航类产品设计
图1-30所示的地图导航类产品设计,起始地点的默认值为“我的位置”,产品通过给出默认值的形式,省略了用户输入起始地点的行为,而不是每次都让用户手动输入起始地点。当输入地址时,会使用下拉列表的形式将联想搜索结果展现出来,用户不需要输入完整的地址内容就可以在下拉列表中选择目标地点。这样的设计,能够有效减少用户行为数量。
• 为用户行为设计即时反馈
交互就是人和产品系统进行互动的过程,当用户通过点击、滑动、输入等操作方式告诉系统正在执行的操作时,系统也应该通过动态表现、切换界面、弹出提示信息等形式来反馈用户的行为。

图1-31 App界面交互设计
图1-31所示的App界面交互设计,当用户在列表中点击某个列表选项时,该列表选项的背景会产生从中心向四周扩展的动效,从而反馈用户当前的点击操作。

图1-32 网络不畅时的信息反馈
当用户打开App界面时,如果当前的网络情况不佳,就应该及时给用户相应的信息反馈,避免用户长时间等待,如图1-32所示为网络不畅时的信息反馈。
• 降低用户行为难度
在产品交互设计中,使用选择项代替文本输入;使用指纹代替密码输入;使用第三方登录代替邮箱登录;将操作区域放在拇指热区;将可点击区域做得比图标大;使用滑动操作代替点击操作等,这些都是为了降低用户的行为难度,方便用户在使用产品时更快达成目标。

图1-33 微信的指纹支付功能
图1-33所示是微信的指纹支付功能,传统的支付方式都是需要输入支付密码,而指纹支付只需要验证指纹就可以了,省略了输入支付密码的操作,更加方便。

图1-34 登录界面提供第三方账号登录功能
许多产品的登录界面都提供了使用第三方账号登录的功能,如图1-34所示,这些第三方账号通常都是拥有庞大用户量的社交软件账号,这样可以方便用户快速登录,避开用户注册的流程。
• 减少用户等待时间
当用户做出某个行为时,总是希望得到回应,如果等待时间过长,很容易出现焦躁的情绪,从而放弃任务,影响产品的用户体验。但在现实中,由于硬件性能、网络情况、技术原因难免会出现反应时间过长的问题,这时可以通过异步处理和预加载的机制去减少等待时间,实在减少不了的,可以用有趣动画等形式,缓解用户在等待过程中的负面情绪。

图1-35 租车App界面的加载动效
图1-35所示为租车App在界面内容载入之前添加的加载动效,简洁的地图背景与鲜明的Logo,有效地突出了品牌。该界面还通过动效表现出发地与到达地,通过汽车沿线的运动,很好地表现出该App的特点,将界面的加载过程与该App的特点相结合。
• 不轻易中断用户行为
用户在使用产品的过程中,界面突然弹出临时对话框,提示软件更新,或者让用户去应用商店评价软件,不少人都会抓狂。如果一定要通过临时对话框提示用户去执行某个操作,一定要选择一个合适的时机,如将软件更新提示放在刚打开App的时候。

图1-36 软件更新提示
如图1-36所示,软件更新提示被放在刚打开App时,此时用户没有开始执行某个任务,所以不存在中断任务流程的说法。用户可以选择更新软件,或者跳过更新软件继续执行相应的任务。

图1-37 消息提示框
如果只是提示用户,并不需要用户执行某个操作时,可以用消息提示框的形式代替对话框,如图1-37所示,既告知了用户又没有中断用户行为。