Everyone should read Jef Raskin's The Humane Interface. He expresses many of his interface ideas used with the Canon Cat and Archy in the book. I now consider thoughtful interface design a moral decision.
> Every action should be undoable, even after a document or application has been closed and reopened.
At first, this sounded ridiculous. Undo after a save? But then I realized I do that now & then myself, using a version control system. So here I am editing a DVCS-managed document. Pre-save undo is handled by the editor, while post-save undo is handled by the DVCS (which is nice, but I usually have to look up how to do it).
All this underscores what crappy interfaces we really have, and how we get used to them, and so overlook their serious flaws.
Jef doesn't think you should have to save. It should be automatic. I've been thinking about a system that version controlled a file after every keystroke. It would be a little heavy but, consider that you could undo anything forever.
> Every action should be undoable, even after a document or application has been closed and reopened.
At first, this sounded ridiculous. Undo after a save? But then I realized I do that now & then myself, using a version control system. So here I am editing a DVCS-managed document. Pre-save undo is handled by the editor, while post-save undo is handled by the DVCS (which is nice, but I usually have to look up how to do it).
All this underscores what crappy interfaces we really have, and how we get used to them, and so overlook their serious flaws.