浏览器插件被低估了

Ryan

||最后更新: 2021-3-22|
Status
Tags
URL
分享者
简介
 
 
 
 
 
浏览器插件的主流观点

关于浏览器插件的讨论集中在
这些都是确实是重要的讨论,但是我们不能忽视大局
浏览器插件是一个数据平权的武器,是掌握自己需要什么软件的一根稻草,是一个值得庆祝的特殊生态系统。
 
在当今的主流软件平台中,浏览器扩展是罕见的例外,
它允许并鼓励用户修改我们使用的应用程序,以创造性的方式修改我们使用的应用程序。
  • 在智能手机和桌面平台上,这种行为从不寻常到不可能
  • 但在浏览器中,这是日常活动。
 
 
组装我们自己的软件

论点1:一旦一个软件平台达到一定程度的开放,它可以从根本上改变普通用户与他们的软件的关系。
 
通过安装四个不同的 Gmail 扩展,从视觉设计到核心功能,在某种意义上,我已经组装了自己的电子邮件客户端。
我可以开始组装我自己使用电脑的个性化方式,而不是成为一个被动的预建应用程序用户。
浏览器扩展的流行证明了许多人对定制他们的软件很感兴趣,而且这不仅仅是高级用户的爱好。
商店里有超过180,000个扩展,几乎一半的 Chrome 用户安装了浏览器扩展。(渗透率50%)
 
 
Hackable platforms, not custom APIs | 可编程平台,而不是自定义 api

 
广度
浏览器扩展有非常广泛的用例。
我个人使用 Chrome 扩展来填充我的密码,
  • 帮助我阅读日文汉字,
  • 简化 Gmail 的视觉设计,
  • 让我突出显示和注释文章,
  • 保存文章以供以后阅读,
  • 以2倍的速度播放视频,
  • 当然还有屏蔽广告。
 
这一广度的关键是,大多数扩展以原始开发人员没有具体计划的方式修改应用程序。
当日本报纸发表文章时,他们并没有考虑与汉字阅读扩展的兼容性。
扩展作者获得了创造性的自由,因为他们不需要使用特定于应用程序的 api,
而这些 api 反映了原始开发人员对于人们可能希望如何扩展他们的应用程序的看法。
 
Web 平台有一些特性可以支持这种计划外的可扩展性。
基本的一点是,传统的 web 部署风格是将所有客户端代码以人类可读的形式发送到浏览器
(源代码映射是保持这一优势的关键,因为我们发布了更多用其他语言编译或缩小的代码。)
网页的布局模式也通过鼓励标准化语义标记来提高可扩展性ーー
我的密码管理器扩展是可行的,因为网页可靠地使用表单标记来提交密码,而不是建立自己的版本。
 
即使有这些优势,它仍然需要一些聪明的技巧来修改一个网站,
而这个网站并不是为此而建立的。
但这通常是一个合理的工作量,而不是长达数年的逆向工程。
可用的扩展种类繁多,这表明扩展的作者愿意为了创建有用的软件而不择手段。
 
 
网站与浏览器扩展的开发者之间关系
网站开发者和扩展作者之间偶尔会有矛盾,
但是更常见的情况是,只要开发者不需要做任何额外的工作,他们可以接受网站以创造性的方式扩展。
扩展甚至可以让应用程序开发人员的生活变得更加轻松:
如果有一小部分用户需要一个利基请求,
一个积极的社区成员可以建立一个扩展来支持它。
通过建立一个可被黑客攻击的平台,开发者允许他们的用户从他们的应用程序中获得更多的价值。
 
 
Small tools, not big apps |小工具,而不是大应用

 
论点2:许多浏览器扩展都是通用的工具,旨在提高我对所有网站的使用。
 
类比操作系统在app生态中的作用
我可以在任何地方的每个网站上使用我的注释扩展,而不需要为我阅读的每篇文章使用不同的高亮工具。
就像在纸质文章中使用物理荧光笔一样,
我可以一次性掌握这个工具,并且通过在不同的环境中使用它来获得更多的优势。
 
在许多软件平台中,我们认为操作系统提供了跨领域的工具,而第三方提供了独立使用的“应用程序”。
有了浏览器扩展,第三方也添加了工具;
一个单独的软件就可以改变我使用所有应用程序的体验。
 
当软件以小单元构建时,它也改变了经济状况。
我使用的大多数扩展都是免费的,而且它们的功能集可能太小,无法支持成熟的业务。
然而,人们仍然选择制作它们,我从这些小小的软件中获益匪浅。
浏览扩展商店感觉更像是去当地的跳蚤市场,而不是去超市。
大公司开发的大型软件并不是唯一的途径。
 
 
 
The origins of openness 开放的起源

 
这种开放性出现在网络平台上并非偶然。
自从个人计算机诞生以来,就有一种哲学传统,鼓励人们把计算机作为一种交互媒介,
在这种媒介中,人们贡献自己的想法,建立自己的工具ーー创作而不是消费。
这个想法反映在 Smalltalk、 Hypercard 和最近的 Dynamicland 等系统中。
 
当蒂姆 · 伯纳斯-李发明万维网时,他设想它符合这一传统。“
我的愿景是建立一个系统,在这个系统中,分享你所知道或想到的东西,就像学习别人所知道的东西一样简单。”
虽然在这个过程中出现了一些小问题,但是最终这个愿景在很大程度上胜出了,网络成为了一个任何人都可以通过社交媒体平台发表自己观点或照片的地方。
 
不过,还是有一个问题。当你使用 Facebook 的时候,你是在一个有限的体验中运作。你被迫以特定的格式发布,并以特定的方式使用他们的应用程序(当然,包括看到所有的广告)。除了浏览新闻网站之外,还有更多的创作空间,但是仅限于应用程序为你描绘的严格界限之内。
 
浏览器扩展提供了一种更深层次的控制。与其仅仅在提供的文本框中输入,我们可以在线外涂色,并深入修改我们在网络上使用任何应用程序的方式。浏览器扩展提供了一种地方分权: 建立大型网站的大公司不能决定我们体验的所有细节。
 
Improving on extensions 改进扩展

 
我们显然需要努力保护人们免受侵犯他们隐私的恶意扩展。
除此之外,我还看到了一些更大的改进扩展的机会:
 
Accessibility 易用性
今天,从使用浏览器扩展到创建它们需要一个很大的飞跃:
你需要学习相当数量的 web 开发才能开始,而且你不能轻易地在浏览器本身开发扩展。
如果有一个快速的方法开始在浏览器中开发和共享扩展会怎样?
你可以想象一下,从使用开发者工具编辑网站到发布一个小扩展的平稳过渡。
 
Update: I’ve started working on a system called Wildcard to work towards this vision.
 
Compatibility:兼容性
由于扩展以不支持的方式与网站挂钩,网站的更新常常导致扩展暂时中断,扩展的作者们争先恐后地修复它们。
我们能让网站开发者和扩展作者更容易地在他们的软件之间建立稳定的连接,
而不必诉诸于使用明确的扩展 api 吗?
 
已经有一些实践符合这一类别ーー
例如,使用干净的语义标记、人们可读的 CSS 和源地图使开发扩展变得更加容易。
 
一个简单的改变,允许更稳定的扩展,将给用户更多的控制时,他们升级到新版本的云软件。
如果我有3个月的时间在新版本发布后继续使用旧版本,那么扩展作者就有更多的时间升级他们的软件到新版本。
 
 
Power
Web 扩展的功能受到典型 Web 应用体系结构的限制:
它们拥有修改浏览器客户端的广泛权限,但服务器是禁止的。
例如,如果我的社交媒体应用程序的服务器只提供一个端点来按时间顺序查询我的文章,
那么没有浏览器扩展程序可以按关键字搜索我所有的文章。
我们如何重新考虑客户机-服务器边界,以使扩展能够进行更深入的修改?
 
这就引发了关于安全和隐私的尖锐问题。
现代的浏览器扩展 API 在可扩展性和安全性之间取得了很好的平衡,但
是我们仍然要应对浏览器扩展侵犯用户隐私的后果。
扩大权力范围将进一步增加风险。
尽管如此,我们不应该以安全的名义放弃——我们应该争取可扩展性作为一种价值,并找到平衡这些利益的方法。
 
 
下一个平台

我对一些正在重新思考网络的项目很感兴趣,这些项目可能会使网络更具扩展性:
和分散的网络社区正在探索没有集中服务器的网络是如何工作的。
看起来他们提出的架构可以让用户更全面地控制修改 web 应用程序的“服务器”端。
 
蒂姆 · 伯纳斯-李正在进行一个名为 SOLID 的新项目。
我还不清楚他们到底想干什么,但是考虑到蒂姆的参与,我认为这值得关注。
一个关键原则是让用户对他们的数据拥有更多的所有权,
这将使人们能够使用扩展和其他软件以超出应用服务器 api 允许的灵活方式操作他们的数据。
 
🥃
1. Tim thought web browsers should also be website editors, and was disappointed when the Mosaic browser took off in popularity without including that feature.   认为网页浏览器也应该是网页编辑器,但是当 Mosaic 浏览器没有包含这个功能就大受欢迎时,他感到很失望。Something
 
计算还很年轻,平台也在迅速变化。
现代的浏览器扩展和智能手机平台只存在了大约十年。
这些平台将会不断发展,在它们之后将会有新的平台,我们将会共同决定它们将会有多开放。
 
Loading...