随着 macOS 市场份额的上升,原生浏览器 Safari 的占有率蒸蒸日上,然而,Apple 的漠不关心也让 Safari 被抨击为当代 IE。
然而,尽管结论类似,但我的具体看法和常人完全相反:Safari 不是落后,而是闭门造车——漠不关心的的另一种形式。以 macOS Catalina 引入标签组为分水岭,可以断定,Safari 的开发团队和用户已经进入一种“有啥吃啥,吃啥吹啥”的病态局面,哪怕再糟糕的新设计也会被捧上天,而不是隔壁 Chrome 或 Firefox 那样“吃啥有啥”。
一个稍有动弹就会强制刷新网页的标签组,有什么意义?开发团队不知道用户会丢失数据吗?用户自己还没吃够苦头吗?没有人说不好,这就是垄断的后果。我也不说话,因为一个智商正常的人不应该和 Safari 标签组邪教分子浪费时间。
——但,macOS Sonoma 把战火烧到了我家门口,在野之人竟也被强制使用标签组。只要我想关闭 Safari 标签页,大概有十分之一的概率被告知当前已选中了多个页面1,要关只能全部关掉。这种事情,一天十几次、几十次,一年几千上万次。问题是,我从来不用标签组,我根本不知道哪些页面被选中,我也不可能在那么逼仄的标签栏中找到目标,何况 Safari 还会随机帮你多选。
Reddit 上也是哀鸿遍野,大量用户抱怨自己被强制使用标签组(多选机制),然而他们非常确定自己从未有过类似操作。在最有冲击力的一条留言中,有人表示,Safari 的这种设计无异于:
“路上有2个孩子。你想杀死2个孩子吗?”——来自 Reddit 的用户咆哮
其实,就连 Safari 开发团队自身都存在精神分裂,下次 Safari 逼你撞死小孩的时候,请看看菜单栏,其中显示的依旧是“Close Tab”而非“Close Tabs”,说明你眼前本是康庄大道,只是 Safari 逼你把车偏到路边以便撞死行人。
最终,长达一个大版本的挫折让人意识到:这是一个 feature,不是一个 bug。
应对方案
好吧,我只好帮这些只敢在虚拟世界中意淫制造连环杀人案的糟糕设计师/开发者收拾烂摊子。答案是:用 Keyboard Maestro——或其他你能想到的键盘自动化工具——劫持关闭 Safari 标签页的快捷键 ⌘Command-W
,换成正常的单页关闭操作。2
上面的动图中,我刻意手动选中的当前标签页及其右侧的两个页面(注意它们的颜色相对有些泛白色 ),最右侧的页面未被选中,当作对照组。 无论我在被选中的页面按下 ⌘Command-W
,还是尝试关闭未被选择的页面,均可正常——大概自标签页被发明以来就是如此——关闭当前页。
就原理而言,我无非利用 Keyboard Maestro hotkey Trigger 会覆盖原生快捷键的特性,取代了正常关闭标签页的快捷键 ⌘Command-W
,避免触发 Safari 默认的标签页关闭功能;随后,我用 AppleScript 关闭当前标签页,就达到正常关闭页面的目的。之所以想到这一层,实为逆向思维:我本想寻找禁用或快速取消多选的 AppleScript 词条,一无所获,旋即想到开发者/设计师搞不好还没来得及祸害 AppleScript,果然,AppleScript 的标签页关闭功能尚未遭到污染。
此外,LaunchBar3用户可能会频频使用 ⌘Command-W
关闭 LaunchBar 窗口,为避免冲突,我进一步设计了兼顾 LaunchBar 的版本。相关原理可参考《快马加鞭,用快捷键加速 LaunchBar 的常用功能》一文,本文不延伸。
余论
Jobs 的现实扭曲立场何其强大,Apple 的任何错误都会被强加一种设计哲学的解释,Safari 的交互设计也不例外。标签组——从强制刷新的破坏性设计以及让 Firefox 笑掉大牙的侧边栏——也得到了玩家们的充分探索,竟然用全套的文件管理/信息管理模式认真这一堆垃圾。
不,Safari 不配。我无需争论任何功能细节,只需指出一个事实:下图是根据真实截图描出的交互面积对比,上面的黄色部分是 Finder 或 DEVONthink 中的可交互区域面积,下面那个窄窄的蓝条则是 Safari 的。谁打算在这种环境下讨论“管理”?
Safari 标签护教士们兴许会说:还有侧边栏呢。让我们先堵上耳朵,不去理睬 Firefox 的笑声,直面现实:你甚至不能在这个转身就能撞到脑袋的小空间里排序标签页,情况恐怕比窄窄的一条标签栏还糟糕。此外,归根结底,纵使九平米的鸽子笼升舱成了十几平的廉价酒店公寓,但也请不要胡乱对比,侮辱几千平米的大别墅。
垃圾就是垃圾,我们最多收拾收拾降低其危害,但没必要配合设计师的意淫。
🛍 我撰写的付费栏目《Keyboard Maestro 进阶指引(增订版)》正在 UNTAG 售卖,详解 Keyboard Maestro Macro 高级设计思路,欢迎选购:付费内容链接
- 在技术上,这是创建标签组的前置环节之一,故本文将多选也纳入标签组设计的外延。 ↩
- 为什么只考虑快捷键?除了快捷键,还有两种相对常见的关闭方式,一种是直接用鼠标中间点击当前标签页,这反而不会触发 Safari 的杀人警报,说明设计师还没坏到一定程度或者单纯懒惰;另一种是在菜单栏的无数功能中翻出关闭选项,应该没有正常人会选择那么复杂的交互。 ↩
- 一款历史悠久的启动器工具,如果你不知道它是什么,可以阅读我的介绍《魔法师的召唤兽与麻瓜的药水瓶:LaunchBar 及其他启动器》。 ↩