平台邻接论

2020-07-05 11:20:39

TL;DR:如果网络平台增加了新功能,这重要吗?如果是这样的话,是哪几个呢?网络是一个元平台。与其他元平台一样,网络的兴衰程度取决于它能完成我们期望的大多数计算机所能完成的最大份额的事情。在努力避免无关紧要的情况下,与当前能力集的毗邻提供了一种有纪律的方式来考虑下一步在哪里投资。如果运行时分发受阻,竞争就会步履蹒跚,相邻的功能可能无法解决。随之而来的是生态系统的衰退,并最终崩溃。苹果和Mozilla对新功能带来的风险摆出的姿态,与公认的现有原生平台风险不符。出于不同的原因,他们都在努力把网撒在琥珀上。如果他们成功了,我们都将失去一个值得期待的未来。

Chrome‘s Project Fugu🐡是谷歌、微软、英特尔、三星和其他公司之间的开放合作,旨在安全地将本地开发人员期望的功能带到网络上。亨里克关于我们工作的文章特别清晰地阐述了新的、看似抽象的特征的具体价值。允许一些受信任的Web应用程序子集访问串行端口(在用户/管理员同意的情况下)不是学术上的;它正在帮助Henrik以更低的成本提供医疗服务。苏兹·辛顿在WebUSB上的演讲一针见血:随着网络变得更强大,所有类别的软件都会突然从无摩擦部署、更高的安全性、更好的隐私和更有意义的用户控制中受益。毕竟,这些都是浏览器竞争的资产,在这个过程中让用户受益。

我们从14年的Project Fizz开始了这条路。这项(移动优先)工作增加了PWA的安装性、推送通知、网络蓝牙、WebUSB和后台同步。河豚🐡通过强大的API将我们的范围扩展到桌面和新的应用程序类别-从编解码器到窗口控件到对串行和HID设备的字体访问-这一列表看起来可能像一个半随机的抓取袋。回想起来,在没有上下文的情况下,我们在Fizz中交付的功能也可能看起来是随机的。[1]网络力量的扩张有时看起来令人恐惧、反复无常,或者分散了开发人员面临的真正问题的注意力。[2]。

我们面临着公平份额的回推,通常来自其他浏览器引擎,通常笼罩在隐私言论中[3]。那么,为什么要这样做呢?为什么要通过亨里克强调的那种挖苦评论呢?既然有一张没完没了的清单,需要用现有的一套设备来修复,为什么还要冒这么大的风险去开发新功能呢?

那些声称网络不需要它的人总是指出,网络已经在做的事情带来了成功,就好像它在逻辑上是连贯的一样。但这是真的吗?为什么浏览器只使用HTTP、MIME编码一组固定的数据类型以及相应的(不可扩展的!)。表单元素,解码(但不总是编码)流行媒体格式的子集,并将其与用于布局文本和绘制框的约束求解器结合在一起?[4]哦,它应该使用Lisp-in-C&C-Cloth进行必要的编程。

回想一下,浏览器出现在90年代末普遍提供大量服务的平台之上:

在这个时代,网络并不是唯一的元平台。元平台的存在是为了在它们的主机上进行抽象,提供统一的表面API来创建可移植性。可移植性减少了单平台锁定,通常(但并非总是)受到开放标准选项价值的支持。由于元平台是中间平台,它们能够提供底层平台难以复制的生态系统优势,例如更低的分发摩擦、流式内容执行、更快的平台更新和更好的安全性。这些特点表现为开发速度更快、迭代部署和企业和开发人员的拥有成本更低。为了将这些理论优势转化为实际收益,元平台需要为每个底层操作系统实现运行时。运行时需要广泛的分布,才能使元平台对开发人员有吸引力。这一点很重要,因为它是通过元平台独一无二地获得的吸引人的内容语料库,它说服用户采用其运行时,而没有任何平台开发人员能够负担得起自己构建足够多的内容来具有说服力。

在世纪之交,一些元平台实现了广泛的分发,赢得了处理以前需要本机Win32二进制文件的任务的机会。Shockwave和Flash进军脚本、图形和多媒体领域。Windows XP基础映像中的分发确保了Flash在十多年后成为桌面计算的一部分。巨大的覆盖范围,再加上On2视频编解码器的授权,使Flash多年来一直是默认的视频传输机制。

Java的出现侧重于结构化编程(包括线程)、GUI控件、网络、设备访问和图形。发行版竞争激烈,多个实现(有些绑定到浏览器)有时会使开发人员的平台变得复杂。[5]与当时的其他元平台一样,早期的浏览器插件为运行时和内容分发提供了途径。[6]Java发现了一些客户端利基市场,特别是在企业领域。由于缺乏令人信服的内容和对安全和性能的关注,它很快就退回到了服务器上。[7]。

自第一次浏览器大战结束以来,世界上大多数消费者计算机保留了基准90的功能(CD驱动器和打印机除外),同时增加了:

一些传统设备缺少这些功能中的一部分,但是,所有商用操作系统都支持它们,并且销售的许多设备都具有这些功能。大多数计算机所做的事情从一开始就大于早期Web支持的范围(特别是没有插件),而且还在继续加速。

每个计算平台都陷入了重叠的竞争之中。第一个是开发人员的时间和注意力。对于每个称职的平台策略师(恶意软件除外)来说,没有直接使用您的API在您的平台上构建的一组成功的应用程序是一个错误。开发者制作内容,吸引用户。如果支持的内容和服务的权重足够令人信服,它可以说服用户购买您的设备或运行时以获得访问权限。由此产生的平台客户群及其功能对于下一位开发人员来说要么是一种资产,要么是一种风险。随着时间的推移,这会循环进行,增加或减少平台的动量。在每一次迭代中赢得第二次竞争(安装量增长)会更容易引起开发人员的注意-前提是您的平台仍有足够的能力。

团队对每个项目的平台进行大致的排他性选择。以尽可能少的投资最大化用户体验质量和覆盖范围是开发人员证明容易学到的技能获得过高回报的理由。元平台进入这个算术时,在最大能力和性能方面有所欠缺,但(希望)能获得收益。当应用程序的基本需求能够得到有效处理,同时提供足够有竞争力的用户体验时,元平台就能赢得业务。在元平台中缺少域中的关键功能的情况下,应用程序根本不会出现在那里。这会导致生态系统的(每个操作系统)更高的开发、采购和维护成本(通常将收益集中到资本充裕的较少参与者),并导致其他无谓损失。[9]。

我们的理论元平台从左边开始(时间0),与大多数计算机相比,它具有相对完整的功能集,但远远少于领先优势,而且可能比所有商用操作系统提供的功能落后一些。将会有一些应用程序不能尝试,但大多数可以尝试。开发者每时每刻都在不确定的情况下做出决策,平台寿命越长、越成功,开发者押注的风险就越小。假设我们的元平台分布广泛,那么对于大多数开发人员来说,这是一个很好的选择。

在每一段时间里,硬件和操作系统供应商都在紧锣密鼓地前进,增加功能。一些奇特的功能变得司空见惯,在已部署的设备群中得到广泛支持。当操作系统和硬件部署基础集成这些组件时,大多数计算机可以执行的操作集被扩展。这通常由硬件集成率和设备更换率决定。这些进步的命运占据了科技媒体(可悲的是,还有开发人员)的大部分注意力,这要归功于寻求在高端市场差异化的供应商的营销(高端市场既有利润率,也需要合理的理由)。[10]。

在我们图表的右侧,曾经看起来不错的元平台突然变成了遗留技术。由于跟不上大多数计算机的能力,甚至无法以恒定的速度增长,以至于相关性差距的高度保持不变,做出选择的开发人员可能希望重复使用他们从押注于元平台的早期周期中获得的知识,但很可能需要绕过突然停滞的遗留系统。

但是,当现实中的趋势线几乎随着时间的推移而保持不变时,为什么会感到突然呢?

考虑一下产品和服务的再开发周期。如果团队只在图表的开始、中间和末尾重新评估他们的堆栈选择,我们的元平台将看起来从令人兴奋的能力,到轻微的担忧(但仍然超过能力),到职业和产品风险。在我们的模型中,这些时刻中的每一个都是随机经历的,最后一刻呈现出以前未对冲的风险。开发人员的FOMO可以自我实现;退出平台与其说是分析的结果,不如说是集体和个人的自我剔除。任何10名随机挑选的程序员的Twitter简历都将确认平台及其社区的身份特征。与这些身份的决裂是尖锐而痛苦的,导致了部落逃亡。假设能力差距没有缩小,开发人员转移他们的注意力将决定我们稻草人元平台的命运。

不过,事情不一定非得是这样的。在持续投资的情况下,没有技术原因说明元平台不能集成新功能。随着集合的扩展,以前是本机(单一操作系统)应用程序专属权限的用例可以过渡到元平台,从而获得其模型带来的任何好处。

如果我们的理论团队在我们前面讨论的时刻遇到了这张图中的平台演变,即使包括相当大的停滞期,在图表的右侧仍然是一个很好的赌注。

网络的无摩擦部署、通用访问、流执行、协作、安全性和用户选择的优势是内容和服务的模式优势。它们一起让软件变得更好。

软件转向网络(如果没有受到糟糕的浏览器和/或不合情理的政策的阻碍),因为它是一个更好的计算版本:kwokchain.com/2020/06/19/ly-figma-win/很少有前端人员在同步协作技术上投入巨资,这真的让我感到惊讶。

但并不是每个应用程序都能实现这一飞跃。考虑一下大约2000年的网络可以处理的一组功能:

从1990年的纯文本文档格式开始,Web在第一个十年中以迅猛的速度增加了功能,但并不是以有原则的方式。无论早期浏览器黑客的动机是什么,一些用例非常接近学术信息共享的原始需求,其中包括:[11]

到1995年,该系统的功能足以支持Ajax-y电子邮件,但体验并不完全符合当时用户的期望。[12]。

一旦AJAX可以跨浏览器使用,只有最后两个被证明是具有挑战性的,这引发了桌面电子邮件向网络的不可阻挡的转移。有些事情从来没有解决过。基于Web的客户端仍然不能直接与IMAP或POP对话,并且Web客户端的外观与任何操作系统都不是1:1。拥有漂亮的功能并没有对采用率产生太大影响。[14]考虑到安全性、成本和易用性,网络的模式优势远远弥补了外观上的不足。只要有足够的能力,就可以通过模式转换释放巨大的价值。

其他用例不能用早期的自动技术解决。WebEx、Skype、Tandberg以及许多其他视频会议解决方案在本地出现,直到最近才进入网络。他们需要早期浏览器能做的事情,但也需要更多。呈现文本很重要(比如登录屏幕),但没有一款产品不具备低延迟、自适应编解码器、联网和摄像头/麦克风接入功能。

从第一次浏览器战争结束到今天,我们添加了相邻的功能来解锁这一领域的核心用例。快进到现代浏览器,Zoom、WebEx、Google Meet、Jitsi,甚至Skype在Web上运行良好(也是最安全的)。

我们还没有涵盖这些工具原生版本的每一个可能的功能,但这些功能足以实现从桌面原生应用程序的大规模转变;这一转变仍未完成,我预计这种转变至少还会持续五年:

这是平台邻接理论的核心环路。平台要处理的下一组重要用例通常不仅仅是对其已有功能的改进。[15]。

要使平台获得成功,需要释放尚未得到服务的用例。这意味着找到将您的平台已经擅长的东西与少量缺失的功能相结合的需求,因为对新领域的大爆炸投资很少会产生反馈循环和合作伙伴参与,从而帮助您在此过程中做出数十项关键的修正。

现在,视频会议、屏幕共享和流媒体游戏(例如,Stadia和GeForce Now)正在发挥作用,它们将各种形式的输入捕获(鼠标、键盘、游戏手柄和HID)与编解码器、网络和窗口管理改进相结合,以取代大量使用的本机应用程序。

生产力应用程序具有类似的质地,无法访问字体、文件和高端计算.。但不会持续太久。谷歌地球、SketchUp、Figma、Photopea以及更多的公司都开始探索功能更加丰富的可能性。

对于平台制造商来说,邻接关系既是路线图,也是一面警示旗帜。与其直接追逐AAA级游戏,我们应该找到那些可以通过我们已经拥有的大部分内容以及少量关键附加功能来解锁关键体验功能的游戏细分市场。IDE和开发工具也是如此。公用事业也是如此。与其直接支持不到1%的已部署设备上提供的硬件功能并由单个操作系统支持,我们应该专注于大多数计算机可以执行的功能中已有的功能,这些功能可享受广泛的操作系统支持。

学习和纠正课程所需的时间是基于邻接关系的增量加法的次要优势。新的API总是有问题的,当与在新开放的空间中取得成功(如果是开拓性的)的买入的开发人员交谈时,解决问题、消除性能悬崖和理解下一组相邻的需求是最好的。

今天,有一批浏览器供应商不希望将Web平台扩展到覆盖相邻的用例,也不希望有意义地弥合向移动的转变所带来的相关性差距。

苹果决定不实施一长串功能,原因可以归结为它的某些变体很难实现,我们不想尝试。当然,这对用户和开发人员是不利的,因为它为安全性低得多、中介少得多、隐私保护少得多的原生软件创造了一个更大的市场。[16][17][18]。

回到我们停滞不前的元平台稻草人,我们应该期待什么结果?

在任何短期内,都不会有太大影响。请记住,开发人员不会觉得趋势是一组平稳的微小增量。平台选择的凹凸不平的性质使得短期差距增长不那么令人担忧,特别是在历史上停滞期之间有快速追赶阶段的情况下。此外,现状不会很快改变,而网络是为数不多的几个代际计算平台之一。但也有其他平台已经相对废弃,一旦死亡的气息笼罩着平台,其使用量降至模糊门槛以下,紧随其后的是急剧的生态系统崩溃,降低了平台未来的承载能力。这种厄运循环效应甚至排除了经济增长的中期复苏。重要的是,崩溃并不等同于灭绝;大型机几乎没有消失,但主要由Fortan和COBOL程序员解决的用例集已经在很长很长一段时间内固定在一个狭窄的范围内。一旦生态系统崩溃,市场认知和技术能力都会阻止经济恢复增长。没有人买得起他们想象不到自己开的车。[19]。

要将一个充满活力的生态系统推向崩溃,需要付出很大努力。技术生态系统是复杂的系统,具有内置的弹性层次。不幸的是,已经做了很多事情来加速网络的无关紧要。

像Cordova和Electron这样的工具是相关性鸿沟的表现,如此巨大,如此痛苦,以至于开发人员愿意放弃Web部署的一个(或多个)核心好处,以换取(假定)必要的发现和能力访问平价。

声称相邻的API很少使用是(慷慨的)令人困惑的。[20]单个API的低使用率并不能说明它造成的差距大小,也不能说明无限制增长的不可寻址用例的累积影响。这样的说法也与开发人员已证明的需求和本地应用程序开发人员可用功能的广度严重脱节。

在元平台上构建的开发人员相互竞争,但也有直接构建到底层操作系统API的服务。苹果声称(同时)原生应用开发者应该继续享受近乎无限的功能优势,iOS上有意义的引擎竞争不值得期待。[21]不要紧,一场比赛可以展示愿意冒着声誉和市场地位的风险来找出答案的浏览器如何安全地提供功能。[22]令人印象深刻的是,这些论点是在十多年来提出可行方法的背景下板着脸提出的。[23]。

开发人员对可行的元平台的合理期望不是立即访问高利润率、低容量设备的每一个功能。然而,将大多数计算机可以做的事情稳定地集成到更安全的、基于标准的、开放的、普遍可用的元平台中应该是常态。当参与者阻止元平台缩小商品能力差距时,市场中的某些东西就从根本上被打破了。iOS在美国和英国等分散而富裕的地区非常普遍,以至于苹果的反浏览器选择政策扭曲了全球市场。而且,这种扭曲的影响并不因其仅限于富人(以全球范围计算)而减弱。这就是人们塑造技术、决策和采购的过程。如果说有什么不同的话,那就是有害的影响要糟糕得多。如果网络不能与他们相关,那它就是一张废纸。

Web开发人员不会(也不应该)。

..