履歴を無視して好きに生きるのか
画面上に極力ボタンはない方が良いと考えているが、実際省きにくいボタンがあって、それはフォームにおけるcommitやdiscardだと思っている(たいていの場合モーダル編集からの「OK」「キャンセル」) 実際OOUIのリストビューの例を見ても、「新規」「編集」「削除」は省くことができない これらはオブジェクト選択が先に来ているからいいんだけど
undoがある場合には「OK」「キャンセル」省くことができるが実際のところ全画面にundoをつけることは稀
gitでいうcommitをする場合にはこのようなアクションが必要になる
git以前、多くの場合は、どういう意図でその変更を施したのか記載することはなかった
我々が普段行ってきたような業務アプリケーションの操作は、思ったよりもgitのモデルが適用可能で、なおかつ不完全で危険な操作をしている
状態を編集するUIの全てにGit操作に相当することができる機能をつけられればよいのだろうと考えている。
Gitはファイルしか対象にできないけど。
UIでgit操作したいみたいに言ってしまってるけど、複数のファイルとして状態を小分けに切り出して、それぞれgit管理できるようにしてほしい、という主張のほうが穏当かもしれない
例えばfigmaだとfigファイル一つに格納されてるはずだけど、コンポーネント定義とかもファイルに切り出されていればgitで個別にバージョン持てるのでは。もうできたりするかな?
考えるために使うスクラッチパッド性が高まってくる
そういう場合にリアルタイムにコミットされてしまうと割と困るケースがある
例えば2バージョンを比較したいときなど
gitのコミットメッセージが大事という問題
リアルタイム編集時は、ある程度の粒度でスナップショットとしてundoができるようになっている
ただし「どの地点に戻るべきか」というのは人間が精査しなくてはならない
この地点を探すことはかなりストレスとなる(新しいファイル~2みたいなやつといっしょ)
人間に手間を掛けさせることで履歴はリーダブルなものになる
コミットメッセージを書かなければいけないのは人間にとって不便だが、協業する場合には必須
高度なことをするために
人間が高度な作成作業をするためには「複数バージョンの見比べ」が必須
例えばイラスト。自分は必ず複数候補を作る
良し悪しを判断する材料集めができないままに、高度なものは作ることができない
「人間が気軽に使えること」と「人間の能力を引き出した高度なものを作る」ことはどちらが大事なのか?
「一人が気の赴くままに作れる」のと「複数人の意向がぶつからないようなヒントを作りながら協調する」ことのどちらが大事なのか?