他們對使用者根本沒有照顧義務的概念
原文由 Marcin Wichary 于 發布,訂閱此部落格
電腦科學家 David Chisnall 在 Mastodon 上的一則貼文有個非常符合 Unsung 風格的開頭:
我從大約 2000 年左右就開始使用 vim。我用它寫了五本書、一篇博士論文、數十篇論文以及超過 150 篇文章。到了現在,當我使用一堆常用的 vim 指令時,根本不需要動用高階的腦部機能,它們就是自然而然地發生。用其他東西寫的文件裡,總會莫名其妙冒出幾個 :w。
Chisnall 接著談到 vim 的一項特定功能:
持續復原(persistent undo)是我最喜歡的 vim 功能之一。[…]
我不常需要用到持續復原。但在我少數幾次需要它的時候,它都無比珍貴:哎呀,我把這個檔案裡的某個東西刪掉了,也許是上週刪的、中間還重開過一次機,那到底是什麼?一路復原直到找到它,複製起來,貼回現在的版本。或者,更常見一點的情況是:本來還跑得好好的,然後我整理了一下準備提交,結果就不動了,我到底做了什麼?
在長達約 20 年的時間裡,vim 在多次大版本升級中都讓這個功能保持正常運作。我甚至不會去想它,它就只是拉斯金第一定律(Raskin’s First Law)的一部分:程式不得傷害使用者的資料,也不得因不作為而讓使用者的資料受到損害。如果 vim 或電腦當掉,或者我把檔案關掉、六個月後再回來,我的復原紀錄都還在。
NeoVim 是 vim 的一個分支(因為其他原因而登上新聞):
所以我在 NeoVim 還很新的時候就試用了。就是你熟悉的 vim,但更好?太棒了!
我在 NeoVim 注意到的第一件事,就是復原功能失效了。我試著用 vim 重新打開那個檔案,結果那裡的復原也失效了。
Neovim 更改了復原檔的格式。它沒有升級舊的檔案。也沒有為自己的復原檔使用不同的檔名。它只是發現了 vim 復原檔的存在,就把它刪掉(遺失了裡面的所有資料),然後換成一個 vim 無法讀取的檔案。
我為此提出了一個 issue,得到的回覆是持續復原的格式本來就不穩定,使用者不該指望在一個明明就叫做持續復原的功能中,資料會被保留下來。它已經改過一次,而且大概還會再改。
而那就是我與 NeoVim 緣分終結的地方。作者們立刻就證明了,他們絕對不值得我託付任何資料。把持續復原弄壞,如果是個 bug 我還可以原諒,但那種「就算檔案系統上有個包含你可能需要的資料的持續性檔案,也不是他們的程式不該把它刪掉的理由」的心態,意味著他們對使用者根本沒有照顧義務的概念。
我喜歡這篇貼文(我幾乎全文引用了),因為它談到了幾個重要的點:
- 我從來沒聽過這樣的持續復原功能,感覺相當了不起。
- 當軟體弄丟了人們的心血或是不尊重他們時,人們真的會記得。
- 我能理解「它已經改過一次,而且大概還會再改」這句話能帶來多麼強烈的感受。
我也喜歡它提到了拉斯金第一定律。以 Macintosh 和 Canon Cat 聞名的 Jef Raskin,在他 2000 年出版的《The Humane Interface》一書中提出了三條定律,內容如下:
- 電腦不得傷害你的工作成果,也不得因不作為而讓你的工作成果受到損害。
- 電腦不得浪費你的時間,或要求你做超過絕對必要以外的工作。
- 如果一個介面能回應人的需求、並體貼人的脆弱之處,它就是人性化的。
對年輕時的我而言,作為一名設計師,遇到這本書是非常重要且具啟發性的。我完全不明白,為什麼這些定律直到今天都還沒在 Unsung 上出現過。
隨機一篇部落格
留言
登入後參與討論