流程类型
在过去国内大部分web端的注册登录都是在一个页面上完成的,而且这种习惯被带到了移动端上,但是长期使用发现用户面对长表单时会产生压迫感,很可能放弃注册。由于受移动端设备限制过多的表单很占位置,而且来回切换手指戳起来也很不舒服。然而随着国外应用开始流行分步注册并且得到A/B test的验证,越来越多的国内应用也将注册流程分为多步操作,多步骤操作可以将任务拆分来帮用户分解压力,每一个页面都自动聚焦减少手指点击次数,让用户跟着系统节奏不知不觉完成注册。
安全性问题
在设计时不能一味地去考虑流程简洁以及动效酷炫,尤其是金融应用这种涉及到密码安全性的页面。常用的都是通过短信验证码来验证用户本人操作,然后前端将验证码和密码一同交给后台去校验。但验证码是发送到设备上的,设备可能会与用户分开,所以验证码都会设置一个有效期,而且为了使验证码不会频繁相应服务器等原因也会限制重发时间,但验证码有效期与前端限制时间并不能阻止恶意破解,无论4位还是6位的验证号码都很容易被瞬间破解,在验证码验证机制中加上输入次数限制使验证码失效或者锁定设备就能有效减少破解概率。有错误就要有反馈,出现锁定就意味着在交互上要增加一个反馈来提示不小心输入错误次数过的“正常”用户。
然而采用分步注册(包括忘记密码)的输入验证码与设置密码分两个页面,攻击者可以绕过验证码验证来直接设置密码,这里就需要与后台工程师沟通,将设置密码这一步将验证过的验证码与密码一起提交时再一次验证,并采取与之前同样的错误次数锁定机制,注意的是这里的验证过的验证码也要设置有效期来防止错误次数解锁过后依旧可以尝试。(比如输错3次锁1小时,有效期为一小时这样子再次破解的时候验证码已经失效了,只能给破解者3次机会)但是这里就涉及到一个问题,就是需要让用户在有效期之内必须完成注册否则会重新回到注册开始页面(依然需要交互上采用提示框),但回到初始验证码有效期哪里这样的限制也是对用户有好处的,毕竟用户可能与设备分开,其他人可能用此设备直接设置密码。
提示与措辞
输入提交后需要立即反馈给用户一个提示,样式类型可以简单分为toast与模态窗口,内容类型分为:
1、错误类型:尽量使用toast,自动消失并且尽量从顶部出现的toast不影响用户操作也不打破用户心流。
2、失败类型:同样尽量使用toast。
3、成功类型:例如注册成功或者找回密码成功,可以采用模态窗口提示成功,然后让用户去点击来完成流程。也可以直接跳转,但是让用户手动点击触发注册完成的喜悦比莫名其妙的就完成了要好的多。
4、特殊类型:例如操作超时需要回到第一步重新操作,这时需要采用模态窗口提示问题所在并需要用户手动点击返回,尽量避免弹出toast并自动返回这种给用户造成莫名感觉的交互。
措辞(wording)并非仅仅是产品或者策划的工作,需要认真结合交互流程,每一种提示用什么样的wording,不但要在整个应用体系内保持口吻、人称、语言性格一致,还要在简练的同时解决问题,一个能让用户一目了然的wording,是让用户快速了解应用的基础。这里需要注意的是:
1、避免专业生涩的词汇:使用普通用户一眼就看懂的词语,不要使用过分文雅而又啰嗦的词语。
2、句子尽量简练:尽量减少阅读时间减少眼睛滚动次数,能一句话说完绝对不两句,用户初次使用App时大多都是用眼睛扫,能让用户的眼睛扫到关键词即可。
3、使用用户语言:避免出现什么后台响应失败或者错误代码等反用户心智的提示语,由于移动设备极少受到防火墙等影响大部分的操作可能由于网络原因或者后台原因造成的注册登录失败,这时提示网络等问题,说明下提供解决办法即可,例如刷新或者重新尝试操作就可以了。
4、不要把话说得模棱两可:例如:“是否确定要取消?”这种乍一看就蒙B的wording一定会被吐槽。也不要使用造成歧义的文字与词汇,例如郭德纲相声里的一个梗:“小心地滑”。
5、尽量不使用提示措辞:不友好的wording并不是因为它们被设计的有问题,而是在一些地方上它们就不应该出现,比如在手机号码注册时应该默认使用数字键盘而不是出现字符格式错误的提示,这其实是些很简单的道理,但是我们要时刻牢记这句话:“纠正一个错误的方法有很多,而解决一个错误的终极方法 就是不给它任何发生的机会”。
6、图文结合:(扩展项~)这个在注册登录中还很少出现这种使用场景,但其他场景比如特殊交互、新功能等说不清楚 时用图片会表达更清晰直接。
登录与注册
在登录页面中我们经常看到提示注册,在注册界面中也经常看到提示登录。需要账号才能使用的应用一般都在launch页面过后就展示登录页面,但是一个新的应用在没有初始用户的前提下就展示登录而不是注册是违反用户心智的。最近还流行一种注册形式是第一个页面只用来输入账号提交后系统判断是否已存在,如果没有则下一个页面变成注册,有则变成输入密码直接登录。
现在越来越多的应用可以不需要注册就可以去使用,在使用交易或者订阅等功能时才需要注册,这有助于将初级用户变成中级用户。另外还有一些应用只有高级用户才会登录。然而无论注册与登录形式如何变化,能够快速积累用户才是设计的最终目标。
设置密码
密码设计根据安全性以及易用性去考虑,隐私性较高的应用密码稍微复杂,除了数字大小写字母以及特殊符号都可作为密码组成部分。但是输入类似支付密码这种功能时应考虑更加便捷的处理,往往采用6位数字组合(例如微信支付),因为在支付前处于登录状态,本事就是屏障内,另外如果设备离开用户的情况在很多金融应用都是通过自动锁定应用然后图形或者指纹解锁等等来解决存在的安全问题。
注册中设置密码有两种设置模式,一种是输入一遍密码后再输入一遍相同的密码,缺点是会多出一步操作,优点是帮助用户去校验所输入的密码是否有误。
另一种模式是只输入一般,但是会有一个显示密码的开关,可以给用户展示密码明文,缺点是需要用户用眼睛去核对所输入的内容,优点是不用输入两便减少操作次数。
两种模式都有优劣,但基于简化流程的设计第二种方法更多的应用在了移动端,因为移动端界面空间小频繁操作不便利,而且输入时键盘和输入框很近每输入一次眼睛都会注意到所输入的内容是否正确,所以并不会给用户造成的时间拖延远小于输入两遍。
不同媒介不同的处理方式
在PC端与App端需要注意从使用场景、操作方式、网络环境、屏幕尺寸等多方面不同考虑。
那使用场景来说PC我们不能随身携带很容易产生离开状态,这是更需要设置自动锁定功能并且时间也要比移动的短。在设置密码时如果长时间不去设置将会产生延迟操作的错误提示用户重新获取验证码,这个时间应短于移动端的时间。