对33款APP进行7个维度的对比分析后,为自己解决了有关注册登录设计的疑惑:并不是所有的应用都有设计注册登录的必要性;注册设计包括了路径设计、流程、内容设计……你在设计时是否也出现过类似的疑惑呢?不妨来看看作者对这些问题的总结。

写这篇文章,主要是想解答自己内心的疑惑:注册登录流程基于不同行业、不同类型、不同的安全要求,是否存在最优的设计方案?

在过往2年多,独立设计了几款产品,但对于注册登录流程,一直没有深入研究,心存疑虑。趁着最近的空闲,分析了33款APP的注册登录之后,这篇文章诞生了。

我将33款APP分为了以下7个维度进行对比分析,这一篇主要讲了3和4,剩下的内容,会在后续的文章中进行说明。

本文目录

  • 33款APP说明
  • 为什么需要注册
  • 注册是否必须
  • 注册应该如何设计
  • 注册的内容

一、33款APP说明

这次选择了医疗、互金、记账、内容、电商、社交等领域相对头部的33款APP进行对比分析。

头部产品坐拥大量的用户数据,所做优化有大量数据作为支撑,分析这类产品,可以为产品优化提供很大参考。互金选择比较多,主要考虑这类产品对账号安全会有较高要求。

二、为什么需要注册

早期的网站,很多都是无需注册的,比如使用百度搜索、浏览黄页……随着互联网的发展,用户对应用提出了更多的个性化需求,开发者需要分用户记录数据……

于是,账号系统的必要性越来越明显。

三、注册是否必须

注册是为了创建账号系统来分账号保存用户数据,然而并不是所有的应用都有这个必要性。

因此,我从这一维度将注册分为:无需注册型、需要注册型。

1. 无需注册型

例如一些纯工具类的应用,比如计算器、闹钟、天气等应用,如果不需要区分用户进行数据记录和分析,则可以不注册。

2. 需要注册型

有注册才能建立账号系统,才能准确区分用户,进行数据收集和分析,才能积累有效数据提升产品价值,为后期的产品优化提供数据支撑……

因此,对于大多数应用而言,注册的存在是非常有必要的。

四、注册应该如何设计

撇去权限获取、注册协议(后续文章会写),注册设计主要包括注册的路径设计、流程、内容设计。

1. 注册的路径

注册路径,是指用户从打开APP后,到达注册的路线:是用户进入APP就要注册,还是看了部分内容做了某些操作时再进行注册?

基于此,将注册的路径分为两类(图示以安装后首次使用为例):

立即注册:即进入APP后,必须完成注册,否则无法看到应用的内容。

延后注册:无需注册就可以体验产品的部分功能,在触发某些功能时才要求注册。

延后注册有两种比较常见的设计方式:启动/引导页直接进入首页,或者在启动/引导页之后设计一个可跳过的注册/登录页再进入首页。

33款APP的分析结果如图,只有4款APP采用了立即注册型,分别是:支付宝、蚂蚁财富、微信、陌陌。

立即注册,就像让用户在不知道东西长什么样的情况下,就让他们掏钱买单,设想一下有多少人愿意?

除非,这东西不用看就知道什么样,所以可以看到,33款产品里,支付宝、微信、陌陌这么做了(就是这么牛),而蚂蚁财富因为功能在支付宝都有,所以下载使用的都是精准用户,采用立即注册也没毛病。

立即注册的产品里,有两类比较特殊的:申请注册(如大多数To B产品,需要提交资料审核通过后才可开通账号,如初期的bilibili)、邀请注册(必须填写邀请码才可完成注册,如每日一淘),这类产品因为产品阶段、用户特性、商业模式等原因,而选择了比较特殊的注册方式。

所以分析后认为,除非产品知名度已经相当牛逼,否则还是尽量让用户“先试用再买单”吧,何况微博依然是延后注册。

特别说明:在本次调研中发现,有7款产品(微医、京东金融、壹钱包、今日头条、京东、淘宝、微博)在启用/引导页之后专门给出了《用户隐私政策》说明页,1款产品(支付宝)在用户输入手机验证码后给出了此页面,应该是为了符合《网络安全法》的相关规定。

《中国人民共和国网络安全法》第四十一条网络运营者收集、使用个人信息,应当遵循合法、正当、必要的原则,公开收集、使用规则,明示收集、使用信息的目的、方式和范围,并经被收集者同意。网络运营者不得收集与其提供的服务无关的个人信息,不得违反法律、行政法规的规定和双方的约定收集、使用个人信息,并应当依照法律、行政法规的规定和与用户的约定,处理其保存的个人信息。

2. 注册的流程

注册的流程,是指用户在进行注册时的操作流程,可分为:分步注册和非分步注册。

非分步注册:

指注册所需的内容在一页(一步)内完成,比如完成注册需要用户填写手机号、短信验证码、密码,而将这些内容设计在一页内,点击提交即完成注册,这类视为非分步注册。

分步注册:

与非分布注册对应,即注册所需的内容需要好几个页面来完成。比如完成注册需要手机号、短信验证码、密码,然后分别放在3个页面,用户通过点击下一步来完成,即视为分步注册。

本次统计结果如图,分步注册占大多数,为79%。

据称,Facebook曾针对分步注册与非分步注册做过A/B Test,结论是分步注册的转化率远高于非分步注册。不过Facebook属于社交类产品,注册流程中必须录入的内容较多,除了手机号,通常还需要昵称、性别等个人信息,分步注册确实是更好的选择,比如这次样本中的社交产品:陌陌、最右、微博都采用了分步注册。

但是,对于其他类型的产品,分步注册的提升效果,可能并不会“远高于”,特别是现在大多数产品都采用延后注册,用户选择注册时,已经对产品有了认可,这时会更有耐心去完成注册。

当然,分步注册的好处确实显而易见,可以将必须字段和非必须字段分页设计,非必须字段的页面可以跳过,可以减少单页面的内容,降低用户的感官压力。

因为页面的填写内容更少,所以可以展现更多其他辅助内容,可以设计的更简洁大气…但过多的分页,也会给用户一种“怎么没完没了”的感觉,所以产品经理需要根据实际情况对注册字段进行分拆和组合,合理的进行分步设计。

五、注册的内容

注册的内容,指用户注册时需要填写的内容,常见的内容有:手机号、短信验证码、登录密码等,接下来会一一进行说明。

1. 邮箱

在PC时代,邮箱是最主流的用户注册信息,因为符合当时的用户使用场景。但随着移动互联网的发展,移动应用几乎均使用手机注册,毕竟注册一款移动产品,还需要打开手机邮箱,或者用电脑打开邮箱,对于用户体验是不友好的。当然,某些移动应用由于海外用户等因素,依然支持邮箱注册。

在本次调研中,只有随手记支持邮箱注册。

2. 手机号码

手机号码作为现在最常用的用户注册身份信息,主要是因为手机号本身的特性: 唯一性、真实性(实名认证)、可联络,符合了移动互联网的使用场景和需求。手机号不仅可以确认用户身份,还可以在必要时联系用户、通过通讯录导入社交关系等。

不过,手机号码属于用户比较敏感的信息,多少都会有些介意。好消息是,根据《网络安全法》相关规定,开发者可以以此为由,要求用户绑定手机号。

《中国人民共和国网络安全法》第二十四条网络运营者为用户办理网络接入、域名注册服务,办理固定电话、移动电话等入网手续,或者为用户提供信息发布、即时通讯等服务,在与用户签订协议或者确认提供服务时,应当要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。

在本次调研中,所有APP均支持手机注册。

3. 防刷安全验证

一般是为了防机刷而存在的,如图形验证码、滑块验证、箭头路线验证、google人机身份验证等,这些验证也是可以破解的,而越难破解的防机刷验证,用户的操作成本也越大。所以,一般在非必要情况下,会优先采用系统限制来规避类似风险。

比如:设置60秒的短信验证码发送间隔、对同一IP或者同一手机设备设置每日短信验证码下发上限等。目前也有聚合类的移动安全产品可以选择,从更多维度通过大数据分析进行风险规避,比如阿里聚安全。

在本次调研中,注册时获取验证码需要人机验证的有:京东、京东金融、人人贷理财、分期乐、小米贷款和微信6款产品,占整体样本的18%。

4. 短信验证码

短信验证码可以确认用户注册手机号的真实性、归属性、可用性,防止无效注册,同时可以便捷的帮助用户进行密码找回、修改密码等操作。但是,短信验证码也存在一些弊端。

比如可能出现延迟,甚至用户无法接收到的情况,所以部分产品会附加语音验证码、上行验证码来解决这一问题。上行验证码,即APP会给到用户一串随机码,要求其发送到某个指定的号码,微信的注册就是采用这一方式。

短信验证码让我比较困惑的地方有:4位和6位验证码,有什么差别?

APP在注册、登录、找回密码环节的短信设置或有差异,以下数据均基于注册时接收到的短信内说明的有效期:

分析可以看到,选择6位验证码的产品还是大多数。但是基于我个人的分析和了解,只要结合验证码有效期、手机号单位时间内可以进行短信验证码的次数上限,4位验证码和6位验证码在安全系数上,没有太大差异,反而4位验证码会减少用户的输入成本。如支付宝、今日头条、抖音都选择了4位验证码。

5分钟和30分钟有效期,有什么差别?

上图是短信验证码有效期的分析结果,未说明就是指在验证码短信中 ,没有说明有效期是多久,这部分占比最多,为49%;其次是5-10分钟,占33%。不同时长并没有特别的行业特性,比如互金类的,2分钟、5分钟、10分钟、30分钟都有。

结合用户的实际使用场景,对于用户而言,说明时长的意义确实不大,毕竟正常用户用自己手机操作的话,都是一气呵成,不会关心有效期,也不需要太长的有效期。

因此,是否说明,对真实正常的用户来说并不重要(比如我一般都不看有效期,看到验证码就输入了)。

不过,不论说明与否,2分钟确实太短,稍微走一个神可能就过期了。而太长的有效期,就增加了验证码泄露的风险。因此,结合场景与分析结果,认为5-10分钟会是比较普适(普遍场景都比较适合)的区间。

当然,短信验证码也可以有更精细的设定。

比如微博的注册验证码,有效期说明为30分钟,登录验证码的有效期未说明,修改密码时需要上行验证码,找回密码的验证码有效期说明为5分钟。

根据不同的场景业务,结合不同的安全需要,可以设置不同的有效时长和验证方式。

不过通过对微博验证码深入分析,我发现:

  • 大多数APP,当用户再次获取验证码时,都会发送全新的验证码,但微博不是,比如登录用的验证码,哪怕使用过一次,退出后再次登录,只要刚才那个验证码还在有效期内,再次获取,还是那个验证码……
  • 微博找回密码的验证码虽然说明有效期是5分钟,但是当我7分钟后重新获取时,还是得到了一样的验证码……当然,不排除在短信中写更短的有效期,是为了让用户尽快完成操作这一可能;
  • 总之,分析结果是:微博可真会省钱……

设定好短信验证码的验证规则,才能更好规避机刷及安全风险,常见的规则如下:

  • 短信验证码发送间隔不低于X秒(目前普遍为60秒),用户端有相应展示
  • 同一业务,单位时间内(如1小时/1天/…),对同一手机号/手机设备下发次数不超过X次
  • 同一短信通道,单位时间内(如1小时/1天/…),对同一手机号/手机设备下发次数不超过X次
  • 超过下发限制时,可改为上行验证
  • 同一手机号,单位时间内(如1小时/1天/…),进行同一业务的短信验证,错误次数不可超过X次

根据不同的场景业务,结合不同的安全需要,可以设置不同的次数限制。

这里提一个手机针对短信验证码的安全处理,就是在锁屏状态下,收到短信验证信息时,短信验证码显示为****。

不然,只要拿到用户的手机并知道手机号码,就算无法进入手机,也可以完成注册了。

5. 登录密码

先来思考一个问题,登录密码是必须的吗?

登录密码存在的意义,是为了验证用户的身份,确认是该账号的真实持有者在进行登录操作,防止账号被他人盗用。

但验证用户身份的方式,从过去就不止一种。比如PC时期的邮箱验证,但是每次登录都进行邮箱验证,对用户来说太麻烦了,登录密码是属于比较便捷的方式。但发展到移动产品,获取短信验证码的便捷程度,与输入登录密码可以说不相上下(抛开可能的延迟)。

就功能性来说,登录密码已经完全可以被微信授权和短信验证所取代。

微信(第三方)这类产品本身就有很强大的安全机制,为接入授权的产品提供了前置的安全保证,同时微信授权几乎不会有延迟,而且免费。

短信验证码虽然有一点的费用,还可能出现延迟,但对于无法/不愿接入微信登录的产品,是退而求其次的选择。

如果无法接入微信,那么登录密码的设置,会是对短信验证码延迟问题的一个补充解决方案。

上图是注册时是否需要设置登录密码的分析结果,其中需要设置密码的有9款都是互金类的,互金类由于均没有接入微信登录(国家/公司政策的原因),因此登录密码会是对验证码登录的补充。

结合结果可以认为,登录密码并不是必须的。密码的保留,更多是出于经济的考虑,以及用户行为习惯的延续,同时可以作为短信验证延迟等问题的补充方案。

然而,随着黑客技术与计算机处理能力的不断提高,过于简单的密码,很容易就可破解,所以设置密码的限制要求越来越高,因此,用户输入和记忆成本也越来越大,导致大家更愿意使用同一个密码,这样又增加了密码的不安全性。(进一步了解可搜索关键字:撞库攻击、彩虹表)

所以,要么别设置密码,要么设置一个安全的密码,且尽量避免所有应用使用同样的密码。

如果要设置密码,怎么样才够安全呢?

要了解怎么样的密码“够安全”,就需要了解密码的加密机制。开发者一般通过Hash加密来保证用户密码在传输和存储过程中的安全,也就是用户输入的密码,并不是以明文密码的形式(密码原文)进行传输和存储的,而是通过Hash加密后的十六进制的随机字符串。

由于Hash算法的不可逆性,因此就算数据库中保存的用户“密码”失窃,不法分子也很难破解出密码原文。

但由于黑客技术以及计算机处理能力的提升,部分过去安全的加密算法,也变得不再安全,对于过于简单的密码,在很短时间就可以被破解。

因此,为了增加密码被破解的难度,密码的位数越来越长、密码的复杂度也越来越大,所以现在大多数密码都要求8-16位,必须包含数字和字母,甚至标点符号。

因此,并没有绝对安全的密码,只有在现阶段相对安全的密码,而且还要看开发者的安全措施是否到位。相对安全的密码规则,可以参考平安一账通、京东的设置规则:

京东的密码设置规则:

  • 6-20位字母、数字或半角符号组成
  • 不能是10位以下纯数字/字母/半角符号
  • 字母需区分大小写

平安一账通的密码设置规则:

  • 8-20位,数字、大小写组合,不可连续4位相同
  • 建议不要使用手机号、证件号、生日
  • 建议定期修改

对于密码,如果不需要设置,就不用强求用户设置,因为目前大多数APP都会一直保留登录状态,除非用户主动退出,那么登录密码是一个使用频次很低的字段,但是却又要花大功夫去保护它的安全。

如果一定要设置,就要用户设置的安全系数更高一些,不然也就失去了密码的意义,甚至反而增加用户账号被盗用的风险。

对于是否设置密码、设置密码的长度,也要综合考虑用户登录行为在账号安全中所占的比重。

例如:借款类互金产品,在用户注册后,发生借款行为时,还需要大量的安全和信用验证,因此,注册和登录流程是可以简化的。

如果要设置密码,规则说明要清晰准确。

在分析过程中发现,部分APP的说明非常不清晰,导致输入一串密码提交之后,看到错误提示,又要重新输入,甚至有的看到错误提示也是一脸懵逼。

比如京东金融的密码设置说明只有“6-20位”,输入6位纯数字后,却又提示“该密码有被盗风险,请重新设置”,然后,请问我该怎么做?

还有的说明是:“包含数字、字母或字符”,但是真实需求却是:“至少包含数据、字母或字符中的其中2种”,不准确的描述会让用户无所适从,大大影响用户的下载注册率。

产品经理在设计登录密码时,要根据产品所处的阶段、所需要的安全级别,和研发充分沟通,设置合理且安全的密码要求。虽然账号安全更多属于研发的工作,但产品经理了解基本原理,才能结合产品,设计更合理的用户注册流程。

6. 其他

不同类型的产品,可能还会有不同的注册内容,比如社交类一般会要求用户设置头像、昵称,互金类往往需要实名认证等,这些都要根据具体产品类型再进行深入分析及设置。当然,不论什么产品,都建议让用户尽快完成注册,然后再在之后的操作中,通过限制操作等引导其完成其他资料的设置。

六、注册设计练习

通过上面的分析,相信大家可以对注册的路径、流程、内容有一个比较全面的了解,但是真正的掌握是需要刻意联系的。建议大家选择某一个/某几个类型的产品,进行模拟设计。

注册登录的设计:基于33款APP的注册登录分析相关推荐

  1. 基于HTML5设计的几款APP

    一 摘要 给大家展示一几款基于HTML5的APP,个人感觉都还做的蛮不错的,接下来给大家一一进行演示一下. 1.<仿淘宝> 2.<阅读> 3.<电影> 4.< ...

  2. 【iOS设计】一款APP从设计稿到切图过程概述

    这篇文章站在GUI设计师的角度概述了APP从项目启动到切片输出的过程,相当于工作流程的介绍.这里写的不是一种规范,只是一种工作方法,加上技术的更新是非常快的,大家在具体工作中,一定要灵活运用. 这里我 ...

  3. php登录界面模板美化,一款简单好看的登录界面——Typecho美化包 Sign-Page-For-Typecho...

    Loading... 一款对Typecho后台登录的美化 首发于 MBRBlog 和 Github ![ ][1] ---------- 源码包只有200KB,总体制作时间为一周,开发者为学生党,不定 ...

  4. html登录界面设计代码_最简洁实现Github登录的JS代码示例

    本文源码地址:https://github.com/Spring-Security-China/oauth2-client-login-js-github 大纲 概述 实现思路分析 在Github官网 ...

  5. app注册页面php开发,教你用app()函数注册程序(微信程序开发)

    这篇文章主要介绍了微信小程序 教程之注册程序的相关资料,需要的朋友可以参考下 系列文章: 微信小程序 教程之模块化 微信小程序 教程之注册页面 微信小程序 教程之注册程序 App() App()函数用 ...

  6. 基于android影院app设计与实现

    目录 1.课题研究立项依据 2.文献综述 3.课题研究的基本内容及预期目标或成果 4.课题的研究方案 5.研究进度安排 6.主要参考文献 1.课题研究立项依据 随着互联网的快速发展,计算机网络的普及, ...

  7. 用户登录测试用例设计

    目录 用户登录测试用例设计 软件功能需求 测试需求 测试用例 用户登录测试用例设计 软件功能需求 用户登录 测试需求 功能性测试 安全性测试 性能测试 兼容性测试 测试用例 功能性测试用例(基于等价类 ...

  8. 历时五天用 SwiftUI 做了一款 APP,阿里工程师如何做的?

    作者|姜沂(倾寒)  出品|阿里巴巴新零售淘系技术部 导读:自 2014 年苹果发布会发布 Swift 之后, Swift 经过多年迭代,终于达到了 ABI 稳定版本,也意味着 Swift 做为稳定的 ...

  9. 10岁就发布了5款App,被库克约见的小男孩长什么样

    当你的孩子还在沉迷王者农药,坑着队友的时候,10岁的他已经有5款App上架了. Yuma,6岁就开始编程. 学完了斯坦福大学的免费编程课. 之后的4年,给苹果开发了5款App,全部上架了. 他以&qu ...

最新文章

  1. 用Spark实现简单的单词统计
  2. css和js和html代码,网页代码中js和css指的是什么?
  3. java swing 外观框架_Swing外观框架BeautyEye使用
  4. 文巾解题 45. 跳跃游戏 II
  5. 一个封锁操作被对 wsacancelblockingcall 的调用中断_操作系统概论
  6. 1.6编程基础之一维数组_04数组逆序重放
  7. dpf linux安装db2_值得一看!数据库及Mysql入门,附详细安装教程
  8. 最常使用的css 工具_使用这些非常有用CSS工具更快地实施网站设计
  9. atitit.二维码生成总结java zxing
  10. Gentoo安装MarkDown编辑器Haroopad
  11. fpga驱动步进电机转动指定角度_通过PLC实现步进电机定位控制的方法
  12. 大佛顶首楞严经摄论 太虚大师著 -读记
  13. 示波器的带宽和采样率
  14. MySQL技术内幕InnoDB存储引擎
  15. 异常恶毒的十二星座性格分析(转)
  16. vrchat模型房_VRChat之blender教程
  17. python小项目——2048小游戏(详解)
  18. 已解决RuntimeError: CUDA error: device-side assert triggered异常的正确解决方法,亲测有效!!!
  19. (免费分享)基于javaweb,ssm旅游景点预定系统
  20. 自动驾驶 11-3: 根据 LIDAR 数据进行位姿估计 Pose Estimation from LIDAR Data

热门文章

  1. mysql的缓冲池大小_MySQL之缓冲池
  2. 工程经济学计算机答案,工程经济学课后习题答案计算题刘晓君答案
  3. tinyxml2解析rss文件
  4. 前端Vue使用封装Mock.js和api请求模拟数据案例(带源码)
  5. Python入门数学类编程——编写数学计算程序
  6. android camera2 对焦,使用Android camera2手动对焦闪光灯
  7. 中国定制男装店中的世界顶级面料品牌(组图)_新浪尚品_新浪网
  8. 转:人生成功必读的经典语录200条
  9. 华强北airpods三代连接安卓手机没声音_华强北的洛达AirPods靠谱吗?
  10. shardingsphere单字段均匀分库分表算法