October 25, 2006

IVICA: what to (un)do?

Another interesting discussion at IVICA was prompted by DoHyoung Kim's talk on finding ways to handle multiply-branched histories (pdf). Kim works with Frank Shipman on VKB, a spatial hypertext system that preserves its UNDO history forever: you can load a your ToDo list in VKB and press Rewind and see what you had to do last March 25.

Now, this interested me because Undo objects in Tinderbox have been a headache, probably the leading source of bad behavior in the program. There are lots of tricky edges to Undo and Redo; for example, if you are deleting a bunch of notes, it's easy to be tricked into trying to delete the same note twice, or to having the left hand try to redraw the note which the right hand has just deleted. To get things started, I asked how to decide what actions were worth putting into the History, and which ones were considered ephemeral.

Example: in a text editor, you always want to be able to undo typing. But most text editors don't let you undo scrolling: if you scrolled to the wrong place and want to undo it, just scroll right back.

Frank Shipman went right to the crucial question: should navigation be undoable? There's no clear consensus on principle, though it seems evident that a system like VKB that records every action is going to pile up an awful lot of actions if you start to treat navigation as a semantic act.