微信技术总监谈架构:微信之道——大道至简(演讲全文)

新手学堂011

微信技术总监谈架构:微信之道——大道至简(演讲全文),第1张

微信——腾讯战略级产品,创造移动互联网增速记录,10个月5000万手机用户,433天之内完成用户数从零到一亿的增长过程,千万级用户同时在线,摇一摇每天次数过亿在技术架构上,微信是如何做到的?日前,在腾讯大讲堂在中山大学校园宣讲活动上,腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭开了微信背后的秘密。

周颢把微信的成功归结于腾讯式的“三位一体”策略:即产品精准、项目敏捷、技术支撑。微信的成功是在三个方面的结合比较好,能够超出绝大多数同行或对手,使得微信走到比较前的位置。所谓产品精准,通俗的讲就是在恰当的时机做了恰当的事,推出了重量级功能,在合适的时间以最符合大家需求的方式推出去。他认为在整个微信的成功中,产品精准占了很大一部分权重。

相关链接

周颢

2001 年毕业于华南理工大学,计算机专业硕士。

2005 年加入腾讯广州研发部,历任 QQ 邮箱架构师,

广研技术总监,T4 技术专家,微信中心助理总经理。

微信研发团队里鼓励一种试错的信仰:他们坚信,在互联网开发里,如果能够有一个团队在更短的时间内尝试了更多机会(并能改进过来),就能有(更多的)机会胜出。敏捷是一种态度,在软件开发过程中,项目管理者都会非常忌讳“变更”这个词,但是在微信的项目运作中是不可以的。因为微信必须要容忍说哪怕在发布前的十分钟,也要允许他变更。这是非常大的挑战,因为打破了所有传统项目开发的常识。所有人都说不可能做到的,但微信做到了。研发团队所做的一切都是要给产品决策者有最大的自由度,而这个决策正是微信能够胜出的关键。

敏捷有很多困境,如果做一个单机版程序,是可以做到很敏捷的,但是腾讯正在运作的是一个海量系统,有千万级用户同时在线,在一个单独的功能上每天有百亿级的访问,同时还要保证9995%的可用性。在海量系统上应对项目开发会有很严谨的规范,都说要尽可能少的变化,因为90%-95%的错误都是在变更中产生的,如果系统一直不变更会获得非常高的稳定度,但是微信就是要在悬崖边跳舞。微信的研发团队要做一些事情,让敏捷开发变得更简单。

如何做到这一切?周颢认为,首先,必须建立起一种狂热的技术信念,就是一定是可以做到的。然后,需要用一些稳固的技术(理念)来支撑,例如大系统小做、让一切可扩展、必须有基础组件、轻松上线(灰度、灰度、再灰度;精细监控;迅速响应)等等来支撑。

当设计庞大系统的时候,应该尽量分割成更小的颗粒,使得项目之间的影响是最小的。仅仅把模块变得更为清晰,这在海量系统设计开发中是不够的,还需要在物理环境上进行分离部署,出现问题的时候可以快速发现,并且在最快的情况下解决掉。

大系统小做,混搭模式:

将不同的应用逻辑物理分割独立出来,用户注册登录、LBS逻辑、摇一摇逻辑、漂流瓶逻辑、消息逻辑独立开来。把关键的逻辑混搭在一起,当所有的逻辑部署在同一个服务器上,确实也会带来很大敏捷上的好处,因为不需要额外的考虑部署和监控的问题。在整个微信的逻辑中,可能现在已经有上百种不同的逻辑,因为会在逻辑的分割上拆分成8-10种做分离部署。

在高稳定度、高性能的系统中间,为了稳定性能把它设计成不变化的系统,但为了支持敏捷需要让一切的东西都要变得可以扩展。

扩展的关键点有两块。一个是网络协议需要扩展,当要升级一个新功能的时候,会有一些比较大的困难,所以所有协议设计都比较向前兼容,但是向前兼容还是不够的,因为网络协议设计本身有非常多的功能也会有比较大的字段,相关的代码可能会有数千行,这一块不能通过手写方式完成。可以通过XML描述,再通过工具自动生成所有的代码,这是微信获得快速开发的一个重要的点。

另外一块就是在数据存储方面是必须可扩展的。在2005年绝大多数海量系统的设计都是采用固定字段的存储,但是在现代系统中会意识到这个问题,会采用KV或者TLV的方式,微信也做了不同的设计。

把复杂逻辑都固化下来,成为基础软件。在微信后台会有几种不同的基础组件。大致包括:

在变更后的部署方式上,微信在一些规则会限定不能一次把所有的逻辑变更上去,每一次变更一小点观察到每一个环节没有问题的时候,才能布局到全网上去。微信后台每一天可以支撑超过20个后台变更,在业界来说,通常做到5个已经是比较快了,但是微信可以做到快4倍。

腾讯内部的上线系统:

而所谓灰度发布,是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。(在腾讯,灰度发布是最常采用的发布方式之一)

常识上,解决一个复杂问题的时候,会用高明的技巧解决复杂的问题,这个不是微信团队的目标,他们追求的要做到让所有问题很自然和简单的方式解决掉。在周颢看来,微信架构的技术复杂点在四个要点:协议、容灾、轻重、监控。

微信架构:

在协议设计上,移动互联网和常规互联网有很大的区别。首先有CMWAP和CMNET的不同,在中国现在有相当多的手机用户使用WMWAP连接,还有就是在线和离线的概念,当QQ下线的时候叫离线,当你登录的时候叫在线。但是在移动互联网这两个概念比较模糊。从微信的设计中,不管在线还是离线系统表现都应该是一致的。还有一个是连接不稳定的问题,由于手机信号强弱的变化,当时信号很好,5秒钟走到信号不好的地区,连接就必须断掉。这个中间带来不稳定的因素为协议设计带来较大困难。此外就是资费敏感的问题,因为移动互联网是按照流量计费的,这个计费会使得在协议设计中如何最小化传输的问题。最后就是高延迟的问题。

对此,业界标准的解决方案:Messaging And Presence Protocol:1)XMPP;2)SIP/SIMPLE。它的优点是简单,大量开源实现。而缺点同样明显:1)流量大:状态初始化;2)消息不可靠。

微信在系统中做了特殊设计,叫SYNC协议,是参考Activesyec来实现的。特点首先是基于状态同步的协议,假定说收发消息本身是状态同步的过程,假定终端和服务器状态已经被迟了,在服务器端收到最新的消息,当客户端、终端向服务器对接的时候,收取消息的过程实际上可以简单的归纳为状态同步的过程,收消息以及收取你好友状态更新都是相同的。在这样的模式之下,我们会也许会把交互的模式统一化,只需要推送一个消息到达的通知就可以了,终端收到这个通知就来做消息的同步。在这样的简化模式之下,安卓和塞班都可以得到统一。这样的系统本身的实现是更为复杂的,但是获得很多额外的好处。

让剩下系统实现的部分更加简单,简化了交互模式,状态同步可以通过状态同步的差值获得最小的数据变更,通过增量的传输得到最小的数据传输量。通过这样的协议设计,微信可以确保消息是稳定到达的,而且是按序到达。引用一句俗话:比它炫的没它简单,比它简单的没它快,没谁比他更快,哪怕在GPRS下,微信也能把进度条轻易推到底。

周颢介绍了在微信上具体容灾设计的做法。在所有的容灾中存储层的容灾是最难的,一个系统的设计分为三层:接入层、逻辑层、存储层。接入层和逻辑层的容灾都有比较成熟的方案。逻辑层的容灾相对来说比较简单,尽量不要有状态的设计,比如说当你做上一个请求的时候,会保持一些状态,要使得下一个请求发到下一个服务器。如果任何一个请求之间互相不关联的话,这个就是无状态的设计,只要做到这一点逻辑层的容灾可以随意的切换。在回到存储层本身的容灾设计上,相对来说困难一些,但是微信研发团队采用了一些技巧,叫分而治之,分离业务场景,寻求简单的设计,并不会寻求大而同一的解决方案,因为这样会使得系统的复杂度大幅度上升,而微信会尽可能把产品拆细,寻求简化的设计。

首先是主备容灾,这是最常见的方案。在有一些业务场景中是可以容忍最终一致性的,比如账号系统的设计,每天写入账号系统的请求是非常少的,但是访问的请求非常多,这个差异可能会达到数万倍的规模,在这样的场景下,微信会在账号系统中采用简化的方案,也可以获得比较大的稳定度。

SET模型+双写:

第二种容灾的模式叫双写,两台Master的机器,当一台机故障的时候,另外一台机还是可以接收到写请求,当两台机交错启动的时候,会得到数据的丢失。但是有一些场景是可以容忍轻度数据丢失的,比如说会有一个存储专门记录用户终端的类型,比如说安卓还是塞班以及他们使用终端的微信版本是什么,这样的数据是可以容忍轻度数据丢失的,因为偶尔有一些丢失的话,下一次访问会把这些数据带上来,会尽快的修复所有的数据。双写也是非常简单的模式。

微信的研发团队做了一个叫Simple Quorum的机制,在微信的后台中,同步协议有一个很重要的基石叫序列发生器,这样的一个序列发生器需要有极高的稳定度。首先可以看到序列号有一个特点永远是递增的,用递增方式往前推进的时候,最大的序列号就是最新的系列号。有一个毕业才加入广研的毕业生想到一个绝佳的方案,按SET分布,从2G减到200K。

周颢还谈到了轻重的概念。这个概念的提出主要是从终端本身的一些困境所带来的。首先在终端上需要表现最多的一个产品的逻辑,逻辑非常复杂,变更的成本也非常高,当需要修复的时候必须发布一个新版本,这个新版必须由自己下载才能完成,下载的成本非常高。在这样的前提下,如果手机终端产生了任何变化的时候,如果这个变化有非常大的问题就会有极大的困境,所以需要在每一个发布之前做一些充分的数据,确保不会发生致命问题。如果一旦出现致命问题难以修复,需要把关键的点从终端移到后台实现,把功能点后移,来充分发挥后台快速变更的能力。

接入优化:从GSLB到IP重定向

在接入层的优化,速度很重要的因素,是不是能够就近接入一个最优的节点,比如说移动用户最好接入移动的节点,海外的用户可能需要寻找更佳的路由,有的时候可能无法自动做到这一点,一点是在终端上做测速,微信会通过在后台IP逆向的能力,通过后台指挥微信终端联网的能力,寻找最优的接入点。上图就是每分钟收到同一项指令曲线的报表。

如何解决“偷流量”的问题 ——当国内类微信类产品发布的时候出现一个大的问题就是“偷流量”,当用户在某一些逻辑下进行一个死循环,不断访问某一些数据,这样的死循环是非常可怕的,如果在用户不知觉的情况之下,可能会在一个小时之内偷到数10兆甚至数百兆的流量。有非常多业内的同行都需要花大量的精力解决这个问题,微信研发团队用了非常强大的方式解决它。通过在后台建立起严厉的监控系统,对每一个用户的行为做一个监控,当发现异常的时候,后台会给终端发出指令,使得微信终端在一段时间无法联网,但是可以保证用户流量不会白白的使用掉。

功能适配的例子 ——第一期微信版本发布的时候,当时没有群聊的功能,第二版发布的时候做了这个功能。当时有两个选择,对于早期版本的用户,因为不支持群聊,就无法享用到这个功能,但是微信希望提供更好的选择,想让早期不支持群聊的版本,也可以被拉到一个群里面收消息、发消息,通过后台功能的适配也能做到这个事情。

对于一个海量系统来说,一个精密的仪表盘非常重要。监控是非常痛苦的,对于这样一个系统来说,每小时会产生数百G的监控日志。微信希望在1分钟之内监控的数据就能够显示在报表上,因为只有这样的精准和实时度才能够赢得处理故障的时间。微信会做关联统计,通过摇一摇加了好友,他们活跃度如何,过了一段时间他们的活跃度变化情况又是如何。这种需求是需要通过大量日志的关联统计来获得的。研发团队也花了一段时间来理解这个问题,发现了中间一个重要的经验叫做“鱼和熊掌不能兼得”。

为了让监控数值更敏感,需要把监控细化再细化,上面数据表示每一栏子系统的数据,下面这个是按微信版本号来划分的,这里的数据项是非常多。

微信还需要采集一些异常的点,如果有异常的话会发布紧急的版本,尽可能快的替换它。对收发消息延时做的监控,比如说0—1秒端到端的速度,会对不同的区段做一些统计,当某一个环节出现异常的时候,通常会在中间的延时上体现出来。有一个很重要的点叫自动报警,现在有数千项的数据,不可能每一项都靠人工去看的,必须要跟自动报警相关联,微信有一些智能的算法,是不是在正常的范围内,跟 历史 的数值进行对比,如果有异常的话,会通过短信、邮件还有微信本身来发出报警信息。

微信会把监控嵌入到基础框架里面去,因为并不是每一个人都会意识到在需要的地方嵌入一个监控点,所以在基础框架本身内置很重要的监控点,比如说这个表上的栏目,非常多的栏目大概会有数百项的栏目,都不需要程序员自己去写,当用基础组件搭建一个系统的时候,就可以直接观测系统数据。

在谈到微信未来的技术挑战时,周颢首先希望能够让微信成为可用性9999%的系统;设计出面向现在10倍容量的系统以及完全的IDC容灾。

网上盛传的凌晨两点,腾讯大厦那多层大片大片的灯光和楼下那长长的出租车队伍说明了一切。引用一句话做结尾:“可怕的不是微信,真正可怕的是,比你领先比你更有天赋的团队比你更努力”。

微信上目前可以利用的就两个功能:

1、朋友圈不断曝光,达到推广;

2、微信群全粉,不断推送,达到推广;

这是两种免费的模式

你如果推广预算还可以,也可以考虑付费推广哦!

果粉之家,专业苹果手机技术研究十年!您身边的苹果专家~

据微信官方宣布,新版微信状态支持QQ音乐一键分享功能,在微信状态就可以天天听歌了!具体来说,打开QQ音乐选择一首自己喜欢的音乐,点击分享就可以将该音乐设置为“微信状态”。设置完成后,好友只需打开并下拉你的微信个人主页就会自动播放音乐,你的心情你的歌都可以被好友听到。

都说语言的尽头是音乐,不得不说每天选择一首喜欢的歌来表达自己的心情,是一个非常不错的体验。

“微信状态”还推出了一个非常方便的新功能,那就是“跟设”功能。当你发现好友微信状态的背景音乐和背景视频都十分有趣,就可以点击“跟设此状态”将其背景音乐和背景视频全部搬到自己的微信状态上。

虽然前段时间,张小龙在其作品《微信背后的产品观》一书中表示,微信想专注于手机端,专注于即时通信,但微信的实际行动还是非常实诚的。有多位网友反馈说,目前微信已经实现手机、iPad、电脑同时在线,且能够正常使用。

我(果粉之家)第一时间进行了尝试,只能同时登录两项,无法登录三项。这意味着该功能可能处于灰度测试阶段,仅部分用户能够体验到。

微信作为一个超级app,基本上在中国有手机的人都在玩微信。如此成功的背后有很多原因,其中出色的产品设计功不可没。作为产品经理在对微信膜拜的同时,有两点小建议在此吐一下。

一,希望增加群聊同意功能,也就是别人拉你进群的时候需要通过你同意。尤其是陌生群,营销群

朋友昨天向我吐槽,说之前就被一个朋友拉进了陌生群。群里乌烟瘴气,广告满天飞,她都不知道自己是怎么进去的。

后来发现,那个群是个类似传销组织的群,总有人在群里谈论如何一夜暴富,然后私下里加你,叫你投钱搞创业。

吓得朋友立马退了出来。

可没过多久,她又被莫名其妙地拉了进去,还突然有好多陌生人跑去加她,信息提示,是那个所谓的朋友将她的微信名片分享给了陌生人。

朋友很生气,就举报了那个群,并把那个拉她进群的人拖了黑。

“总是不经过我的同意就拉我进群,还把我的名片推荐给我不认识的人,也是够了!”朋友气呼呼地说。“难道不知道什么叫做‘尊重别人’吗?”

二,限制每个人每天发朋友圈的次数。

我有个学英语的女同学,谈了个外籍男友。自从和这个男生在一起后,她就天天在朋友圈发照片、发视频。

有次他们去澳大利亚旅游,一天之内,她发了三十几条小视频,五十几张照片。

真的,一点都不夸张,我特意数了一下。可以说,我很佩服她。

虽然我很理解她极度想要对外分享自己小幸福的心情,但我真心受不了她每过一分钟就刷一次屏的行为。

于是后来我只好把她屏蔽。

屏蔽之后,我感觉整个世界都清净了。

我再也不用被迫接收她的那些重磅炸弹般的信息,再也不用为了看其他好友的信息而不停地往下翻页。

有人认为,朋友圈是私人领域,是可以无所顾忌为所欲为的,我不敢苟同。

如果一件事,让大多数人感到厌恶了,那就说明,你的行为一定存在着某些不妥。

所以,别再说“社交网络下我们可以为所欲为”这种话了。

自由是相对的,你的自由,首先要建立在让社交圈子里的人都感到舒适的前提下。

以上两点建议,一是防止被别人被动拉入莫名其妙的群,带来麻烦。二是防止有人恶意刷屏。让微信真正做到清爽的私人工具,去除嘈杂的声音,还大家一个舒服的用户体验。

应该是指微信支付里面的面对面账单、资金流系统升级、微信找零、“支付+会员”,四大产品的升级。

为完善“面对面收付款”推出的 “面对面账单”功能,针对小商户在运营中的痛点,新功能将支持实时账单、收款提醒和分期查询。

“支付+会员”解决方案,则将帮助百货、连锁餐厅等大型商户打通会员系统。将公众号里积累的“粉丝”转化为“会员”,最终实现双向互动和场景个性化权益。

数据显示,目前在天虹使用微信支付买单的总额超过7亿元,单店最高占比超过58%。

资金流系统的全新升级,将帮助企业更加灵活地分账,促进业务链条更加轻松实现利益共赢。

顾客用现金买单后,只需扫码,就能收到微信红包形式的找零。钢_儿变红包的“微信找零”则将成为智慧零售的力推方向,让商家与现金顾客在线上发生联系。

微信(WeChat)是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序 ,由张小龙所带领的腾讯广州研发中心产品团队打造  。

微信支持跨通信运营商、跨操作系统平台通过网络快速发送免费(需消耗少量网络流量)语音短信、视频、和文字。

同时,也可以使用通过共享流媒体内容的资料和基于位置的社交插件"摇一摇"、"朋友圈"、"公众平台"、"语音记事本"等服务插件。

——微信产品的发展历程

迄今为止,微信月活跃用户接近6亿,称得是每个智能手机用户最常用的应用,人人都说,微信是个伟大的产品。现在微信作为一个平台型的产品,集成了众多丰富的,能给用户带来不同功能和体验的模块和工具,已经成为了腾讯公司最为重要的移动互联网的入口。同时微信作为一款产品已经融入了我们的生活,并逐步影响着我们的生活方式。那么,这样一款产品是怎么做出来的呢,其背后隐含着其产品人员怎样的产品理念呢?看了几篇网上介绍微信产品的发展历程的文章,在这我也试着梳理一下。

一、10时代,以移动IM为起点

根据参与微信研发的产品和开发人员介绍,微信最初只不过是腾讯广州研发中心(主要负责腾讯的QQ邮箱产品)大概不超过十个人的团队抱着“尝试”的态度试验出来的。那是2010年下半年,正处于移动互联网爆发的前夜,当时ios和android平台作为新平台开发者也相当少。10月份,一款叫做kik messenger的应用发布,直接导致2011年成千上万的类kik应用被研发出来,这其中就包括后来大红大紫的whatapp、米聊、line、kacao等。

kik messenger的火爆源于它的极致简单跨平台,它是为移动而生的应用,几乎不花任何力气就在很短的时间基于手机通讯录建立起自己的关系链,这对于很多web20时代的SNS应用来说,是不可能做到的。很短时间内,它就以席卷一切的气势开始革命,首当其冲的是各国的运营商们,这个跨平台跨国界的手机通讯工具,它可以在不同的手机终端实现文本的消息沟通,秒杀短信和彩信体验,它的体验之极致,甚至让当时的手机巨头——黑莓——在自己的手机平台封杀它。

在kik刚出来的时候,广州研发中心、QQ邮箱研发团队的老大张小龙就预见它的火爆之势。小龙当时给马化腾发了一封邮件谈这个事情,并申请广研团队做一个类似的应用出来。而马化腾也已经意识到有10年历史的QQ 并不是这个时代最需要的手机IM,一款更适合手机使用场景的IM 是需要的,不仅仅是用户需要,腾讯也需要。他对此表示赞许,并仿照“微博”为这个应用起了一个名字——微信。

最初微信被定义为一款通知工具,主要有3个功能:

1联系人给你发信息时,它通知你;

2QQ邮箱、QQ离线消息有新条目时,它通知你;

3你在腾讯微博上收到私信时,它通知你。

仅此而已。

广研的小团队只用了不到四个月,完成了完成了微信ios10版本的开发,于2011年1月21日正式发布。10版界面非常简洁,功能也非常简单,主要包括文字文字即时通讯、照片分享、更换用户头像三个方面,但是,跨平台交流、极速轻快的楼层式对话和便捷的分享功能给用户带来了非常良好的体验。马化腾第一次使用给出了“体验很赞”的评价,然而腾讯内部的其他众多同事却并不看好这个体验简单甚至有些简陋的手机应用。

二、20和30开始,移动社交的发展

“微信的成功,除了团队的努力,时机的把我也很重要。”

在3月份,接连发了两个版本,但是用户数据依然不见起色。

很快,我们在4月初又发了第四个版本,这个版本微信的四个tab位置被确定下来,最初的四个tab分别是:微信、通讯录、找朋友和设置。其中,找朋友这个tab可以看出当时微信的急迫,在这里,系统通过通讯录联系人、qq好友、qq邮箱联系人甚至企业域名邮箱联系人等多种关系链给你推荐好友,以期在很短的时间内能够积聚到用户。

但,用户数据依然不见起色。

这时候,另外一款应用的火爆引起了微信产品团队的注意:talkbox。这个发语音短消息的应用有着与kik类似的逻辑,但语音无疑是最大的亮点。类似的功能腾讯的QQ其实很早就做过,但一直不温不火,但是当它被放到手机上之后,瞬间捕获了大量的用户。

另一方面,智能手机在这个时候开始告诉普及,尤其是iphone4的发布,以革命之势席卷了整个手机市场。张小龙此时判断:智能手机和pc是完全不同的,基于智能手机平台的功能和个人电脑上的也是完全不同的。也就是此时,微信研发团队开始意识到,要试着挖掘智能手机平台的各种可能,不断尝试利用手机天然的能力做出机制简单且自然的应用。也就是说,直到这个时候,微信研发团队开始摸准了移动互联网应用的脉搏,率先把握了移动互联网的本质。

于是,在微信团队研发人员一个多月的努力之下,微信20语音版终于在11年5月初发布了(这是正式第一版本,之前的版本都加了beta)。微信在25版本中还发布了一个重要增加用户的方式——附近的人。通过查找附近的人,使用户轻松找到身边其他正在使用微信的人。也正是这个功能,让外界第一次感受到了微信功能的强大。

当时用户对微信、米聊甚至talkbox,感觉是差不多的,大家都在谈论着这三个应用谁抄袭谁,后来米聊做了涂鸦功能,他们的同事在知乎发表文章,说静等微信抄袭。

微信给的答复是8月初的25版本,除了那个我通宵两夜的视频功能外,那个版本最大的惊喜莫过于附近的人。可以这么说,语音版奠定了微信的基础,但真正让外界感受到微信强大的,是附近这个功能。

就这样,微信开始很快甩开了所有竞争对手。到了10月份,微信发布了包含摇一摇和漂流瓶两个功能的30版本,自此,微信的地位似乎已经是无法撼动了。

摇一摇和漂流瓶两个功能,相当于给微信这个基于熟人关系的通讯工具增加了陌生人社交的功能,添加了一种新的基于移动互联网的交友方式,使产品具备了有趣好玩的特性,增加了用户互动,保持了用户粘性。

三、40开始的平台化

2012年5月份,微信发布了40版本,该版本的主要更新包括两个方面:新增加了朋友圈和开发API接口。首先是朋友圈,其实是一个基于分享的社会化网络(SNS)。试图让每个用户都参与到自己和他人的“塑造生活”的设计初衷上去,朋友圈是吸引熟悉朋友之间互动的卖点,通过朋友之间的UGC与频繁互动来增用户的活跃度,保持产品的粘性。我们也可以从下面的故事看到微信团队在研发朋友圈时的情景:

朋友圈的整个研发过程耗时4个月,投入的人力不超过十个,但却在这短短的4个月时间内,团队完成了完整的30多个版本的开发迭代,我们形象的把这个开发过程叫做回转开发流程,每天上午,开发团队通过邮件接收产品经理整理出的下一个版本功能点启动开发,傍晚的时候把功能交付给小龙和产品经理,他们在晚上就当前版本讨论分析,然后在下半夜给出新的想法甚至方向,产品经理在天刚亮的时候把想法细化为一个个功能点发邮件给开发。周而复始。

当团队决定要发布朋友圈的时候,我想大家已经到了极限了,因为那时候还有bug没有解决,小龙说:bug也是一种文化,就发了。

另外,朋友圈可以说是张小龙带领的微信研发团队一个具有创造性的发明,其体验有很多体现其产品情怀的细节。与脸书、微博、博客(空间)等的社交网站不同,微信朋友圈的设计延续了微信的双向好友关系。我们使用过后都知道,只有互相是好友关系才能查看对方的评论。这种设计使得互相的人际没有向二度关系扩散,既有效地保护了用户的隐私,有突显了微信这款产品的于其他社交产品特性。

还有一点就是,在第一个朋友圈的版本里是不支持发纯文字的,我在一开始使用朋友圈的时候,也不知道如何发送纯文字的动态,后来利用搜索引擎搜过之后才知道是要长按相机键可以发纯文字。这一功能设计得堪称隐晦,是因为微信产品团队对于朋友圈的定位就是基于分享的熟人社交平台。

张小龙说到,“回过头来说,微信朋友圈原本是不允许发文字,或者说不鼓励发文字的。不光是怕泛滥,这里有个基本的假设,要一个人写一段字的难度远远大于他发一张,对于一个普通用户来说,你让他一天写一段话出来,而且这段话还得让别人看到,他还要写得好,其实很难。我希望我们的产品是每个人都能用的,那么,是最好的介质,每个人都会发。”

后来产品团队有人提出,不能否认用户在朋友圈发纯文字的可能性,于是便在后来增加了长按相机键发纯文字的功能作为内部测试,虽然设计得很隐晦,但这个功能还是被用户发现了。但是直到现在的最新版本,初次打开微信发纯文字的朋友圈动态,仍会得到让你慎重使用,以后可能会取消发送纯文字功能的提醒。

40版本的微信的新增的第二个主要功能是开放API接口。API接口开放后,微信支持从第三方应用向微信通讯录里的朋友分享音乐、新闻、美食、摄影等消息内容,从而进一步增加用户之间的互动,同时API接口的开放有可能使得微信在将来成为一个强大的移动应用平台。

在2012年7月,微信公众平台开始内测,使得微信从一个成功的产品真正演变成为了一个平台,就此也开启了微信的商业化进程。微信公众号采用的是订阅——推送的模式,作为产品的一项功能,其设计初衷是这样的:

那么,在微信内看到的都是好友的信息,怎样看到更多丰富的内容呢?这就回到了阅读这个命题。这次给出的解决方案就是微信公众号。

四、50开始,微信平台的升级

2013年8月9日微信发布了它的50版本。这一版本中,微信团队对微信的公众平台进行了升级,分为了订阅号和服务号。其中订阅号主要为用户提供信息和咨询,为媒体和个人提供了一种新的信息传播的方式,同时也解决了用户在微信上进行长文阅读的需求。服务号其设计旨在为用户提供服务,企业利用可以自定义菜单,并获得如支付等高级接口的使用权限,从而给企业和组织提供更强大的业务服务能力与用户管理能力。为了避免过多的订阅号信息对用户产生干扰,微信产品团队还分别对两类公众号做了特殊规定和设计,如分别规定了每天的消息发送条数,并特别对订阅号的消息做了折叠的设计。

50版的微信还增加了表情商店,扫一扫,游戏中心,微信支付等功能(还有很实用的收藏功能)。首先是表情商店,在这里有各式各样的表情供用户选择,能够满足用户的视觉化的沟通需求。其次是扫一扫功能,你可以扫条码、图书和CD封面、街景,还可以翻译英文单词。扫条码、扫图书和CD封面成为用户查看购买商品的入口,扫街景,增加了产品的趣味性。第三是游戏中心,在这里你可以和你的朋友们一起玩游戏。打飞机,再普通不过的一款游戏,由于朋友排行榜的存在,使这款游戏在上线第一天就像病毒一样疯狂传播着。

游戏是第一个商业化项目,也是目前最成功的一个商业化项目。2013年的飞机大战打响了微信商业化的第一枪。

最初小龙只打算做一个坦克大战的动画作为50的启动页,不过那会我开小差在玩游戏引擎,顺便就做了一个飞机大战的demo。小龙看了之后觉得不错,让我们尝试把它做的更完整更有意思一些,于是我拉了一个小团队开始做这个事情,我们奋战了一个多星期,几乎每天都通宵的节奏做了四个不同的版本,美术、音效、玩法经过激烈的pk迅速换了一遍又一遍。我们甚至做了商业化的策划。

飞机大战的稳定性是很关键的,因为每一个用户启动微信都会先玩这个小游戏,如果出问题,所有用户就进不了微信了,当时我的领导甚至对我说,如果稳定性有问题,你可以卷铺盖走人了。

经过小伙伴们一个月的努力,最终飞机大战获得了不错的效果。那年回家,一路上听着不断的“啾啾啾”的枪声,还是挺过瘾的。

如果说飞机大战的游戏打响了微信商业化的第一枪,那么这一版本中首次出现的“微信支付”功能更是正式开启了微信商业化的大门。通过绑定银行卡可以在公众号、扫二维码、App中实现一键支付,如此就满足了用户快速便捷安全的移动支付需求。这一支付方式的出现使得微信游戏平台的游戏付费下载、移动购物分成、购买收费表情等盈利方式变得清晰可见。

2014年春节前夕,微信52版本发布,微信群中抢“新年红包”就呈现刷屏之势,并随着春节假期的到来愈演愈烈。用户在微信群中疯狂抢红包,不仅仅是一个社交产品的成功,背后是微信支付的爆发。很多用户为抢红包发红包而在微信支付中绑定了储蓄卡,使微信支付的用户增长形成了一个高潮。一个春节过去,微信支付可能在很短时间内赢得几何级数增长的新用户。

这是一次极为成功的产品运营活动,微信支付的火爆使得微信迅速抢从支付宝口中抢占了“移动互联网支付”的一大块市场份额。另外,微信支付还为用户和商家各种不同的移动支付场景,如实现了刷卡支付、扫码支付、公众号支付、APP支付,并提供企业红包、代金券、立减优惠等营销新工具等。

五、微信生态,连接一切

截至目前,微信的最新版本已经到了625。微信自2014年10月14发布的60的版本以来,逐渐放缓了其更新迭代的速度,今年5月份推出的微信62的版本,除了推出了微信小视频的功能外,其新推出的内容包括微信运动以及表情开放平台。微信运动是微信硬件平台的一次正式试水,而表情开放平台则是微信作为微信开放平台的一个组成部分。

腾讯公司高级执行副总裁、微信事业群总裁张小龙强调说,“我们希望基于微信能够搭建一个生态系统,但不是我们自己把生态系统里面的每一块都给做了,简单地说,我们希望建造一个森林,而不是建造一座自己的宫殿,我们希望培育一个环境,让所有的动植物在森林里面自由生长出来,而不是我们去建造出来。”

微信官方开放生态已经涉及微信支付、硬件开放平台、公众平台和企业号等业务,微信正在从一个人与人交流的工具,逐渐进化成一个连接人、硬件和服务的生态系统,通过“连接一切”带来人体的延伸、生产效率的提高和日常生活的便捷。

从2011年1月21日微信正式推出至今,微信像一张大网,将每个人同其他人更紧密地连接在一起。微信客户端通过语音通话、摇一摇、附近的人、小视频、朋友圈分享等基础服务功能,让地理上的距离不再成为人与人交流的障碍。

同时,公众订阅号的推出,让再小的个体,也有自己的品牌。大量自媒体的涌现,使得普通资讯的生产、发行和消费摆脱了传统印刷技术和PC互联网的桎梏,效率显著提升。

微信硬件平台是微信继连接人与人,连接企业/服务与人之后,推出连接物与人,物与物的IOT解决方案。通过微信硬件平台,微信进一步尝试将人、设备和服务连接在一起,让用户的体验不再拘泥于当时当下。与手环、电视、空调等智能硬件的互联,以及滴滴打车、大众点评等线下服务的接入,使得微信像水和电一样渗入人们日常生活的方方面面。“连接一切”正在成为现实。

2013年11月18日,腾讯微信在广州举行首次“微信·公众”合作伙伴沟通会。微信在会上提出“平台化,公开化,自助化“的理念,表明微信的开放体系初步形成了框架。迄今为止,微信开放平台包括微信公众平台微信游戏平台、微信硬件开放平台、微信表情开放平台等。另外,微信集成的大量线下服务的接口,使得微信以微信支付这个为支点,成为了移动互联网的重要的流量入口。现在进入微信钱包,我们可以刷卡转账、手机充值,通过理财通购买理财服务,还可以给信用卡还款,通过微信公益方便参与公益事业;可以购买**票,可以通过京东和美丽说的入口购物,也可以通过滴滴出行的入口打车,通过携程旅游的入口购买飞机和火车票,也可以通过大众点评的入口获得各类生活服务;另外,还能通过生活缴费的服务缴纳水电煤宽带和固话的费用,通过城市服务的模块获得医疗、交管、工商、司法等公共服务……微信一个应用连接了与人们生活有关的各种服务,已经让我们看到了何为“微信,是一个生活方式”。