通行证,作为一个网站的基础服务,其目的有三: 1.帐号管理(注册帐号、编辑资料、找回密码) 2.身份认证,单点登录,一个账号全站通用。 3.用户数据中心,保存用户在网站各不同应用中的数据及资料。同时为各不同平台的应用提供数据调用接口。 这次做通行证系统的升级,主要也就是为了完善以上三点。另外还有一点目的就是优化注册表单——在精简表单项的同时,将操作和错误提示语修改得更为清晰明确。目前已经取得了阶段性的成果,不过依然有很多地方有待改进。

收获:

建立了跨平台的统一身份认证机制,新增了两种注册登录方式,为获得真实的用户数据打下了一个基础。同时,也完善了找回密码的机制,为提高账户的安全性做好了准备。

心得:

对于用户来说,通行证只是一个非常简单的应用,界面上应该越简单越好,不需要用户进行过多的思考和选择即可直接开始使用。至于复杂的逻辑判断,则放在后台进行处理。

教训:

1.跨平台、跨频道的项目合作,需要更多的、及时的沟通,每一步的进展都需要知会相关人员,否则极易产生卡壳事件,影响整体进度。

2.对于基础性的服务,必须要走在前面,否则会成为新开发应用的瓶颈。这次几个项目并行,就因为通行证没有升级完成,导致其他几个项目进度都受到严重影响。(当然,这也有历史遗留问题的原因。)

几个有意思的问题:

1.关于字段的命名,应尽量避免出现相近的名词。例如登录名、名字、用户名等就最好不要同时使用,否则用户很容易混淆。之前我的设计是把邮箱、手机、用户名这三个可用于登录的字段统一称为“登录名”,用户在这一文本框中输入任意一个已设置过的邮箱、手机或用户名均可进行登录。而同时还有一个“名字”字段(相当于昵称),后来在实践中发现,不少人把这个“名字”和“登录名”弄混了,结果就是死活登录不上。针对这个情况,我把“登录名”的名称改为了“帐号”,并在注册时强化了提示语,这样改过以后,就没有再出现混淆的情况。

2.关于表单的设计,之前也在Twitter上说过,当相邻两个页面的表单非常相像时,光凭文字来区分是不够的,还需要通过样式、色彩、图标等的变化来体现其区别,否则一眼看上去很容易会误认为是同一个页面。网速快的话,甚至会以为页面没有跳转。因为文字是最不显眼的区别。当看到一个网页的时候,首先关注的是整体形象,然后才会看到细节。这就好比“一起来找碴”的游戏,大家都知道要分辨姑娘手上戴的是手链还是手表是很费劲的,但如果一个是帅哥一个是美女那就很容易的区分了。


3.关于找回密码。 对于整个用户群来说,除了登录以外,“找回密码”大概是使用最频繁的一个服务了。老版的通行证仅有“回答密保问题后发送邮件”找回这一种方式,并且邮箱信息还都是没有校验过的,很多用户甚至并不填写邮箱。因此老用户常常是压根无法找回密码。

针对这一现状,我做了几点改进:一、新增邮箱和手机注册,新注册的邮箱和手机必须通过了校验才能正常登录。而校验过的邮箱和手机即可认为是真实有效的信息,由此建立了用户——账户——邮箱/手机之间的关联,这样就确保了用户能够通过真实的信息来找回密码。二、对于老用户,在登录后的页面给出提示,建议他们为了保障账户的安全,尽快去填写和绑定邮箱。三、提供了邮箱、手机、密保问题三种方式来找回密码,分别对应了三种不同注册方式的用户类型。

不过在实践中又发现了问题:最初的设计是直接给出三个选项:邮箱找回、手机找回和密保问题找回,用户选择其中一种,直接输入对应的邮箱名、手机号或用户名。此时用户名注册的用户若选择邮箱找回方式,直接输入一个邮箱,则会发现无法找回,因为老的邮箱并未通过验证。而有一部分用户是确实不记得自己的用户名,只记得填过邮箱,同理也有只记得填过手机的用户,这种情况该怎么办呢?

解决的办法其实也很简单:把流程修改一下,第一步不是让用户选择找回方式,而是输入账号。首先确定用户想要找回的是哪个帐号,然后根据帐号去检索其已设定的密保措施,自动进行相应的找回流程。若已绑定邮箱则自动发送密码重设邮件,若已绑定手机则自动发送手机验证码,若已设定密保问题则自动显示该问题。假如用户三种都设置了呢?那就全列出来,任其选择一种。这样做的好处是在大部分情况下可以减少用户思考“我应该选择哪种找回方式?”的过程,另一方面后台在进行匹配的时候也更加精准,可以直接对应到账号,而不像前一版的设计,需要去对未知是否已验证的信息字段进行判断。

有待优化的几点:

1.关于邮箱绑定的流程

目前是需要先填写邮箱信息,保存后,方能进行绑定。对于用户来说,两步操作有点费解。还得想办法精简。

2.关于账户安全的提示

目前仅有用户中心首页有一句提示语,而对于某些频道页登录后直接跳转回原页面的,安全提示就看不见。还需要增加一些有效又不扰民的提示语。

3.对于安全性

这次的升级,不仅是为了提高易用性,也是为了改善安全性。但这两点总是存在矛盾的,有时候为了安全性,就必须牺牲一部分易用性。如何平衡这两点,在保证安全的基础上尽量提高易用性,这是个值得深入研究的课题。