[Openmcl-devel] undo size

Raffael Cavallaro raffaelcavallaro at mac.com
Tue Jun 14 12:25:47 PDT 2011

On Jun 14, 2011, at 2:26 PM, Peter Paine wrote:

> My context is for animated undo/redo so disk or cloud persistence of saved states don't seem to tally.  By analogy, if I were in Photoshop and painting a brush stroke, I'd need to be able to back-and-forth the incremental brush strokes, rather than jump back to the last saved state.

A document version is just a persistent form of the deepest part of the undo stack. This suggests that undo/redo stacks shouldn't be very large or persistent. In fact, it makes sense for a certain number of undoable operations to trigger a version save and subsequent limitation of the undo stack. I.e., save a version when the undo stack first reaches n deep and after each subsequent n undoable operations, and keep the undo stack limited to n deep.  

Beyond a handful of operations the whole concept of undo/redo can be seen as an abstraction violation. What the user really wants is a previous state of the document. How this is accomplished, whether by a large number of repeated undo operations, or by reverting to a saved previous version, is unimportant. Since the OS is going to provide extensive built in, cross application support for the viewing, editing, copy-pasting, etc. of previous versions:


as well as autosave and cloud storage, I think it makes sense to embrace the view that any undo beyond a few levels deep belongs in a document version.

warmest regards,


Raffael Cavallaro
raffaelcavallaro at me.com

More information about the Openmcl-devel mailing list