浏览器多样性的价值是什么?

2020-09-21 03:56:39

2019年5月,我参加了迈克·泰勒(Mike Taylor)的一次演讲,他在Mozilla从事Webcompat的工作。迈克讲述了window.event的肮脏故事,这是一个非标准的IE发明,在Konquor中被复制了,它出现在Webkit中,它停留在Blink中,现在是Mike在Firefox中的问题。这是一个很好的故事,充满了起伏和字面上的“打破网络”级别的变化,只是为了推出一个小小的功能。

演讲结束时,迈克抛出了一个很有先见之明的问题(Edge刚刚发布了Chromium测试版),从那以后我就一直在考虑这个问题:

浏览器多样性的价值是什么?如果火狐明天改用Chromium,我们会损失什么?

Mike明确表示,这个问题纯粹是理论上的,当时Mozilla并没有对此进行严肃的讨论。尽管如此,这是一个具有挑战性的想法。抛开所有的沉没成本,雇佣工程团队追逐Chrome的尾巴所需的巨额费用值多少钱?

我思考这些问题已经一年多了,并将我对浏览器多样性的感受缩小到两个主要的价值主张:

我认为Web平台最令人沮丧的方面也是它最大的资产:速度慢。它不只是慢,它是“花了10年1发货<;Main>;元素,这只是一个辛辣的<;div>;”有点慢。它是冰川状的。

当您等待一个急需的功能在所有浏览器中推出时,却发现在这个过程中花了五年时间,一个浏览器拒绝了该功能的整个前提(RIP HTML导入),这可能是令人苦恼的。最大的权衡是网络平台的功能必须接受挑战,随着时间的推移会应用更多的想法:健壮性、命名、国际化、可访问性、安全性等都有适当的时间考虑,不会像产品冲刺一样仓促通过。

慢条斯理很有价值。你用你大脑中非蜥蜴的那一面。你会做出更深思熟虑的决定。你优先考虑设计而不是即时满足。在招致堆积如山的技术债务之前,你可以检查自己的直觉,验证自己的假设。

我认为在发布之前进行足够的迭代就能产生更好的产品。因为一旦它出来了,它就出来了。没有回头路,也没有重大的API改变。标准过程的这一部分创建了一个缓冲区,以防Web平台变成一个趋势集合。我并不是说这个过程是完美的,它现在花费的时间太长了,但这一弱点也是它的优势所在。

浏览器多样性意味着浏览器供应商无法提供只对自己有利的功能(例如IE中的ActiveX、-webkit-box-reflect等)。好的想法必须是开放的,并满足无处不在的实用的伪需求。做好平台功能需要共识,而不是竞争,网络的潜力来自于合作,而不是单一的公司。

这很难量化,但如果网络的所有方面(开发、浏览、搜索、托管)都让给了一家公司,那么只需要一个高压的经理或高管一心想要达到一些OKR,就可以把他们的拇指推到网络的规模上。如果Web由一家公司管理,它将开始看起来像是该公司对Web的愿景,最终限制了它自己的潜力。在新的闪亮特征上交易短期收益,以换取长期愿景。

就今天的情况而言,要真正实现多引擎并装,需要达成巨大的共识。我知道在产品开发中达成共识的不利之处;它通常意味着你最终会得到一些过度设计的东西,并被淡化。老实说,有几个HTML、CSS和JS特性正是出于这个原因而我不使用的。

那些功能还不错,只是不是我最喜欢的。“不好”通常以单方面提供的功能的形式出现,这些功能需要很长时间才能修复、追溯标准化或撤消(例如,供应商前缀、<;Dialog>;、window.event等)。同样,一旦装船,它们就装船了。他们在平台上徘徊,在一些浏览器上工作,而不是在另一个浏览器上工作,这让开发人员感到沮丧。它会产生脆性。

企业格局是为竞争而设置的,这种竞争产生了这种差异。自由市场和看不见的手偶尔会起作用,但如果浏览器相互竞争,我们获得更好选择的机会可能比一场影响巨大的功能军备竞赛更小。但如果浏览器合作,我认为我们都是赢家。

回到迈克最初的问题…。如果所有的浏览器都切换到一个引擎,这会改变我所重视的东西吗?我不知道。

我已经在这篇文章上坐了一年多了,但上个月,随着Mozilla解雇了25%的员工,浏览器多样性的情况变得更加令人担忧。克里斯和我在ShopTalk 427上猜测,Mozilla可能会改用Chromium。谢天谢地,马科斯·卡塞雷斯在推特上打消了我们的猜测:

我们不会去Chromium的--请别再猜测了。另外,不知道你说的其他推文与我们这些留下来的人相比是什么意思?听起来你是在说我们太无能了,无法扭转局面。不太好,克里斯:(。

-Marcos Cáceres(@marcosc)2020年8月21日。

我很高兴听到这个消息,但我觉得我们的猜测是有根据的,因为在这一切过程中,Mozilla对Gecko并没有明确的承诺。裁员帖子只提到了对“社区新关注”的模糊承诺,但与此同时,我作为开发人员接触的所有部门(MDN、WebVR、DevTools等)都被大规模裁员。对于我这样一个关心这些东西的人来说,很难理解把Firefox带回来的计划或路线图。

失去火狐将是令人难以置信的悲伤。很多有才华的人,很多工作。但是,将问题抽象到非常真实的人力成本之外,浏览器多样性的价值是什么?我们会失去什么呢?

也许我们已经到了临界点。我们已经处于这样一种情况,如果谷歌想要它,那么它可以立即在多个浏览器上使用。诚然,其他Chromium浏览器可以关闭这一功能标志,但Edge、三星互联网、Opera、Beaker或Brave几乎没有动力减少功能,增加Webcompat问题。坦率地说,这会是糟糕的光学效果。

我很想被证明是错的,但谷歌似乎已经控制了路线图。还有其他令人担忧的举动,比如谷歌拒绝Metastream的Widevine DRM应用程序和AMP。但浏览器多样性的一个巨大隐约可见的问题是,如今浏览器必须是什么样子的纯粹的复杂性。正如迈克·希利(Mike Healy)所指出的那样,也许网络已经“以高昂的价格将自己赶出了市场”:

如果只有1-2个组织能够为Web构建渲染引擎,您认为就复杂性而言,Web会不会因为价格过高而几乎被挤出市场?微软放弃了,Mozilla会像你说的那样挣扎。

-Mike Healy(@Mike_hasarm)2020年8月20日

系统仍在工作的一个积极迹象是Safari、Mozilla和现在的Brave对谷歌的Fugu项目路线图中的十几个功能进行了反击。勇敢者值得注意,因为它也是基于铬的。虽然在这之后,打谷室的地板上肯定会有一些很酷的平台功能,虽然我并不完全理解提出的隐私问题(因为隐私对许多恶人来说是一个非常复杂的问题),但我不得不希望,停滞不前的进展不仅仅是企业战争,而是真诚地为了网络未来更安全、更可靠的基础而努力。

如果我们确实看到浏览器多样性的大幅减少,我认为我们就会失去故意的缓慢和我们已经到位的合作机制。谁知道会发生什么,但我的希望是,就像铁可以磨铁一样,也许铬可以磨利铬。

Adrian Roselli在推特上指出,<;main>;元素实际上是一个HTML的成功故事。它于2012年正式提出,并于2014年登陆所有主要浏览器。太令人印象深刻了!对于任何虚假信息,我深表歉意,但也值得注意的是,早在2005年或2006年,基于为其他HTML5元素命名提供信息的同一项研究,主流内容元素的想法就已经在文化时代精神中出现了。↩