关于慢工具的安静建筑学
关于那些尊重时间、注意力、和使用它的人的软件。
有一种软件,你只在它缺席时才会注意到。它不嗡嗡作响,不推送提醒,不索取什么。你打开它,做你的工作,然后关掉。几天过去。它在那里等着。
我们建造了一整个产业,做的是相反的事情 —— 渴求注意力的软件,把” 停留时长” 当 KPI 的软件,把你和一块发光矩形的关系游戏化的软件。慢工具是异见者,是钉子户,是有原则的拒绝。
慢是什么样子
慢工具做的事更少,但做得认真。它打开得快。它默默地保存你的工作,不举行仪式。它不会为了 changelog 好看而硬塞功能。你几个月后回到它,它还在你离开的地方。
我喜爱的那些文本编辑器 ——vim、acme、最早的 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。它就是一个做一件事的东西。
为什么要这样
因为注意力是我们唯一的稀缺资源。因为索取注意力却不返还任何东西的软件,是一种盗窃。因为让你能完成工作然后转身离开的工具,是有尊严的。
这个博客就是一件慢工具。希望它一直这样。