小扎的心眼和李彦宏的大嘴,把互联网年经的隐私话题再一次摆到每位网民面前。如今的厂商已经不再害怕谈及隐私,反而试图正面进攻,让用户产生“你要隐私有什么用”的思考。互联网落得如此局面,一定有一个过程。而这个过程的里程碑,就是历史上那些有名有姓的产品。
我曾经写过好几篇和隐私相关的话题,阅读量都不高。这不意外,没有重大事件,通常人们不会关心这类话题。最近有几件事被引爆了,这个话题突然重新回到了人们视野中,所以可以再写一篇了。
这几件事分别是:Facebook数据泄漏事件,互联网公司是否偷偷用麦克风监听用户,以及所谓大数据杀熟。说到根本上,这几件事是相关的,背后指向的是同一个问题,即,人们到底出让了多少隐私,以及用户为什么会在不知不觉中出让这么多隐私。
在智能手机普及之前,互联网的功能还很有限,人们的使用时长也不长。就算是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服务器上每天处理的链接请求甚至超过每天传递的消息数量。
这样的服务当然不可持续下去,但是开放协议的修改效率是很低的,需要社区经过广泛讨论才能制订出新的标准,然后各种开发者和厂商才能支持它。移动互联网来势凶猛,所有人都知道,这是未来,人们等不及了。
网上还能找到在Nokia Chat中使用Gtalk的截图,不容易
谁填补了这个空白了?是那些意识到了过去的开放协议缺点,又有很好基础的人。今天我们已经知道了最终的胜利者,他们是:基于邮件投递模式的微信,基于短信投递模式的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在移动平台上可以获得更多的用户和数据,其他厂商没有这种优势。
Telegram Geek网站做的用户历史数量统计图,注意2014年4月份的用户数量,2月份的时候Whatsapp被收购
之后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分发为基础的移动设备事实上的标准,其他厂商也都纷纷跟进。再也没有人想在移动设备上复制更开放的传统互联网了。
独立浏览器引擎只剩下了Firefox凭借庞大的历史积累的粉丝群体,勉强抗到了今天。2013年,我在给纽约时报做技术顾问的时候,曾经和他们讨论过是否可以以Web app做为移动设备的核心,因为众所周知的原因,大家都心知肚明它的App必然没法在中国地区通过App Store分发,当时ft.com主推Web,在浏览器里面实现全部功能(2011年FT和苹果因为订阅用户发生了纠纷,就此FT放弃原生app,有点类似公众号打赏分成之争),但再三比较之后,我们最后还是在Web和App之间选择了App。原因和Facebook一样,Web应用难以满足需求。这件事最尴尬的地方在于,Android上浏览器体验不错,有好的多性能也高的多的浏览器,但Android上分发app限制不大,就算不通过Store分发,仍然可以自己下载apk安装,这种情况下如果不是为了情怀,倾向Web app的动力不足。iOS上只能通过Store分发,在这里使用Web app可以绕开分发的限制,但同时浏览器体验非常差,几乎是不可用的,开发Web app意义不大…
ft.com还一直维护着一个如何开发HTML5 web app的教程…可惜没多少人真的和他们一样这样做
Web app有没有成功的可能性?到了最近微信倒是给出了一个证据:微信小程序就是HTML5 app。历史绕了一圈之后,它在另外一个巨头的围墙内复活了……尽管微信小程序的模式仍然是需要审核上架的Store模式,但是,它毕竟是HTML5 app,这足以说明如果有合适的条件,HTML5App曾经是有可能战胜原生App的,如果HTML5胜利了,今天的移动互联网理应比我们现在看到的开放的多。
和前面所说的移动互联网杀死聊天协议最终导致改变了人类社会一样,以苹果为主要推动者的移动互联网,严重倾斜于App模式,有意或无意的使得基于页面和链接的传统互联网模式在移动平台上消亡,从而推动了收集更多数据的广告商业模式发展,形成了几大超级App,在吞噬传统互联网的同时,也顺便改变了人类社会。
互联网到移动互联网的发展历史,就是人类社会放弃隐私的历史。安全,方便,隐私,体验这些概念本身都是冲突的,这些年互联网的发展,是充分使用了人类“懒惰”(此处无贬义)这种特质,形成了今天这样的商业模式,这是人类与生俱来的特征,难以被打破。前面说了很多苹果在这个过程中起到的作用,但这并不是苹果的错,苹果所有的做法在那个时代都是正确的,这些办法综合起来让体验和耗电量达到了平衡,使得移动设备变得可用。Push唤醒App、力推App模式打压浏览器、杀死Flash…如果没有这些极端的办法,我们到今天可能还在使用黑莓,移动互联网时代也难以开启。整个过程中,Android虽然更加开放,但在开始的几年里面Android性能和体验惨不忍睹,用户和整个行业一起站在了苹果模式这边,我们现在看到的更封闭,更集中的移动互联网世界,是人们自己选择的结果。历史一次又一次证明了,人们在方便和隐私之间,大多数人会选择方便,李彦宏说的中国人会如此选择,这有点片面了,事实证明全世界人都会这么选。不信你看,这边Facebook闹出这么大风波,另外一边各种智能音箱的销量还在上涨,似乎没人觉得有问题,智能音箱就是一种出卖更多隐私,换取一点点方便的产品,我不否认市场上存在非常注意保护隐私的语音助理类设备和软件,但无论厂商多注意隐私保护,它为了换取方便而导致了更多用户数据离开自己的控制,这是毫无疑问的,人们不在乎。
2010年是移动互联网兴起的年代,可惜实际结果是把互联网切成了几个小块。2010年同时还是比特币兴起的年代,那个时候它开始脱离创始人的那个小圈子,被更多普通人所知,但仍然没引起广泛注意,但到了最近,区块链的热潮已经难以阻挡了,即使最近币价下跌不少,仍然是不可阻挡的热潮。区块链是这些年来除了BT下载之外应用最广泛的分布式应用,在几年之前,所有P2P系统都难逃被冠以“黑暗”,“犯罪”之名,很难成为大众话题,更难以让普通人尝试,但区块链通过资产增值的预期竟然做到了这一点,人们开始谈论它,尝试它,并且亲身投入这个领域。尽管这个领域仍然非常早期,充满了风险,但也必须看到另外一个角度,它带来了前所未有的变化。在一个人们如此在乎产品体验的时代,区块链应用使得人们愿意尝试和接受各种非常早期、不成熟的产品,重新开启了竞争,这就是未来的希望所在。