浏览器的自我修养
本文会提到以下几款 Mac 平台的浏览器:
WebKit 内核: Safari, Orion, SigmaOS
Chromium 内核: Chrome, Firefox, Brave, Arc, Edge, Opera
TL;DR: 目前主力使用 Arc 浏览器
基本需求
2022年,我苦苦寻求一款能够满足自己需求的网页浏览器。基本需求如下:
快。主要指启动速度快。当初抛弃 Safari 的重要原因在于启动速度逐渐变慢。从最开始不到一秒启动的 “blazing fast” (语出Craig Federighi) 到最后在 Dock 栏跳三四下才能打开。也“多亏”了这一“特性”,才让我养成了用罢浏览器直接 CMD+H 隐藏的习惯。
能够兼容各种扩展。Safari 的另一让人抓狂之“特性”在于其扩展的独特架构。根据这篇帖子,一款完整的 Safari 扩展包括了:
- An app, distributed as an .app bundle. The app contains native Mac executable code inside the Contents/MacOS folder of its bundle.
- An app extension, distributed as an .appex bundle inside the Contents/PlugIns folder of the .app bundle. The app extension also contains native Mac executable code in the Contents/MacOS folder of its bundle.
- JavaScript and CSS, distributed as .js and .css files inside the Contents/Resources folder of the .appex bundle.
On every launch, Safari runs 2, the native Mac executable code of the .appex bundle, regardless of whether the extension is enabled in Safari’s Extensions Preferences. Safari does not load 3, the JavaScript and CSS, unless the extension is enabled.
--
It looks like the only extension data that safari store is in
~/Library/Containers/com.apple.Safari/Data/Library/Safari/AppExtensions/Extensions.plistwhich stores enabled status, allowed domains, etc.All extensions are read from the individual host app that wraps the safari extension
.appex. Looking at what files safari access It looks like it access the extensions using the Mac binary file inXXX.appex/Contents/MacOS/XXXrather than its resources folder that contains all the js/html.Since it’s calling Mac binary I’m not sure how safari is loading in its data and it might not be possible to load them into Orion. I haven’t seen another browser not made by apple attempt such a thing. There is a Mac binary reader on GitHub that might provide some clues but I have get to look into it.
There is also a tool in Xcode for converting Web Extension to safari. I haven’t look into it much but it might provide some clues on how safari interacts with extensions.
这篇帖子的后半部分在尝试讲述如何使 Orion 浏览器安装 Safari 扩展(后文会讲到 Orion 浏览器的使用体验)。不同于 Chrome/Firefox 之流的 API 扩展形式,Safari 构造了自己的闭源轮子来开发扩展。这当然对 App Store 内小开发者的盈利产生正面影响,但也同时导致一批优秀扩展无缘上架 App Store. 鉴于有这点考虑,我优先将目光投向了使用 Chromium 内核的浏览器(Mac 上也没几款 WebKit 架构的第三方浏览器)。
优秀的书签管理。很多时候我们存储的浏览器书签都成了垃圾场。就像 Read Later 软件里存储的链接你永远也不会去看。想做的事我们却不愿去做,或者仅在大脑中做完。这是普通人类的常态。我的 Safari 收藏俨然早已成为了众多电子垃圾场之一。不过,书签管理与其他功能不同的是,用户可以选择积极改变自己的收藏习惯以让繁杂的书签保持整洁。在意识到这点后,我改变了自己的书签管理习惯:所有自认为需要稍后读的文章会进入另一套文章管理系统中,而书签仅仅用来保存一段时间内需要偶尔开启的网站或做内容捕猎。如使用术语搜索引擎搜索专门表达,使用政策数据库搜索相关报道等。能够被容许做成文件夹的只有两种情况:a) 一群有极高共通性的网站(如个人邮箱与校园邮箱网页版)b) 一个暂时需要完成的内容捕猎项目集(如搜集与 NLP 入门有关的网站以制成 Keynote)。
低能耗。虽然 Mac 的电池管理足够优秀,但浏览器仍长期身居活动监视器的能源消耗前列。Safari 的优异特性之一便是极低的能耗。但 Chrome 也在近几年的迭代中逐渐将优化能耗管理提上日程,所以在完成特定任务时,其综合能耗表现也与 Safari 不相上下。
几个选择
本着工具为人服务的理念,在初步了解 Mac 平台几乎全部浏览器的特质后,我深入使用并参与了其中几款处于测试阶段的浏览器的成长进程。几个月的体验让 Arc 浏览器脱颖而出。
传统派:
- 多。App Store 吸引了诸多优秀开发者制作扩展,体验很好的扩展有 xSearch, Baking Soda 等
- 快。排除网络速度等变量,其网页加载速度很快(但不知为何启动速度愈发迟缓)
- 好。UI 简洁,多设备通过 Handoff 同步(当然后文提到的浏览器也大多数实现了接力功能),且与 Apple 其他软硬件结合度高
- 省。省电,这一点其实也归功于 Apple 的优秀生态;省心,限制追踪等隐私保护措施让人放心
- 使用人群最广泛、兼容性最好的浏览器(典中典之 Windows 工程师在一次演示中因 Edge 崩溃而当场下载 Chrome)
- 已经成熟的扩展商店、标签页文件夹式管理、Profile 等大多数实用且可靠的特性
- 多项针对性电池优化措施
- 开源 Chromium 项目是市面上绝大部分浏览器的诞生基础
- 自带 Bing Chat(针对搜索引擎优化的GPT-4),现阶段能够解读网页文本,后续还会联结 Microsoft 365 生态完成更多任务
- 自带令人生厌的购物券推荐与牛皮癣广告(可关闭)
- 兼容 Microsoft 生态
- 拓展生态丰富
- 支持反追踪、广告拦截
- 比Chrome占用更少内存
创新派:
- SigmaOS
- 强调 Workspace 的创建与管理
- 办公友好,以 To-Do 的方式冻结或清除标签页
- 初创阶段不那么友好的定价,后期改变定价策略,个人永久免费(但功能受限)
- SigmaOS 的大语言模型 Airis 展现形式类似于 Mac 触控板的 Force Click,跟随页面光标以浮窗形式出现
- Arc
- 审美在线的 UI ,可个性化强,圆角曲线的合理使用,契合 Mac 的切换 tab 操作
- 创新性的边栏设计,分为 pin 栏与 today 栏,适合伪 GTD 用户
- 可折叠式的书签夹,并可随鼠标 sneak peek(slack, gmail, outlook 等被特别优化,可实时 peek 未读消息)
- 针对 pin 页还增添了预览网页的 Peek 功能
- 不实用的 Easel 和 Note 功能,但在实时网页截图 Live Capture 的加持下,瞬间变身为一块称手的网页画布
- 尚待继续开发新功用的 Boost ,本质上为修改网页 CSS 实现个性化网页浏览
- Little Arc、Traffic Control 等难以言说、语言略显苍白的小功能,只能通过试用或观看 Youtube 演示才能了解真实功用
- 透明的开发计划与开放的意见反馈平台,大版本号仍为0,但已明显成熟且无太多恶性Bug
改良派:
- 披着 WebKit 架构却能原生支持 Firefox 和 Chrome 扩展(但兼容性差,很多功能有缺失)
- 跟随 Orion 走完了内测过程,论坛反馈 bug 繁多,许多用户因此放弃使用
- 其卫星产品为 Kagi 付费搜索,但在经历 Bing 血洗搜索引擎后,显得无足轻重
- 开源
- 专注隐私与安全
- 没有实际功用的加密货币钱包功能
- 没有实际功用的 BAT 代币奖励系统
- 2023年6月新鲜出炉的 Opera 产品,界面改用了圆角 UI 风格,但实际观感不如 Edge
- Opera 的大语言模型 Aria AI 贴附于可以隐藏的侧边栏,但响应速度与唤起动画差强人意
- Tab Islands(很有巧思,创新性强于 Arc)与 Workspace 设计,解决标签页杂乱痛点
- 很喜欢“新标签页”的名字,叫 Speed Dial(opera://startpageshared)
- VPN Pro,但建议避免使用浏览器级别的 VPN 服务
- 标签页加载的动画非常丑陋
总结下来,近年新兴的现代浏览器均有如下的类似功能:
- 标签页管理
- Workspace/Profile管理(非社畜的确很难用到 Profile 管理)
- 不那么有新意的 AI(亲测 Google 内测阶段的 SGE 已完全能与 Bing 平分秋色)
术业有专攻
综合以上的考量因素,我目前会使用数款浏览器分别完成以下的需求:
- Arc: 默认浏览器。日常浏览网页主力、利用 Little Arc 实现快捷搜索
- Safari: 需要 Handoff 时的首选浏览器
- Edge: 实现利用网页进行生成式人工智能的搜索(例如总结 PDF、摘取网页内容等)
随机抽查,截图一张目前 Arc 浏览器的 Space,以记录匆忙走过的六月。
