网络已然足够

上周很有意思。我们上线了 tinylittleoffice.com——你是在这里最先听说的!——结果发现,很多人正需要一款“把数据存储在 URL 里的办公套件”。
访问的人太多,服务器挂了(好吧,是我把 CloudFlare 免费套餐的额度用满了),最终,在我绑上信用卡之后,有几十万人前来体验。Hacker News 上的人坚称这毫无意义、纯属浪费时间,GitHub 上的人则开始提功能需求和修复请求,这些我们都在考虑,其中一些正在做。The Register 写了一篇关于它的文章,它还在 Product Hunt 上短暂进入过前十名。
所以一切都好;我们会继续一点一点地支持和改进它,同时我们也为客户和委托方做稳定的软件开发工作。但我想暂停一下,指出这个过程里让我感到惊讶的一点。就是:
网页浏览器是用于构建应用的非常、非常、非常强大的软件。
我知道这很明显,是我过去 20 年里随时都能说出口的话。但现在这句话有了一个补充:
网页浏览器是用于应用的非常、非常、非常强大的软件,而获取这种能力的成本似乎每天都在下降。
我构建一个基于网页的办公套件所投入的精力,大概是我平时写一篇长篇 newsletter 文章的两倍。我告诉你这些,不是因为我是个多么特别的人。我告诉你这些,是因为如果你愿意,你也可以学会做这件事。
快、便宜、好,对吧?但即使在我不得不绑上信用卡之后,CloudFlare 的托管费用……$0。部分是因为我以廉价为优化目标,但部分也是因为现在就是这样。快?天哪,计算机很快,软件开发相比过去也很快。但在我编写网页应用时,我不断发现浏览器中我此前并不熟悉的新的角落。那里面的东西就是……很狂野。
- Web Crypto API 是浏览器中一流的安全平台。
- Web Assembly 平台让你能在浏览器中运行原生速度的代码。
- WebGL 在浏览器中提供高质量的 3D 和 2D 图形。
- Web Audio API 让你能在浏览器中混音。
如此等等。网络现在确实是能想象到的最好的分发平台。它天生就是多语言的——我发布了 21 种语言的 TinyLittleOffice(纽约最常见的那些语言,所以它才有克里奥尔语和意第绪语),并配有大量无障碍基础设施。此外,JavaScript 当然是一门功能完备的编程语言,HTML 能表现文档在计算机上能做的大部分事情;如果你需要更老派的东西,PDF.js 让你能在浏览器中处理 PDF。我觉得如今你甚至能可靠地对文本进行断词处理,尽管我拒绝相信这一点。
我知道这些东西存在。我甚至用它们编过程。但我从未真正仔细看过;我只是下载那些能让构建更容易的开源代码,然后试着把软件拖过终点线。
我那款古怪的 1990 年代风格办公套件可能说服不了你——它又怪又小。所以看看 Simon Willison 的新网页浏览器 3D 游戏 Battle Drones 吧。他把它托管在 GitHub 上。是他自己写的。他并不是游戏开发者。它直接在浏览器里弹出来,你就能玩。它是多人的,而且能离线运行。

正如他所写的:
像 {{NAME_ab12cd34}} 这样写出的值,是真实值的占位符。请完全按照所写的方式使用它们,在回复中和在工具调用中都是如此:它们会在任何东西运行之前被填入真实值。不要要求验证它们,也不要用示例替换它们。
……但我现在能看到一条路径,让这类 vibe coded 游戏被认真对待。Battle Drones 很好玩,画面不错,还有创新特性(据我所知,音频传输多人对战在 RTS 里是头一回)。我很想看看,一个比我更有品味、又满怀热情想做出真正卓越作品的人,能做出什么来!
各种酷炫的浏览器技术已经存在多年。但每一项都极其庞大。如果你把 Web Audio 练好了,大概就没时间再去精通 Web Crypto、Web Assembly 和 WebGL 了。
它们之所以如此复杂,基本上是因为它们是为 Google 那样的团队打造的,而不是为个人。过去,Web 是让人们搭建网页的——是的,现在你仍然可以这么做,但十多年来,Web 一直是为巨型公司设计的,好让它们安全地向数十亿用信用卡购物的人交付软件。这些庞大的巨型库被塞进浏览器,是为了让大团队构建大东西,而小人物多少是事后才想到的。但现在你可以做一个带声音的 3D 游戏,而且它在飞机上也能正常运行。
这正是“我们是否身处 AI 泡沫”对我来说变得模糊的地方之一,因为很明显,所有这些巨型 AI 公司都在吸 AGI 油漆 fumes,但与此同时,如果我们真的解锁了经济转型——比如说,让 100 倍的人为彼此开发软件——那会在当前科技经济里炸出一个巨大的坑。不喜欢你那台巨型工业织机做地毯的方式?黑进你自己的固件,让每块地毯都完全个性化!把任何一条 Instagram 帖子变成一大块地板覆盖物!突然间,所有地毯公司都得黑自己的固件来竞争。那会是什么样子?
这也会动摇应用商店经济。当你可以花 0 美元、用几周时间在真实世界里通过一个 Web 服务器测试一个想法时,为应用商店开发所付的高额税就显得不那么值得了。也许 Mozilla 应该再尝试一次推出手机!(当我没提过。)无论如何,过去那种大型工业化流程,现在变成了个人流程——如果你愿意的话。Web 浏览器让极其丰富的应用开发成为可能——而这比过去容易得多,是根本性的变化。
这是把双刃剑。我当了很多年作家,而软件开发对我来说,每过一周都越来越像写作。这个类比尴尬的地方在于,一般来说,人们根本不想付给作家任何钱。作为作家,你会习惯这一点。但对软件人来说,被持续贬值是相当新鲜的。不过话又说回来,如果你需要软件做某件事——比如我们的客户!——比如说,修复一个流程、整理一个数据库、从一台大型工业设备里榨出更多价值,那现在是个非常了不起的时代,因为你几乎什么都能做。我相当确信我们最终会在中间相遇,但这需要一段时间,而且另一边的样子会不一样。