概要
- David Chisnall によるMastodon投稿の内容紹介
- vimのpersistent undo機能 の重要性と体験談
- NeoVim による互換性問題とデータ消失の懸念
- Raskin’s First Law の引用と意義
- ソフトウェア設計における ユーザーデータ保護 の重要性強調
David ChisnallのVim体験とPersistent Undo
- David Chisnall は2000年頃からvimを使用
- 書籍5冊、PhD論文、数十本の論文、150本以上の記事を vim で執筆
- よく使うvimコマンドは 無意識レベルで操作 可能
- 他のエディタで作成した文書には ランダムな:w が混入
- persistent undo はvimの中で特にお気に入りの機能
- 過去に削除した内容を 数週間・再起動後でも復元 可能
- 作業の整理後に不具合が発生した際、 undo履歴から原因特定 が容易
- 20年以上 のバージョンアップを経ても persistent undo は安定動作
- クラッシュや長期間未編集でもundo履歴が保持 される安心感
NeoVimでのPersistent Undo問題
- NeoVim はvimのフォークとして登場
- 初期バージョンを試用したが、 undoが機能しない 問題に直面
- NeoVimは undoファイルのフォーマットを変更
- 旧ファイルを 自動削除し、互換性のない新ファイルに置換
- これにより vim側でもundo履歴が消失
- 問題提起したが、 開発側は「persistent undoは不安定」と説明
- 将来的にも フォーマット変更の可能性を示唆
- ユーザーデータ保護への配慮欠如 という姿勢に失望
- persistent undo破壊はバグとして許容できても、態度が問題
- ユーザーの大切なデータを守る責任感の不在
Raskin’s First Lawとソフトウェア設計
- 投稿内で Raskin’s First Law が引用
- 「プログラムはユーザーのデータを損なってはならない。 また、何もしないことでユーザーのデータが損なわれることも許されない。」
- Jef Raskin 著『The Humane Interface』(2000年)にて提唱
- 第一法則: 作業を損なわないこと
- 第二法則: ユーザーの時間や労力を無駄にしないこと
- 第三法則: 人間のニーズや弱さに配慮すること
- ソフトウェアがユーザーの信頼を失う瞬間 は、
- データ消失や ユーザーを軽視する態度 に起因
- Raskin’s Laws は設計者・開発者にとって今なお重要な指針
まとめと教訓
- persistent undo のような地味だが重要な機能の価値再認識
- ユーザーデータの保護 はソフトウェア設計の根幹
- 開発側の責任感や倫理観 がユーザー体験に直結
- Raskin’s Laws を再評価し、
- 人間中心設計 への意識を高める必要性
私もNeovimの初期ユーザーだったよ。個人的には「Vimだけど、壊れた変更がある」って感じで位置づけられてたのを覚えてる。