ツリー構造のUNDOって格好良くね?
昨日からずーっと、既存のものよりもスマートなUndoが作れないか悩み中。
Undoって、push/popのスタック方式というか線形のヒストリだけど、ここってツリー構造のヒストリの前例ってあるのかな?? 基本的に現在いるブランチを前後移動させれば、フロントのUIはそのままで、ヒストリーをツリー構造で記録できると思うのだけど。でブランチに移動したい場合は拡張UIを使う感じ。
元Appleの増井さんが昔、「人生におけるキータイプの回数なんて、大した量じゃないんだから、全てのキータッチをログって保存しとけ」的なことを、言ったとか言わないとか。 ちょうどそんな感覚て、いまのマシンスペックなら全てのヒストリーをツリー構造で保存できるんじゃないかなと。
普通の作業じゃあツリー構造のUndoとか要らないと思うけど、プロトタイピングやデザインの場合、過去の全てのステップを横断的に移動できるってのは、とても価値があることだと思う。 単なるundoの枠を超えて、その人の行った思想と思索の全てを記録できるっていうのかな、保存しておけば資産としてものすごい意味があるデータになるんじゃないのか。
というようなのが、AodbeのIllustratorやOmniGraphに搭載されないかなぁ、と思う今日この頃。
2009 年 6 月 18 日 11:57 AM
更新は累積するので、別ツリーになっている更新が互いに独立しているならば、UNDOも可能だと思います。でも、普通は独立していない事が多いから、難しいんじゃないかな・・・と。
2009 年 6 月 18 日 1:25 PM
UIは別として、概念的にはgitが近い考えじゃないかな?
2009 年 6 月 22 日 11:26 AM
ひとつの例として、Emacsだと UNDOという動作自体も履歴に入るため、UNDOできます。時間は線形なので線形で表現できそうな気もします。すべてのアプリのすべての動作に適用できるか?という点、および、それがわかりやすいか?という点は検討が必要かと思います。