他们根本没有对用户负责的概念
原文由 Marcin Wichary 于 发布,订阅该博客
计算机科学家 David Chisnall 在 Mastodon 上的一篇帖子有着非常符合 Unsung 风格的开头:
我从 2000 年左右就开始用 vim。我用它写了五本书、一篇博士论文、几十篇论文和 150 多篇文章。到现在这个阶段,使用那些常用的 vim 命令时,我的高级脑功能根本不需要参与,它们自然而然就完成了。用别的编辑器写东西时,文档中间总会莫名其妙地冒出几个 :w。
接下来,Chisnall 谈到了 vim 的一个具体功能:
持久化撤销(persistent undo)是我最喜欢的 vim 功能之一。[…]
我并不常需要用到持久化撤销。但在少数几次真正需要它的时候,它都堪称无价:哎呀,我好像把这个文件里的什么东西删掉了,也许是上周删的,中间还重启过一次,那到底是什么?一路撤销直到找到它,复制下来,再粘贴回当前版本。或者,更常见的情况是:刚才还好好的,我整理了一下准备提交,结果就跑不通了,我到底改了什么?
在大约 20 年的时间里,历经多次大版本升级,vim 始终让这个功能保持可用。我甚至都不会去想它,它就像是 Raskin 第一定律的一部分:程序不得损害用户的数据,也不得因不作为而让用户的数据受到损害。如果 vim 或电脑崩溃了,或者我关掉一个文件半年后再打开,撤销历史依然还在。
NeoVim 是 vim 的一个分支(因为其他原因上了新闻):
所以我在 NeoVim 还很新的时候就试了一下。就是你熟悉的 vim,但更好?太好了!
我在 NeoVim 里注意到的第一件事就是撤销用不了。我试着用 vim 打开那个文件,结果发现那里的撤销也失效了。
Neovim 改了撤销文件的格式。它没有去升级旧文件,也没有给自己的撤销文件另起一个名字。它只是发现存在一个 vim 的撤销文件,就把它删掉了(丢掉了里面的所有数据),然后换成了一个 vim 无法读取的文件。
我为此提了一个 issue,得到的回复是,持久化撤销的格式是不稳定的,用户不应该指望在一个明明叫作持久化撤销的功能里,数据会被保留下来。格式已经变过一次,以后可能还会再变。
我的 NeoVim 体验也就此结束了。作者们立刻就表明,他们完全不值得我托付任何数据。把持久化撤销弄坏了,如果只是个 bug 我还可以原谅,但那种“即便文件系统上那个持久化文件里可能存着你需要的数据,也不妨碍他们的程序把它删掉”的态度,说明他们根本没有对用户负责的概念。
我喜欢这篇帖子(我几乎全文引用了),因为它提到了几件重要的事:
- 我以前从没听说过这样的持久化撤销,听起来真的很神奇。
- 当软件弄丢了他们的心血或是不尊重他们时,人们是会记得的。
- 我能理解,“已经变过一次,以后可能还会再变”这种话会带来多么强烈的感受。
我喜欢它的另一个原因是它提到了 Raskin 第一定律。以 Macintosh 和 Canon Cat 闻名的 Jef Raskin,在他 2000 年出版的《人本界面》一书中提出了三定律,内容如下:
- 计算机不得损害你的工作成果,也不得因不作为而让你的工作成果受到损害。
- 计算机不得浪费你的时间,也不得要求你做超出严格必要之外的工作。
- 如果一个界面能够回应人的需求、体谅人的弱点,那它就是人本的。
在我年轻时做设计师的阶段,遇到这本书对我来说非常重要、影响深远。我完全不知道,为什么这些定律直到今天才出现在 Unsung 上。
随机一篇博客
评论
登录后参与讨论