好的产品诞生全过程:每个环节都细致入微

当我们提到一些常见的功能时,可以一笔带过,简单的描述一下就可以了,比如:对于微信登录,手机号注册。

那如果我们提到的是一些比较复杂的,具备一定创造性功能的时候,又该如何呢?

比如:APP推荐分享功能,老用户A将APP下载分享页,分享到朋友圈,或微信好友,微博,新用户B,C,D通过分享下载APP装机并注册,老用户A获得积分或其他奖励。

类似问题,会成为产品经理的一道分水岭,于我们而言,不只是想一些好的东西,还要有办法将他实现,这需要我们对技术有一定的基础认知。

常规的技术实现逻辑

几乎所有的互联网产品均会包含这四个环节:数据库,后端,接口,前端。但在某些产品里,可能会增加环节,或者用另一个方法来代替上图的某个节点,也可以减少一些环节。

“数据库”的存在可以被“日志”来代替。

一款无需网络支撑的“计算器”则只需要前端的功能支撑。

对于产品经理而言,我们有义务将一个idea转化成可用代码实现的方案,实际上这个转化过程正是产品经理重要技能的一环。

不仅仅是想到需求,还要确保需求可被实现。

对于互联网产品而言,一个idea一般都会牵扯到这4个环节,我们以登录为例。

这是一个简易的泳道图,我们可以这样来解读这幅登录的泳道图:

  1. 用户在前端执行了登录的操作
  2. 前端通过接口,将用户输入的帐号和密码上传到后端
  3. 后端将这些信息与数据库的用户信息表进行匹配
  4. 后端将匹配结果通过接口返回给前端
  5. 前端根据后端返回的信息来确定下一步是成功还是失败。

扩展

我们所说的异常保护,就是在上述的过程中,每一个环节都有可能出现错误,我们无法将所有的错误都进行预设,通常会将异常做分类。

没有返回以及返回的信息,不是“对”,也不是“错”。

所以一个登录功能,除了我们所看得见的登录成功,登录失败,还会有请求失败,请求错误这两个“功能需求”。

复杂需求

案例

APP推荐分享功能,老用户A将APP下载分享页,分享到朋友圈,或微信好友,微博,新用户B,C,D通过分享下载APP装机并注册,老用户A获得积分或其他奖励。

这个是基于分享的泳道图,他能满足我们分享的需求,但显然,这不能完成案例中的复杂逻辑。我们来看看另外一副泳道图。

这个图补充了B用户在微信打开被分享出来的链接所对应的操作,但是这任然是不够的。

我们还有几个问题没解决:

  • 我们如何知道B用户打开的是A用户分享出来的网页呢?
  • 我们怎么知道访问的人,下载的人,注册的人是同一个人呢?(条件是B下载装机并注册,A才获得积分)

第一个问题很好解决,A用户分享出去时,将用户的profile信息一起传给后端就可以记录下,“谁分享的”。

同时,在B用户访问时,我们也去记录下访问人的信息,微信提供了这样的支撑能力,在用户访问一个H5链接时,我们可以获得访问用户的微信ipen ID,这样就能知道谁访问了。

走到这一步,我们已经能够将这个案例实现大部分了。

然后

我很喜欢一句电影台词:如果不是喜剧结尾,那是因为电影还未完结。

我们设计到这里,已经能够发现问题了,那就能够找到问题的解决方案。

解决问题,产品经理应该是专业级的。

解决方案(参考)

我们要做的是将注册ID与访问用户的openID进行关联,中间欠缺一个可链接的桥梁。

于是,我们可以建设另一个桥梁,来起到替代作用。

我们可以在下载页作一个活动,每次用户访问这个页面时显示一个处理后的参数,这个参数是根据计算得到的,就像微信的open ID 一样。

访问者ID加上分享者ID再加上一些其他的参数,生成一个新的参数,我们可以将其称为幸运ID。

B用户只要在注册过程中,甚至注册以后的正常使用过程中,输入这个幸运ID,就能建立起这道桥梁。

我们只是需要寻找一个能够让用户输入“幸运ID”的动机就好啦。

比如:

  • 输入幸运ID,看看哪些朋友也在用
  • 输入幸运ID,领取红包
  • 输入幸运ID,可以抽奖

结局

这并不是唯一的解决办法,实际上很多需求都可以用不同的实现方法来解决。案例中的问题,我也没有将其完全描述出来,相信还剩下许多细节问题,留给大家思考。

原文发布于微信公众号 - BestSDK(bestsdk)

原文发表时间:2016-12-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏软件测试经验与教训

自动化测试实施方案

1.1K6
来自专栏码神联盟

云时代 | 云主机服务器概述、优势及如何选择

近年来,有关云计算的信息、产品和概念,正充斥着互联网的每个角落,在互联网+的背景之下,云技术的出现更是让许多企业的业务数据向云计算靠拢。 1什么是云主机服务器?...

1.3K8
来自专栏云计算D1net

如何云化你的 Windows 应用?

AWS AppStream是一项新的亚马逊服务,它可实现Windows应用的云化,可将操作系统扩展至各种计算机和移动设备。今天,服务最实用的用例是将提供简单的游...

3507
来自专栏网络

消息传输的设计方式(上)

写在前面 这几天拜读了郭斯杰的《Messaging,Storage,or both?》一文,原文地址在这里,大有感触,作者分享了自己过去几年时间里在工作中使用A...

2208
来自专栏腾讯移动品质中心TMQ的专栏

完美组合:用例精简+精准测试

一、 为什么要做用例精简和精准测试 1、 测试用例越来越多,测试效率低下 这是因为在目前的快速迭代开发模式下,测试人员需要不停覆盖不断调整的产品逻辑需求,因此测...

24210
来自专栏程序人生 阅读快乐

Python Web开发实战

《Python Web开发实战》按照一个Web 产品从无到有、从简单变复杂、从基础到进阶的过程,多角度、全方位讲述了Python Web 开发。内容涉及Web ...

1222
来自专栏Bug生活2048

.net core项目实战之回顾总结

项目需求其实很简单,类似于一个简单的审批+简单的任务管理系统,但需要同时有PC端和APP端。

1621
来自专栏腾讯大数据的专栏

腾讯大数据套件带你玩转大数据

前言 ‍ 人类每一次大的技术变革都是先在新兴产业生根发芽,再慢慢把触角伸到传统行业。在当前这股由IT(Information Technology)向DT(Da...

2687
来自专栏Java架构

阿里java架构师:微服务写的最全的一篇文章

今年有人提出了2018年微服务将疯狂至死,可见微服务的争论从未停止过。在这我将自己对微服务的理解整理了一下,希望对大家有所帮助。

2K3
来自专栏ThoughtWorks

Web App性能优化之亮剑|洞见

自计算机诞生以来,系统性能问题亘古未变,从指令级优化到集成系统的优化,可谓愈来愈复杂。每种类型的性能问题即便出现的场景不尽相同,但依然有一些性能优化模式,久经沙...

3586

扫码关注云+社区

领取腾讯云代金券