在智能手机普及之前,互联网的功能还很有限,人们的使用时长也不长。就算是Facebook这样的霸主,在那个时代无非也就是诸多网页中的一个。人们没有把那么多数据交给互联网公司,离线和在线状态还非常分明,远不像今天绝大多数人实际上已经永远在线,就算在飞机飞行途中也未必能获得清净。在那个时候,虽然互联网的模式早就是免费+广告,人们出卖的隐私数据仍然是相当有限的。然而几年之后,事情就变成了完全不同的样子,数据和流量变得极度集中,使得泄漏隐私和通过大数据计算给不同用户标定不同价格成为可行。

在2010年之前,人们在互联网上主要使用开放协议,我们用电子邮件传递消息,用IRC/Gtalk(XMPP)聊天,用浏览器上网浏览信息,通过链接把各种资源连起来。开放协议意思是每个人都可以架设自己的服务,只要按照协议规范来,就可以让不同人架设的服务器之间正常传递信息。今天,区块链兴起之后,人们管这种模式叫做“分布式”,或者“去中心系统”,但仅仅几年之前,互联网本来就是去中心和分布式的,并不是像今天这样所有数据和流量都掌握在几家巨头手里。这几年到底发生了什么,什么杀死了分布式的互联网,使之变成了商业垄断为主?

2009年,智能手机的兴起,不仅仅是提供了一种新的使用方式,同时以这种方式使得大量的传统网络通信协议不可用,前者被广泛讨论,后者人们往往意识不到。简单来说,智能手机的兴起至少杀死了IRC/XMPP这样的及时通讯协议,部分消灭了HTML/URL这种互联网基础协议。讲述这段历史不可能跳过苹果这家公司,在iPhone出现的年代,苹果还是一家有特色但不重要的公司,但它几乎是凭自己一家公司开启了整个移动互联网时代,没有苹果的一系列决策,就没有移动设备的普及,在这个过程中,有意或者无意的,苹果也在另外一方面推动了历史,使得我们进入了一个垄断更密集,更封闭,但是更方便的时代。

先说第一个问题,IRC/XMPP协议是如何被杀死以及如何改变生态的。

很多人指责微信是个封闭的花园,这个指责没有问题。但解决方案是什么呢?这些人提供的解决方案通常是使用另外一个商业软件(Whatsapp/Telegram/iMessage)来代替微信。这时候如果你提出一个问题,为什么不使用一个开放协议,比如IRC或者XMPP来代替微信这种聊天工具,对方给出的回应通常是“那些太难用了,普通人不会用”。

这个回答是错误的。

正确的回答是:移动互联网时代开始之后,所有的传统及时通讯协议都变得不可用了。不是因为难用,是因为在技术上不可用。

传统的聊天协议,都包含了在线和离线状态。用户使用之前,首先要完成登录,标记在线状态,建立一条到服务器的永久链接,然后才可以发消息。(如果你用过MSN的话应该会比较形象理解这个过程)。移动互联网开始之后,诺基亚S60和Android使用这些协议尚且没问题,但iOS早期版本做了一个不可思议的举动,这个系统上没有后台进程,一个应用进入后台或者关闭屏幕之后,所有链接都会被系统断开,但是系统会接收推送消息,帮助用户再次唤醒应用。早年诺基亚的粉丝是一直嘲笑iPhone这种设计愚蠢“一个没有后台进程的智能手机怎么能叫智能手机呢?”,事实的发展证明他们错了,iPhone成功了,其他人都死了。为了待机时间和兼容当时运算能力仍然比较低的移动设备,无后台进程,关闭链接,这些都是必要的优化,不然手机待机时间会快速下降,使之不可用。

但这种措施给传统通讯协议带来了巨大的挑战。没有后台进程(以及设备在移动带来的网络切换造成的网络链接不稳定),造成了IRC和XMPP这种有在线状态的协议要频繁处理上线下线,用户体验极差,链接被关闭或者网络切换时,对于服务器表现为Session超时,在桌面互联网上这是一种异常状态,需要等一段时间之后才能清理掉,但在移动设备上这是频繁发生的,这导致了服务器堆积了大量超时未释放的Session。这使得服务器难以负荷。当时很多XMPP服务器上每天处理的链接请求甚至超过每天传递的消息数量。

这样的服务当然不可持续下去,但是开放协议的修改效率是很低的,需要社区经过广泛讨论才能制订出新的标准,然后各种开发者和厂商才能支持它。移动互联网来势凶猛,所有人都知道,这是未来,人们等不及了。

谁填补了这个空白了?是那些意识到了过去的开放协议缺点,又有很好基础的人。今天我们已经知道了最终的胜利者,他们是:基于邮件投递模式的微信,基于短信投递模式的whatsapp,基于大规模分发地震等紧急消息模式的Line。它们有一个共同点,都是基于某种大规模的消息投递模式开发的,没有在线和离线状态。这个问题在后面的很多年,甚至一直到今天还有人会提出,“为什么微信没有QQ那样的在线状态?” 张小龙回答过这个问题,答案是“手机是永远在线的”。这句话是产品逻辑,同时也是技术逻辑。除了产品上用户期待是手机持有者随时能收到并回应,技术上也必须采用更轻型的“消息推送”类协议。这三个产品出现的时间是:

  • whatsapp: 2009年
  • 微信: 2011年
  • Line: 2011年

都是在2010这个关键时间点前后出现的。

苹果消灭后台进程的原因当然不是为了杀死传统互联网协议,而是为了省电和移动设备可用性。但是这种突然的转变事实上造就了一段足够长的真空时间,从而使得传统开放协议更新协议的迭代模式不可持续。新的商业公司拿到MQTT这些协议包装一下,就成了自己的私有封闭协议,他们没有和其他产品互相链接的意愿也没必要,也就不会再跟随开放协议。苹果以一家公司之力,通过一个小小的决策,直接改变了互联网发展方向,造就了新的巨头,进而这些巨头又影响和改变了人类社会。顺着这条脉络看到今天,简直是壮观又可怕。

做为一个对比,IRC协议从2016年开始讨论下一代标准irc v3,其中包括了一系列移动设备需要的功能,包括无状态链接,推送消息,历史记录……等,但到现在2018年,距离可用还颇有距离。等到有好用的客户端产品支持不知道要到哪一年了。和微信的成长对比一下,商业公司的优势的确太大了。

然后说第二个问题,HTML和URL是如何几乎被杀死,被URL连起来的互联网是如何变成一个个孤岛的。

如果你同时使用桌面互联网和手机互联网,也许能感觉到这是两个逻辑完全不同的世界。前者仍然保持着页面+链接模式,后者是完全不同的一种模式,你用的是一个个App。前者你仍然可以自由的挑选组合自己需要的信息,接受来自不同渠道的信息并且组合它们。但是后者,只有一个个巨型app做为入口,接受他们提供的被排序或者没被排序的内容。使用桌面互联网的人,仍然在使用网址(URL)这种东西,别人通常会贴一个链接给你,你在浏览器里面打开它就可以使用了。但在移动设备上,别人给你一个链接,似乎没什么地方可以贴,在这里,功能是一个个app组成的,浏览器在手机上不是核心位置。桌面互联网上URL和Link使得不同的网站链接在一起,用户使用互联网的过程是通过链接在不同网站之间无缝跳转的过程。但在移动互联网上,App之间是割裂的,它们之间几乎没有跳转关系。仅有的一些链接应用的场景,也遇到了各种商业竞争导致的干扰,中文有微信和支付宝互相干扰对方的链接跳转,英文有Twitter阻断Instagram链接,Facebook/Whatsapp阻断Telegram链接。在移动互联网上,不同品牌之间关系是对抗,而不是桌面互联网的合作,当人们开始使用这种以App为核心的系统的时候,桌面互联网的核心,浏览器/HTML/URL就已经死了一半了。

这到底是怎么发生的?移动互联网和桌面互联网都叫做被叫做“互联网”,这是一个非常具有迷惑性的说法,它使得人们下意识认为移动互联网是传统互联网的延伸,实际上不对,这是一个完全不一样的世界,应用完全不一样的规则。

2010年,中文和英文业内同时有过一场大争论,叫做HTML5和原生app之争。争论这两个东西哪个更有未来,2008年虽然苹果已经在iOS中提供了App Store,但是实际上的快速增长是从2010年下半年才开始的,这场争论不早不晚,确实是一个重要时间点。这个争论的重要意义在于,它最终决定了传统互联网的html页面+链接,以浏览器为中心的模式是否能生存下去。争论的另外一方,原生app,提供了一个完全相反的模式,它没有页面,没有链接,数据被封闭在app之内形成孤岛,以传统互联网拥护者看来,这是历史的倒退。我们本来就是从数据封闭在每个软件之内的时代走向的页面+链接的互联网时代,怎么突然就要倒退回去了?

事实证明了人们接受了App,抛弃了HTML和浏览器。App Store里面,几乎没有什么App是显式表达链接存在的,虽然数据在RESTful API这一层仍然以链接形式存在,但是从App这个入口内,通常没有输入链接的地方。想把App中看到的东西分享给朋友,如果这个App本身没提供分享功能,几乎是没办法的,只有截图一条路。虽然后期iOS提供了一系列分享相关的API,但是这种模式就决定了,URL所代表的“唯一定位符”,“每一个唯一的资源对应一个URL”这种模式在app的世界里已经消失了。HTML和App之争也很快就结束了,2012年,曾经拥护HTML5的Facebook投降认输,重新开发原生app,最终在后面的几年里一路猛涨成为了中文世界之外的巨头。

2014年,Facebook收购了聊天工具Whatsapp,人们相当恐慌,所有的数据都集中在一个巨头手里这还了得?少部分人转投Telegram,这个事件在Telegram用户增长历史曲线图上清晰可见,是早期Telegram获得的最大一波用户增长。人们的担心是有道理的,在PC互联网上,厂商获取的信息少很多,那个时代最准确的广告投放方式,是Google提供的基于关键词的广告,因为搜索关键词透露了用户明确的意图。但移动时代到来之后,通过App获取的用户数据种类就多得太多了。同样也是2014年,Facebook发布了跨应用广告网络,号称可以跨越应用,从网站到手机App来统一完成用户画像,2012年Facebook收购的照片应用Instagram,使得Facebook在移动平台上可以获得更多的用户和数据,其他厂商没有这种优势。

之后Facebook逐年增长的广告收入告诉了其他厂商,这样做是对的。社交关系+最大限度获取用户日常活跃数据,最终可以转换成巨额广告收入。于是所有厂商都沿用这个模式,用尽办法去获取能获取的每一条用户信息,无论是否之前被认为是用户隐私。由此带来的一系列“应用滥用权限”,是最终用户能感受到的表面现象,背后的原因,就是这个尽量多的获取数据,转换成广告盈利的模式相当有效。

到了这两年,广告网络已经准确到前所未有的状况,某些情况下已经不是广告追着人走,而是广告先于人一步出现。这一套用户画像模式威力巨大,不仅可以准确投放商业广告,还可以投放政治宣传,最终影响人的社会行为。Facebook数据泄漏影响了美国大选,这不是竞选失败的一方找理由,这就是真实发生的情况。同样的道理,广告准确到这种程度的时候,普通用户已经难以理解背后发生了什么,干脆按照奥卡姆剃刀原则,找了一个最简单的解释:这些科技厂商在监听我。

不采用这一套模式的移动互联网产品,差不多都死了。今天流行的这些App,无论是Facebook/Instagram,还是中国的微信/微博/头条/抖音/快手…都有一个共同的形容词:“刷的停不下来”。这种停不下来的背后,是这些App吞噬了用户的使用时长。在手机的小屏幕上,通常情况App之间是零和竞争,被这个App抢走了,别的App就没了。于是拿走用户数据越多,越准确的App就会占领更多的时间,获得更多的盈利同时顺便挤死对手。这里不再有互相链接的互联网了,每个App本身就是世界的一部分。

如果回到2010年,回到HTML5和App之争的时间点看,还有其他可能性吗?其实仍然是有的。2012年Facebook宣布放弃HTML5 app的时候,说过理由:“浏览器性能太差了,无法负担应用的需要。并且还说了希望各厂商改进浏览器”。理想情况下浏览器厂商会竞争,推出性能更好的浏览器,但现实情况很悲惨,苹果很长一段时间内iOS系统上不允许使用其他浏览器内核,必须只能使用iOS自带的Webkit内核和js解析器,并且在iOS9之前第三方浏览器不能使用JIT引擎,所以效率永远比Safari低一个级别。后来这种限制稍微放宽了一点,性能上可以和Safari一样了,但安全模型仍然不同,功能上还有很多限制。这些限制都导致了第三方浏览器不可能在iOS平台上有所做为,只能跟着苹果缓慢残缺的步骤走。尽管在PC市场上Chrome高效的V8引擎已经彻底改变了浏览器市场的局面,使得一系列W3C标准可以落实被用户使用,但在iOS上仍然是没有办法的。

当然,Chrome还是接受了这种羞辱,在iOS上使用和Safari一样的内核,受更多的限制,但是即使如此,Chrome仍然表现比Safari更出色。凭借对Google相关服务支持更好,勉强也在iOS上获得了足够的用户。但是其他独立浏览器厂商,比如Firefox可就悲惨了,苹果即使后来放宽了这个限制,也只允许使用WebKit内核,不允许使用Firefox自己的内核,Firefox就没存在价值了。当然过了很多年,Firefox也上了一个使用WebKit内核的版本勉强在iOS上占了个位置,但这有什么用呢?在Android和PC上,Firefox的独立引擎性能是能和Chrome这种怪物抗衡的,在iOS上不存在性能的竞争,大家都受一样的限制。存在一个独立的浏览器引擎可以保证整个行业是中立和标准的,Firefox标准化的更好,在浏览器里面加入厂商专有内容的动力更小,考虑到微软专属的IE4曾经如何拖累了整个行业,保持Firefox独立浏览器占据足够的份额,是保持整个互联网世界开放的重要基础。

很难说苹果刻意杀死了浏览器厂商,但客观上,苹果的限制,以及很长时间内iOS自带的webkit内核和JS引擎效率低下(比同时期Chrome内核低几个数量级),使得HTML5 app难以获得流畅的用户体验,最终结果就是导致HTML在移动平台应用竞争中失败,Web app成了一个不可行的想法。苹果确立了以App和App Store分发为基础的移动设备事实上的标准,其他厂商也都纷纷跟进。再也没有人想在移动设备上复制更开放的传统互联网了。

 

Share this page

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料