History Window
Description
The history window is a Dreamweaver/Photoshop-like list of actions performed since the creation of a document. The history window allows you to roll back changes to a given document to a given point, and select entries and save them as commands that can be executed repeatedly at a later date on any document.
Implementation
The history list is a visual representation of the Transaction Manager's Undo and Redo stacks. It is a multi-column tree, the first column being an individual clickable element that allows the user to roll the current state of the document to that point (see Dreamweaver 3), the second column being the visual description of the transaction.
Actions such as typing, repeated keypresses like backspace etc are coalesced using nsITransaction's Merge method. A description of the command is accessible via the 'getUndoString and getRedoString' methods. This string returns a formatted representation of the action performed. When the user selects transaction(s) to save into a command, it is the string that is saved so that the command can be performed on a different document.
User Interface
I suggest a similar UI to that used by dreamweaver, including the replay button, the save button, and the ability to clear history.