从无到有开发一款产品的过程与思考
Warning: count(): Parameter must be an array or an object that implements Countable in /www/wwwroot/rsui/wp-includes/post-template.php on line 284
前言
在阿里巴巴总部有着这样一句话,改变世界的不是技术,而是技术背后的梦想。
不知不觉已经做技术有三年的时间了,这三年间经历了很多次项目的开发上线,以及产品的争论。很多同事都常常说我,你不像一个干技术的,产品让你干什么你就干什么不就好了,最多就是在技术比较难实现时说一句这个需求做不了就得了,为什么老要去和产品关于交互问题争论呐?我常常争辩道,我认为一个技术不能不会敲代码,但是一个好的技术不能只会敲代码,再敲代码之外也应该有自己关于产品的一些思考。
确定需求
有一天,和一位朋友在聊微信,聊着聊着突然想添加对方的手机号码到通讯录里面,于是就让他发电话号码邮箱和公司名称发过来,然后我一遍一遍的复制到手机通讯录里面花了好一段功夫才添加完成,过程觉得特别麻烦。这个时候我就突发奇想,要是有一款产品可以直接由对方把自己的各种信息输入(例如,姓名、电话、公司、邮箱),然后生成一个二维码发送给好友,好友长按二维码识别信息或者用扫一扫功能扫一下就能直接添加进入手机通讯录那该是一件多么方便的事情啊。说干就干,于是我产生了设计并开发一款这种产品的想法。
产品选型
需求很明确,做一款能根据用户输入的信息生成二维码,并且通过扫一扫直接添加进入手机通讯录的产品。由于我是做android开发的,所以首先想到的是做一款android客户端去供大家下载使用。但是转念一想,这种东西的需求场景是有,但是并不是一个高频场景下使用的东西,真的有必要或者用户真的会特意下载一款这种一次用完下次什么时候再次使用都不知道的APP吗?答案显然是否定的。时间宝贵,流量宝贵,内存更宝贵,用户显然不会一直把一款这种方面但使用率不算很高的应用放在内存宝贵的手机里。APP的开发成本很高,做一款这种APP显然不合适。那么比较低频用完即走的应用和张小龙所推广的微信小程序简直不谋而合,不占内存空间,想到了就使用,用完即走,小程序显然满足这所有的一切。经过这一块思考之后,决定从做一款android APP转而做一款微信小程序!
具体功能与界面
决定好了不做android APP而是做微信小程序之后,接下来就该思考这款小程序具体会有那些功能还有界面应该是怎么样的了。
首先大的核心功能就是一个,输入个人信息生成二维码去扫码添加用户。因此我将界面拆成两个,主要的界面是类似于腾讯乘车码小程序那样,只有一个二维码界面,方面对方直接通过扫一扫来添加信息。另外一个界面为用户信息界面,这个界面可以由用户添加个人信息,添加完成之后点击生成二维码按钮自动生成二维码并且跳转到主界面。
于是把界面搭建完成之后成为了这个样子
可以看到,这里将小程序分为两个主要的界面,二维码页面负责提供扫描的二维码,个人界面负责由用户自己填写个人信息,这里面包含姓名、移动电话和电子邮箱信息。当用户点击生成二维码名片的按钮时将数据保存在本地并自动跳转到二维码界面。
思考
此处在主界面我产生了两个思考,
- 二维码中信息的格式该如何处理?
- 是否需要添加一个扫一扫功能去扫描二维码?
我应该用什么样的格式去保存个人信息的内容,怎样能够让程序更好的进行解析操作?是否需要再开发一个扫一扫功能来扫描里面的二维码?这些问题困扰在我面前。我的思考是,用户拿到二维码的时候第一反应肯定不是拿小程序里面的扫一扫去进行扫描,而是直接掏出手机打开微信,使用微信里面的扫一扫来扫描二维码查看里面的内容。而如何解决摆在我面前让微信扫一扫自动识别我二维码里面内容这是现在必须思考的难题。
好在我同事帮我解决了这个问题。他说有一种叫电子名片的格式微信是可以扫码支持的。于是我去了解了一下这种,原来微信扫码是支持一种vcard格式的二维码名片,它会根据你在二维码中隐藏这种格式来进行自动的解析操作,将解析的信息直接识别出来并添加到通讯录当中去,于是通过这种方式解决了第一个个人信息格式的问题。关于微信电子名片的格式信息可以参考一下这篇文章。
那么第一个问题解决了,现在处理第二个思考,到底有没有必要在小程序里面内嵌一个扫一扫的功能?我的思考是没有这个必要。理由有二:
- 用户不用为了添加一个信息而专门去小程序市场找一个小程序来扫码。用户的直觉一定是看见二维码直接打开微信去扫,而不是打开微信,打开小程序再打开小程序中的扫码功能。我对产品交互的理念一直都是能一步到位的事情绝对不多一步去处理,能让用户直接打开微信扫一扫完成的事情非要拆成两步三步放到小程序里面去干,这种交互在我看来非常的愚蠢!
- 微信的扫一扫功能已经非常强大了,实在没有必要在已经这么强大又便捷的功能面前再自不量力的去自己写一遍,并且写的还没微信好。
综合上面两点思考,我决定不去做扫一扫功能。
那么这里又有一个问题出现,一般我们在给别人联系方式的时候很少会面对面给,大部分情况都是通过网上聊天或微信直接发。所以此时我要做的就是将这个二维码分享出去让好友长按之后能自动识别出来再添加,这种场景会更多见一些。
于是我便把当初要添加扫一扫功能的button按钮进行了一次改造,换成了点击分享二维码功能,将二维码直接直接发送分享出去,将界面修改成了这个样子:
好了,所有关于产品的思考都已经完成了,剩下的就是撸起袖子直接干。功能很简单,我只花了半天的时间就全部开发完成了。但是我却觉得这是一个解决用户实际痛点的问题,由这一个我们经常在生活中面临的实际问题出发通过层层思考,接着确定功能和界面,最后利用自己所学的技术将想法变成现实,这一过程无比的有趣。
写在最后
其实在如今这个大功能都被人做完的时代里,我们再想做一些事情的时候确实比较难,但并不代表没有机会去做。就像我做出这款产品一样,也是因为实际中有这么个痛点让我苦恼,所以我才想着能不能通过自己的技术去帮助解决这个痛点。一款好的产品在我看来从来不需要做的多复杂,也不需要有多炫酷的界面。杂而多的功能,会让用户无从下手,不知道自己到底怎么用,要用什么;而炫酷的界面只会让用户停留在炫酷的效果中,而忽视了产品的本身使用,就像罗丹的断臂维纳斯一样,一双过于完美的手会阻碍维纳斯整体的美,于是罗丹毫不犹豫的将它砍掉。微信的界面从来就没有那么酷炫,他的开屏界面永远都是一张卫星拍的地球图片,但是你却从来离不开他。好的产品就是以简约至上,复杂的功能和炫酷的界面在我看来只是在掩盖他华而不实的内在而已。如果有兴趣想体验下我的小程序,欢迎扫码体验。如果有什么意见也欢迎留言。
来源:掘金