他们对用户没有任何审慎义务的概念。
"They had no concept of a duty of care to their users."

原始链接: https://unsung.aresluna.org/they-had-no-concept-of-a-duty-of-care-to-their-users/

计算机科学家 David Chisnall 最近分享了他对 Neovim 的不满,因为该软件永久删除了他长期的撤销历史记录。作为一名长期使用 Vim 的用户,Chisnall 依赖于 Vim 的“持久撤销”(persistent undo)功能——即使在重启或数月不使用后,该功能也能保存编辑历史记录,作为他数据的一项保障。 当他尝试使用 Neovim 时,软件在未经提示的情况下,以一种不兼容的格式覆盖了他现有的撤销文件。当 Chisnall 报告这一数据丢失问题时,开发人员不予理会,称用户不应依赖其自身数据的持久性。这次经历使 Chisnall 得出结论:该团队对用户缺乏基本的“注意义务”(duty of care)。 这一事件凸显了杰夫·拉斯金(Jef Raskin)在《人机界面》(*The Humane Interface*)中提出的第一法则:程序绝不能损害用户的数据,也不能因不作为而让数据受到损害。对于软件用户和设计者而言,这个故事提醒人们,可靠性和对用户劳动成果的尊重,与技术创新同样重要。当软件将用户生成的数据视为可丢弃之物时,就违背了人性化界面设计的核心原则。

这场 Hacker News 的讨论围绕着对 Neovim 的批评展开。原作者认为该项目缺乏对用户的“尽责义务”(duty of care),并特别指出了一个导致持久化撤销文件被删除的破坏性更新。 争论主要分为两个阵营: * **“无义务”观点:** 许多贡献者认为,由于 Neovim 是免费的开源软件,开发者没有正式的义务来提供稳定性和支持。他们坚持认为用户接受的是“按现状”提供的软件;如果某个功能不尽如人意,解决方案应该是分叉代码、自行修复或换用其他软件。一些用户还批评原作者将实验性软件用于关键工作。 * **“尽责义务”观点:** 另一些人认为,无论软件是否收费,开发者都有隐含的道德责任来避免造成损害,例如未经通知的数据丢失。持此观点者认为,行业应在用户体验和数据安全方面坚持更高标准,并主张“免费”不能成为鲁莽设计选择从而破坏专业工作流程的借口。
相关文章

原文

A Mastodon post by computer scientist David Chisnall has a very Unsung opener:

I have used vim since around 2000. I have written five books, a PhD thesis, a few dozen papers and over 150 articles with it. At this point, my higher brain functions are not engaged at all when I use a bunch of common vim commands, they just happen. Documents I wrote with anything else have random :w in the middle.

Chisnall goes on to talk about one specific vim feature:

Persistent undo is one of my favourite features of vim. […]

I don’t often need the persistent undo. But on the few occasions when I have needed it, it’s been invaluable: ooops, I deleted something from this file, maybe last week and one reboot ago, what was it? Undo until I find it, copy it, paste it into the current version. Or, a bit more commonly: I had this working, then I tidied it up ready to commit, now it isn’t working, what did I do?

Vim has kept this working across major version upgrades over a period of about 20 years. I don’t even think about it, it’s just part of Raskin’s First Law: A program may not harm a user’s data or, through inaction, allow a user’s data to come to harm. If vim or the computer crash, or if I close a file and come back to it six months later, my undo history is still there.

NeoVim is a fork of vim (in news for other reasons):

So I tried NeoVim when it was quite new. Vim that you are familiar with, but better? Great!

The first thing I noticed in NeoVim was that undo didn’t work. I tried opening the file in vim and undo didn’t work there either.

Neovim had changed the format of the undo files. It hadn’t upgraded the old one. It hadn’t used a different name for its undo files. It had just noticed the existence of a vim undo file, deleted it (losing all of the data in it) and replaced it with one that vim couldn’t read.

I raised an issue about this and was told that the persistent undo format was unstable and users should not rely on data being preserved in a feature explicitly called persistent undo. It had changed once and would probably change again.

And that ended my experience with NeoVim. The authors showed immediately that they absolutely could not be trusted with any of my data. Breaking persistent undo is something I could forgive as a bug, but the attitude that just because something is a persistent file on your filesystem that contains data that you might want is no reason for their program not to delete it meant they had no concept of a duty of care to their users.

I liked this post (which I quoted almost in its entirety), because it covers a few important things:

  • I have never heard of the persistent undo like that, and it seems kind of amazing.
  • People do remember when software loses their hard work or disrespects them.
  • I can see how “It had changed once and would probably change again” can be such a powerful feeling.

I also loved it for the appearance of Raskin’s First Law. Jef Raskin, of Macintosh and Canon Cat fame, put together the three laws in his 2000 book The Humane Interface, and they go as follows:

  • A computer shall not harm your work or, through inaction, allow your work to come to harm.
  • A computer shall not waste your time or require you to do more work than is strictly necessary.
  • An interface is humane if it is responsive to human needs and considerate of human frailties.

It was a very important and formative book for me to encounter as a young designer. I have no idea how these laws haven’t made it to Unsung before today.

联系我们 contact @ memedata.com