如何设计登录注册模块
大家好,我是来自IT修真院的一枚PM~~今天和大家来分享一下如何设计登录注册模块~
一.为什么要做登录注册?
二.核心要素
三.业务闭环
四.将业务嵌入使用场景
五.用户体验需要打磨
六.更多功能
七.更多讨论
八、参考文献
一.为什么要做登录注册?
5W思维工具的第一个W即是WHY,为什么。
产品经理接到需求的本能反应应该是问一句:为什么要做这个需求?搞清楚需求的前世今生和来龙去脉,再加上“知己知彼百战不殆”的指导思想,对于接下来的需求分析、业务实现、功能落地都有莫大的好处。
为什么要做登录和注册?
登录和注册的需求来源部门或许有着五花八门的回答,也许是建立用户体系的需要,也许是收集用户信息的需要,也许是用户运营的需要,很多也许。多不要紧,但至少我们知道了实现“登录和注册”对于业务有着至关重要的作用,且会对很多业务功能产生重大影响,需要产品经理认真、慎重的进行设计。
到此为止,即可。
二.核心要素
搞清楚了来龙去脉,明确了重要性,现在就来点实用知识,开始进入实际操作,从登录和注册的最核心业务开始分析。
很明显,登录和注册的主要矛盾就是完成两件事:用户登录和用户注册。
登录,就是提供给用户某种user interface,简称UI,即用户接口,让用户填入某些标识信息来与系统中已有数据进行身份验证匹配,并赋予用户某些特殊功能使用权限的过程。
听上去很复杂,实际上登录的主要矛盾就是:
让用户能够输入某种专有信息,例如独特的字符串、电话、身份证、电子信箱等等,总之能唯一表明这个用户的身份信息即可
为了解决这个主要矛盾,我们就设计两个输入接口:
- 身份标识:暂定用户名、手机、电子邮箱三者选一
- 密 码:暂定6位字符
注册,就是将用户的信息保存在系统中,用以日后的登录匹配信息之用。
实际上注册的主要矛盾就是:你到底要保存用户的哪些信息?
为了解决这个主要矛盾,我们就设计采集并保存以下用户信息:
- 身份标识:暂定用户名、手机、电子邮箱三者选一
- 密 码:暂定6位字符
没错,和登录一模一样,为什么?
注册的目的是满足登录信息匹配之用,最最基础的匹配就必然要求登录和注册的所需字段必须一模一样,就好像两个齿轮一样必须啮合。
听上去是废话?不,我就见过很多初入门的产品经理将登录所用字段和注册所用字段设计的不一致,被研发劈头盖脸的痛骂。
到这一步,我们为登录和注册增加了第一批的两个页面:登录页和注册页。
三.业务闭环
有了两个最基础页面还不算完,在流程图上还是两个独立的点,因为业务流程没有闭环。这个时候就要问自己几个问题:
- 登录成功去哪里?
- 登录失败又去哪里?
- 注册成功去哪里?
- 注册失败又去哪里?
为了完成这个业务流程的闭环,我们就需要增加几个页面:
- 登录成功页:通常是跳转到首页,或者个人相关的页面,或者其他有特殊需要的页面。
- 登录失败页:通常是跳转到登录失败页,告诉用户登录失败的原因。
- 注册成功页:通常跳转到有特殊需要的页面。
- 注册失败页:通常是跳转到注册失败页,告诉用户注册失败的原因。
到这一步,我们完成了登录和注册的业务闭环,登录和注册的业务可以打包为独立的业务模块,至此增加了四个辅助页面:登录成功页、登录失败页、注册成功页和注册失败页,总计六个页面。
四、将业务嵌入使用场景
登录和注册的业务流程已经闭环,且已被打包为独立的业务模块,接下里就要做有很强代入感和参与感的产品使用场景分析,然后把登录和注册塞进需要的流程中。
因为只有融入业务流程的产品设计才能体现出价值,否则,和咸鱼有什么区别。
那么问题来了,有哪些使用场景呢?
首页或着陆页:用户看到平台的第一页,也是最容易联想到的页面。
涉及需要用户身份验证的页面:例如支付、发布内容、查看特殊权限的内容等。
那么问题又来了,如何将登录和注册嵌入呢?
对于首页和着陆页,我们在页面上明显位置增加登录和注册按钮或超链接,尽可能的引导用户完成登录和注册。
对于需要用户身份验证的页面,在需要的按钮或超链接上(例如支付、发布、回复、下载等)判断当前用户身份,非认证用户即转入登录和注册流程。
到这一步,我们将登录和注册嵌入到了平台的业务流程中。至此,登录和注册的产品功能和业务设计基本上完成了。
五、用户体验是需要手工打磨的
且慢,产品功能和业务设计只完成了50%,还有50%就是前端产品经理常常挂在嘴边的用户体验。
用户体验这回事比较虚,也比较主观,这里就抛砖引玉几个思考点吧:
- 如果用户名使用电子信箱,如何让用户能够快速完成电子信箱的录入?
- 如何设计良好的登录页错误提示?
- 是否需要记住密码?还是需要2周内不用登录?
- 能否不用鼠标来切换用户名和密码框?
- 能否用回车键来替代鼠标完成登录或提交的操作?
- 如何让用户快速完成注册页的各种字段录入?
- 如何限定注册页的必填字段?
- 如何设计密码强度的提示?
- 如何设计良好的注册页错误提示?
- 如果注册页有用户头像,是否需要锁定头像比例?是否提供在线裁剪?
- 是否需要给用户设置默认头像?
- 如何快速切换注册页的各个字段输入框?
- 注册页各个字段的填写提示是否简洁清晰无歧义?
- 其实还会有很多很多问题,需要我们慢慢打磨、细化。
六、玩出花:还能做点什么呢?
这里抛砖引玉说几个:
(1)用户访问热点和行为监控
这个绝对是核弹级别的增值功能,虽然对于用户不可见,但是对于产品经理了解无法见面用户的使用行为是一个必不可少的功能。通过采集用户在页面上的各种行为,产品经理可以获取到用户的浏览习惯,作为优化产品的重要数据支撑。
(2)第三方登录
前文已经提到过,登录和注册是任何平台阻碍用户的一座大山,如何能够降低登录和注册的难度,如何能够减少登录和注册的步骤,如何能够提高登录和注册的效率,值得仔细思考。
幸运的是,现在各大流量入口平台逐步开放,纷纷提供了第三方登录的接入,可以帮助用户快速的翻过注册的大山来享用我们提供的服务。
(3)重置密码或者找回密码
这个功能则是为用户登录时可能存在的遗忘密码提供了一个处理渠道。不要小看这个功能,在严谨的业务流程中留出一个异常处理天窗,不会让用户在使用业务功能时掉入死胡同或者“功能黑洞”。
结论
简单的登录和注册,也需要严谨、逻辑和科学的思路。
七、更多讨论
Q:User Account是什么?
A:用户账号是一个集合概念,包括用户名、用户昵称。为了减轻用户的记忆负担,绝大多数时候使用邮箱、手机作为别名登录。昵称只是为了满足用户的个性化需求,并非充当账户体系的核心环节。
Q:OpenID是什么?
A:开放账户(OpenID)。借助第三方的开放平台账户,授权快捷登录,极大地降低了用户注册应用的原始成本。实现一键注册与一键登录,导入OpenID平台上的昵称、头像、位置等已有信息,尤其是通过OpenID导入用户关系链数据,减轻人工录入的工作负担。
Q:UID是什么?
A:user identification,简称UID:用户完成注册后,系统会自动为用户分配的一个数字编号,一般由纯数字构成,按用户注册时间排列。在系统中具有唯一性,不可更改,对用户是不可见的,是对产品注册用户的唯一身份标识。
八、参考文献
http://www.woshipm.com/pd/357940.html
http://www.chanpin100.com/article/101573
视频链接:https://v.qq.com/x/page/f0744cepjfr.html
PPT链接: https://it-xzy.github.io/PM-NEW/20180802-pm-5.html#/
如何设计登录注册模块相关推荐
- Codeigniter 用户登录注册模块
Codeigniter 用户登录注册模块 以下皆是基于Codeigniter + MySQL 一.要实现用户登录注册功能,首先就要和MySQL数据库连接,操作流程如下: CI中贯彻MVC模型,即Mod ...
- 登录注册模块设计构思
http://www.jianshu.com/p/9c92aa5b262b 在互联网世界,用户是一切,如果用户都只是匆匆过客那么很难在产品中形成固定的用户群,在用户行为统计上也很难形成有价值的数据,如 ...
- vue项目实践教程2:使用vux设计登录注册,并讲解vue路由,切换页面标题等内容
上一章笔者介绍vux项目的搭建和简介,这里笔者设计几个登录注册页面,来讲解vux中的相关组件的使用,和vue的相关基础知识. 1.我们在与components文件夹同级的目录下创建一个views文件夹 ...
- 百思不得姐之立即登录注册模块(五)
一 功能图和实现思路 具体功能图: 实现思路: --> 1 关注控制器模块搭建(xib) --> 2 登录和注册界面的总体模块数量(三个模块),可以用三个view来装各自的子控件 --&g ...
- 【编程新实务】Lab4 系统登录/注册模块(Android app)的开发
目录 Github仓库 前言 展示 安卓前端 安卓后端 服务器后端 补充: 总结 Github仓库 客户端+服务端 客户端开发环境:Android studio(API 21) 服务端开发环境:IDE ...
- php开发用户登录模块,使用CodeIgniter开发用户登录注册模块
本文介绍使用CodeIgniter来开发一个用户登录和注册的小模块,有详细的数据库表和ci代码. 1.数据库设计 字段 类型 空 额外 索引 id int(10) 否 auto_increment p ...
- Android客户端登录注册模块
(项目地址:https://github.com/wlkdb/module_login-register) 先上图,各组件间的跳转关系如下: 程序的入口是Welcome Activity,展示欢迎界面 ...
- 登录注册模块面试讲解思路
我们使用的是shiro框架进行身份认证/登录,和单点登录系统 1. shiro自带登录过滤器,在拦截到用户未登录的情况下,会重定向到登录页面,不会去拦截登录请求和注册请求 2.如果用户没有帐号,那么他 ...
- Android Studio初学者实例:SharedPreferences 登录/注册模块实现
该实验是紧接上一期使用SP登录.记住密码的实验,主要实现是除了上次登陆以外,登录以后在主界面有一系列假数据,可以通过右上角进行排序选择,以下是实验效果: 示例:好友名排序效果 首先是登陆界面以及逻辑代 ...
最新文章
- 字节跳动Java面试:java软件工程师简历描述项目
- 王道计算机考研 数据结构 (查找-上)
- 图解如何在DC上添加自定义属性类
- php删除垃圾文件,Python删除windows垃圾文件的方法
- 多线程:CopyOnWriteArrayList
- Python标准库socketserver使用线程混入实现异步TCP服务器
- Asp.net MVC 3实例学习之ExtShop(一)————创建应用并设置开发环境
- 麻省理工学院推出数据美国大数据可视化工具
- linux-getch函数
- 云课堂让职业院校软件开发教学更简单
- 计算机笔记本摄像头无法使用,笔记本摄像头不能用怎么回事 笔记本摄像头不能用解决方法...
- 如何解决Adobe Flash Player已被屏蔽
- atx和matx机箱_常见的主板规格ATX与mATX比较,各有什么优缺点,选哪个好?
- IT在计算机语言是什么意思,什么是编程语言?编程语言都有哪些?以及主要用途...
- 计算机平均数据传输速率怎么算,如何计算总线数据传输速率
- html+css仿QQ邮箱静态界面
- [转]绝对地址和相对地址的区别,为什么要采用绝对地址?
- IDEA--安装、使用
- 分享134个ASP源码,总有一款适合您
- 英国电信公布2016第一财季业绩财报 营收76亿美元
热门文章
- 2020Android面试题跳楼大整理,京东-字节跳动面经+个人总结+心得
- Java 浅拷贝和深拷贝的理解和实现方式
- 方程组在原点附近解matlab,Matlab计算题:求解下列非线性方程组在原点附近的根: 9x^2 + 36y^2 + 4z^2 =36 X^2 -2y^2- 20z =0 16x –...
- 关于找不到nsWindows.nsh的问题
- unity animator动画播放完毕后执行
- android虚拟按键趋势,为什么Android虚拟按键老被吐槽但却有厂商坚持在做?
- office 在线预览
- Apple News+收入滑铁卢,苹果“all in 软服务”能否留住用户?
- Excel中SEARCH函数的使用方法
- csapp attack lab