随笔

关于慢工具的安静建筑学

关于那些尊重时间、注意力、和使用它的人的软件。

有一种软件,你只在它缺席时才会注意到。它不嗡嗡作响,不推送提醒,不索取什么。你打开它,做你的工作,然后关掉。几天过去。它在那里等着。

我们建造了一整个产业,做的是相反的事情 —— 渴求注意力的软件,把” 停留时长” 当 KPI 的软件,把你和一块发光矩形的关系游戏化的软件。慢工具是异见者,是钉子户,是有原则的拒绝。

慢是什么样子

慢工具做的事更少,但做得认真。它打开得快。它默默地保存你的工作,不举行仪式。它不会为了 changelog 好看而硬塞功能。你几个月后回到它,它还在你离开的地方。

我喜爱的那些文本编辑器 ——vimacme、最早的 BBEdit—— 共享这种品质。它们的作者有品位。他们知道什么时候该停下。

完美的实现不在于没有什么可以再添加,而在于没有什么可以再拿走。 圣埃克苏佩里

一份小清单

慢工具往往有这些共同点:

  • 功能范围上的克制
  • 界面的稳定—— 你的肌肉记忆能活很多年
  • 朴素的格式—— 你的数据比软件本身活得更久
  • 本地优先—— 它在飞机上能用,在地下室也能用
  • 一个有观点和长期主义的维护者(或者很小的团队)

会呼吸的代码

// 慢函数:只做一件事,慢到刚好能读懂。
export function pangu(s: string): string {
  return s
    .replace(/([一-龥])([A-Za-z0-9])/g, '$1 $2')
    .replace(/([A-Za-z0-9])([一-龥])/g, '$1 $2');
}

这么小的函数读起来像一首俳句。没有防御性 null check,没有埋点 hook,没有 feature flag。它就是一个做一件事的东西。

为什么要这样

因为注意力是我们唯一的稀缺资源。因为索取注意力却不返还任何东西的软件,是一种盗窃。因为让你能完成工作然后转身离开的工具,是有尊严的。

这个博客就是一件慢工具。希望它一直这样。