验证码获取与验证的服务流程设计思考
《系统界面指引规范》是目前工作中的一个内部规范文本,目的在于规范自己部门所负责的一些系统功能界面的指引性交互设计。个人负责了其中的部分工作,也执笔撰写了部分内容,算是今年笔耕的一点成果。这篇文字节选自《指引》的第七部分,名曰“交互式验证”,实则聚焦于日常用的最多的信息验证——验证码的获取与验证过程。主要以服务设计的角度思考了在验证码的获取与验证中,如何通过界面指引的设计,提升线下服务的体验。
七、交互式验证(信息验证)
7.1 原则:引导信息提供者正确地提供信息
“验证”环节出现在日常系统操作的各个环节,例如验证用户密码以确认用户身份,验证用户表单填写信息、上传证照、提供的银行卡信息等是否符合信息收集要求,通过手机短信发送随机生成的验证码验证用户真实意愿,有些网站会要求用户识别复杂图片上的文字以验证操作者是人类而不是机器或者程序。
可见,“信息验证”过程实际上是对信息处理者(可能是程序,也可能是人类)所需要的信息、与信息提供者(一般是人类)所输入的信息,进行匹配性验证的过程。因此,涉及验证过程的界面指引规范重点在于引导信息提供者正确地提供信息。
这部分聚焦于通过短信验证码验证用户真实意愿过程中的指引设计规范,在表单填写、图片上传等环节指引用户正确地提供信息,可参考前文“三、 录入文字信息”“四、上传图片资料”部分。
以用户所接收的短信验证码是否由用户主动触发所获得来区分,可分为自助验证和非自助主验证两种场景。
7.2 自助验证
自助验证是指用户所获得的验证码是用户直接主动触发,或主动进行某项操作而间接触发的。例如滴滴出行APP中,用户A登录时需要获取短信验证码,这个过程中用户A主动点击“获取验证码”的按钮,验证码短信发送到用户A手机,用户A输入验证码完成验证身份的操作。这个过程中验证码是用户A主动点击“获取”按钮所得的,就是典型的自助验证场景。又如业务伙伴使用“自动购货”服务获得的提货码,是系统根据伙伴过往的设置定时发送给顾客的,是间接触发获得的,业务伙伴可凭提货码到专卖店验证后提货,这也是自助验证的一种场景。
从上述场景可知,自助验证对应的业务流程,是甲乙双方合意或身份的直接验证。
短信验证码是我们日常用得最多的身份验证手段之一,接收验证码估计也是目前短信服务的最主要功能了:)这部分主要讨论在设计短信验证码的收发场景的界面指引规范。
用例1:明确验证码短信的用途及安全提醒
大部分APP、系统在获取短信验证码界面都能清晰提供“获取验证码”按钮。常见的操作流程是,用户点击该按钮后,界面会提示“验证码已发送成功”,并告知用户验证码的有效时间,“获取验证码”按钮会变成倒数按钮,示意倒数结束后可重新发送验证码。有些界面不会显示验证码有效期,而是在发送给用户的短信中提醒。若验证码无时间有效期的,也会省略有效期提醒。
至于发送给用户的验证码短信,样式上就多样化很多,有些只有孤零零的“验证码xxxxx”字样,有些内容多一点,会告诉用户这是用于什么用途的验证码,有些还会加上发送方名称,如【摩拜科技】【腾讯】等字样。
图7-1 典型的点击“获取验证码”后的界面,含“发送成功”提醒、重新发送倒计时。 图7-2 各种内容结构的验证码短信。 常见的验证码短信包含以下要素(必要性从上到下降序): 表7-1 简书不支持表格,只能输出为图片了,单击可见大图合格的验证码短信应该根据场景、业务特点综合考虑包含哪些要素。在上表的5条案例短信中,只有腾讯科技达到合格线。
按上述标准来考察目前公司发送给伙伴的验证类短信,效果又如何呢?以下是几个例子: 表7-2 点开图片看大图用例2:以用户思维优化获取验证码这段时间的等待体验
从客户端(泛指客户操作的终端,含手机、平板、电脑、自助终端等)点击“发送验证码”按钮之后,大部分客户端都会把“发送验证码”按钮切换成倒数按钮,一般为60秒,这是因为短信平台从接到发送请求到将短信送达用户手机一般会在60秒内完成。
更佳的用户体验应该是告诉用户“倒数”表示的意义是什么,因此不少客户端都会将倒数文案优化为“60秒后可重新发送”,这比只有倒数更容易让用户明白倒数的意义是什么。
现在思考一个问题:用户会更关心什么时候可以重新发送验证码,还是什么时候收到验证码?用户是为了重新发送验证码而等待,还是为了接收验证码而等待?
毫无疑问,两个问题的答案都是后者。因此“60秒后可重新发送”就是典型的甲方思维,而非用户思维。那么怎么以用户思维优化这个文案呢?其实只要回答上面的两个问题答案就呼之欲出了,例如改为“短信将在60秒内送达”或“接收短信还需要60秒”。
图7-3 从只有倒数(左:凤凰新闻客户端的用户注册界面),到以企业思维设置的倒数文案(中:淘宝app手机验证码登录界面),到以用户思维设置的倒数文案(右:微信手机号+验证码登录方式界面),体现的不仅是界面指引的体验进化,更是用户体验设计综合水平。用例3:提供重发验证码以外的获取验证码方案
通过短信获取验证码是目前通用的验证码获取方式,但如果一直收不到短信呢?笔者就经历过登录某银行app多次获取验证码都无法收到短信,自行排除了欠费停机、内存不足、安全软件错误拦截等情况,仍无法收到验证码短信。最后求助银行客服电话,被告知只要重启手机就可以了,但已耽误了起码半小时了。这样的用户体验十分糟糕。
目前有一些服务已经提供语音验证码功能,经用户同意后,直接拨打用户电话,通过语音告知验证码。其优点是比短信的时效性更强,与短信验证码互补可以实现验证码到达率100%。对于注册类验证码,使用语音验证码还能提高恶意注册刷单的成本。
图7-4 左:摩拜单车登录时默认需要验证码登录,可选择使用语音验证码。右:由于高频呼出,语音验证码的外呼号码可能会被安全软件标识为骚扰号码。
但是,语音验证码也有缺点,就是遇到信号不佳的地方,语音很难听清楚;语音验证码所用的外呼号码话由于频繁呼出,可能被运营商或安全软件标记为存在电信诈骗风险的号码,因此需配合短信验证码使用作为备选方案。
最后,有什么方法既能保证到达率,又能实现安全验证的的呢?答案也许又回到了短信,但,是让用户主动发短信,行业用语叫“短信上行验证”。也就是在客户端上提供验证码,让用户将验证码发送到指定号码,从而实现安全验证。目前QQ找回密码在用户无法接收受短信的情况下,提供了短信上行验证的方式。短信上行能实现验证到达率100%,但也存在操作步骤较多(需要用户离开客户端,打开短信功能)、需要用户支付短信费用等缺点。
图7-5 QQ找回密码功能提供了较佳的通过上行短信验证用户身份的体验。界面上以用户语言分别注明了需要发送的短信内容及接收号码,同时提供了“快速发送”功能,可直接调用短信程序,无需填写接收号码(一般接收号码又长又难记)综上,使用单一的短信验证码并不能满足多种业务场景的信息和安全验证需求;根据业务的重要性和敏感程度,提供多种验证方式不仅能显著提高验证效果,还能极大提升用户体验。
7.3 非自助验证
非自助验证是指用户所获得的验证码非用户(直接或间接)主动触发获得的,例如业务伙伴到专卖店退货,店主需让系统发送一个验证码给业务伙伴,业务伙伴需提供验证码给专卖店主,完成退货意愿验证的过程。这个场景中,验证码不是业务伙伴主动触发的,而是店主触发。对业务伙伴来说,这就是非主动验证。其目的在于以验证码为中间人,验证业务伙伴和专卖店主对于退货的合意。这就是非自助验证的实质,是以服务器(发送的验证码)为中介的,甲乙双方的合意验证服务。
由于业务伙伴日常收到的指引是“不要把验证码告诉其他人”,因此非自助验证界面指引首要解决的问题是让业务伙伴在退货时告知专卖店验证码,非退货服务时保密。
目前的退货业务验证流程可从以下几个方面进行优化(以易售通退货为例):
1. 在验证码发送界面,加强对专卖店主(店员)的引导,便于店主(店员)在索取验证码时取得退货业务伙伴的谅解。
目前的退货验证码发送界面,更像一个供专卖店主给自己退货的界面,而没有考虑“需要向业务伙伴索取验证码”的情况(图7-6)。因此需要添加温馨提示,告知店主(店员)对业务伙伴进行必要的说明。
图7-6 易售通退货当前系统界面,上图为发送验证码前,下图为发送验证码后。
(1)如在图7-6的输入框下方添加说明文案:点击上方按钮发送短信给退货人进行身份验证,请提醒退货人留意手机短信,并索取退货验证码进行验证。
(2)“获取验证码”按钮应改为“发送验证码”。
(3)短信发送后的提示语应改为引导店主向退货申请人索取验证码。(改进方案见图7-7)
2. 优化专卖店退货验证码短信内容,缓解退货业务伙伴潜在的困惑。
目前的退货短信内容为
您正在办理退货,退货单号:000000,退货验证码:000000,请妥善保管。
该短信内容存在以下问题:
(1)退货点不明确,退货人无法确认是否当前办理退货的专卖店触发;
(2)缺乏恰当的后续操作指引,“妥善保管”这一话术无法引导伙伴进行下一步操作。
针对上述问题,我们可将短信内容改为:
您正在专卖店(授权号000000)办理退货,验证码000000。请确认店铺授权号,并将验证码提供给店员。如有疑问请拨400-000-0000。
改进后的短信增加了店铺授权编号信息,以便退货人确认退货操作方身份,同时提供了完成下一步退货的指引。