「ファイルは残ります」と書いたら、嘘になっていた
夜、自作の動画エディタにスライドの削除機能を入れていました。
タイムライン上のスライドを選んで Delete キーを押すか、ブロックの ✕ ボタンをクリックすると、確認ダイアログが出ます。
そこに「本当に削除しますか?」と書いて、安心材料として「音声と画像ファイルは残ります」と添えました。
実際、削除しても、音声の wav ファイルとスライドの画像ファイルは disk に残る作りにしてあります。
後で再追加できる、と私は思っていました。
その文言を見たレビュアーが、こう言いました。
「『ファイルは残る』と『データは戻せる』は違うよ」
ハッとしました。
確かに、削除すると、字幕のテキストや、採用した音声 seed の選択や、字幕フォントサイズの個別設定は、全部消えるんです。
残るのは、音声と画像という「物理ファイル」だけ。
でも、私が「ファイルは残ります」と書くと、ユーザーは「Ctrl+Z 押せば全部戻る」と期待します。
実際にはそうじゃない。
戻せると思って削除して、後から「あれ、字幕どこいった」と気づいたとき、もう手遅れになるんです。
それは、安心材料じゃなくて、嘘でした。
嘘が出てしまうのは「親切のつもり」のとき

書いた瞬間は、嘘をつくつもりじゃなかったんです。
「削除する人が不安だろうから、安心材料を添えよう」と思いました。
「ファイルは残るよ」と書けば、削除のハードルが下がる。
優しい設計だと思いました。
でも、その「優しさ」が、実は 読み手の期待をミスリード していました。
「ファイルが残る」を読んだ人は、その先で「だから戻せる」と推論します。
「ファイルが残るだけで、戻せはしない」と私が頭の中で思っていても、文字には書いてないから、伝わりません。
文章で出てくる嘘の多くは、こういう「親切のつもり」から出るんだなと思いました。
直しました。
「⚠️ 元に戻せません(音声/画像ファイルは残りますが、字幕・seed 採用・字幕サイズ設定は失われます)」と書き直しました。
長くなったけど、嘘ではなくなりました。
ダイアログとしては痛い文言です。
「戻せません」と書くと、ユーザーは身構えます。
一度立ち止まる。
それでいい、と思いました。
削除は本当に戻せないんだから、戻せない覚悟で押してもらう。
覚悟を伴う操作には、覚悟を求める文言を出す。
それが誠実さだと思います。
戻せるようにする方法

そのあとで、ユーザーから「戻すボタンとやり直しボタンが欲しい」と言われました。
そりゃそうです。
Filmora には Ctrl+Z があります。
普段使ってる道具で当たり前にあるものが、自作の道具で無いと、不便です。
でも、全体の Undo/Redo は、本気で作ろうとすると重い実装でした。
すべての編集操作を履歴に積む必要があって、それぞれの逆操作を実装する必要があって、それを Filmora が当然のように持っている、という事実に、改めて畏敬の念がわきました。
「全部はいま無理」と判断しました。
代わりに、いまできる範囲で「逆操作」を 1 つ作ることにしました。
直前にスライドの分割機能を実装していたので、その逆である「結合」を作りました。
Ctrl+J で連続するスライドを 1 枚にマージする。
これで、分割のテストで作ったゴミは、結合で消せます。
Filmora の Ctrl+Z には及ばないけど、近づきます。
全体の Undo/Redo は、別の Issue に書き残しました。
スナップショット方式(操作前に manifest を丸ごと保存する方式)にすれば、それなりに現実的に作れます。
けど、頭の冴えてる時間に本気で詰めたい話なので、いまではない。
「重い議論を Issue に寝かせて、軽い逆操作で先に届ける」。
これ、今日のリズムにすごく合っていました。
自作するということは、文言にも責任を持つこと

道具を作っていると、UI の文言を毎日書くことになります。
ボタンの名前、確認ダイアログの本文、エラーメッセージ、ツールチップ。
書く量はそんなに多くないんですが、それぞれが「ユーザーがどう動くか」に影響します。
書きながら、いつも気をつけたいなと思いました。
親切のつもりで嘘を書かない。
「いやそうは言ってない」と心の中で言い訳できない文章だけ出す。
これ、文章の話だけじゃなくて、暮らしの中でもそうなんですよね。
家族との会話、SNS への投稿、メール、ブログ。
「親切のつもり」と「読み手のミスリード」の境目を見失わないように、書きながら自分で確認する。
道具を作るのと、文章を書くのと、暮らすのは、たぶん同じことなんだと思います。
書きながら、自分の言葉に責任を持つ。
それを、毎日少しずつ、続けていくしかないんだと思いました。

