众所周知,微信团队的对产品的要求高,但很多时候是听说,也许感受不深,我说说些我还在微信团队时的亲身体验吧。
1
微信里曾经有一个功能,叫实时对讲。
做这个功能之初,我们有个设计,就是一旦进入对讲状态时,手机界面顶部的状态栏从一行变成两行(红框部分),所有的页面元素往下沉20个像素。不了解技术的朋友可能不明白,但没关系,你只要知道,这个功能是我负责的,为了做这个功能,我必须把微信每一个页面的代码修改一遍。
当时我的内心是崩溃的。但更崩溃的不是这个。当我花费了大概一周的时间修改完成了这个个性,设计方案又变了——小龙说不需要这样做了,做一个悬浮按钮来显示对讲状态吧(跟现在微信视频聊天那个悬浮窗一样)。
在绝望之余,我心里想,说不定哪天又要变回来,代码先留着吧。所以我把代码注释掉,没有删除(在微信复杂的代码包里面,通常是不能这么干的)。
一直到这个新版本的微信发布前几天,果然方案变回去了。我的先见之明让我逃过一劫,如果让我重来一次,大概不如把我杀了吧。
这是在讲多变。
2
我前些天在家收拾东西的时候,发现了微信4.5版本的设计稿,这是13年2月发布的版本。你可以对照一下现在微信的聊天发图片功能,基本跟这个设计稿是一样的。
4年多,对于微信这样体量的产品来说,一个功能可以一成不变,真的难以想象。这只能说明当初的设计是经得住时间的考验的。
而这样的一成不变又还很好用的功能,在微信里面有很多。
这是在讲不变。
3
现在很多人在讲小步快跑,迭代试错。但他们说这句话时心里想的是,应该像微软一样把错漏百出的版本给用户用,然后再不断打补丁。甚至有些公司,经常发布一些没有经过大脑的版本,然后反复折腾,折腾反复。
这就是“恶心用户,成全自己”的焦虑感。
而小龙评审微信的功能有一个习惯:不看原型图,不看设计稿,也不看Demo,要体验前后台代码开发好后的产品。这就意味着:如果一个功能在给到用户之前有过n个方案,则前后端开发人员已经开发过n个版本的代码。
如果你从事互联网行业,特别是在创业公司,你肯定会知道:这是极大的资源浪费,并且对开发速度和质量要求都非常高,还很考验开发团队对产品经理的信心和耐心——他们只会认为这个什么都不懂的产品经理整天在瞎改。
但是微信团队做到了,经常是昨天半夜开产品会,想出了一个方案,今天半夜就能体验这个新方案,并且把它否掉了。
正是因为一直坚持这种做法,所以微信的每一个功能都是深思熟虑、高度试错过的,一经发布就几乎不用修改。
比如朋友圈,微信团队默默地倾团队之力开发了半年,做了40多个版本才终于确定发布。而在朋友圈发布之后,它基本就没怎么修改过了。
这是不变的底气。
变与不变,恰恰就是“恶心自己,成全别人”,或者叫死嗑我们,愉悦你们。
PS:所以有些创业团队想找我去跟他们分享微信团队的工作方法,我就跟他们说,微信的做法是学不来的——如果像微信团队一样去折腾开发人员,大概你们的产品经理活不到版本发布……