>> Because we assume that documents are always saved, if we want to >> create and track different versions of a document, we press the >> Save Checkpoint menu item and the document at that point in time is >> explicitly recorded. This is really only important in memory- >> lacking systems. On a system with a lot of memory, all points from >> the beginning of a document's life to the end is saved -- on memory- >> lacking systems, the most recent version of a document is >> preserved, as well as all checkpoints, while stages in between may >> be dropped as memory gets reduced. > > I saw the Checkpoint option as more a user-thing than a system- > thing. Checkpoints would simply be a named state in a document's > undo history. They would be indexed, and people could easily jump to > them.
I think we actually are talking about the same thing, because what you describe below for examples are exactly the types of uses I would see for it. Although when you say "named", I would say "tagged" or "commented"-- although I think it's just an issue of semantics. A checkpoint could be saved without having to give it a name, and maybe it's tagged by default with the date, but an additional comment or other identifier could be added (ie: "Handed to Joe for Review"). If you look at how the wiki's Page History is set up, that's exactly how I envision checkpoints to work. > Examples: > > In a coding project, I might checkpoint every time I make a release, > with the release name. I might also checkpoint every time I fix a > bug, with the name of the fixed bug. > > In a collaborative document, I might checkpoint every time I hand > over to someone else to edit, so I can replay their changes one at a > time (jump to checkpoint, then redo repeatedly). I might also > checkpoint when I make a major change. > > Many people I know do a sort of manual version control thing - they > periodically save copies of their document under different names > (e.g. `letter - second draft.rtf'). Checkpoints are there to > facilitate this kind of thing - they are just markers you can easily > jump to. This is exactly what I do with my files, and is the primary reason I see this as such a cool feature. It's definitely user controlled, not necessarily periodic or system-enforced. I have folders full of files named filename_yearmonthdate.ext -- if I only had to track a single file and just set checkpoints on it (and comments on those checkpoints), it would make finding an older version much easier and more manageable. Sorry if I didn't fully explain myself or caused confusion. I think we're thinking of this in the same way and envision similar uses for it. J.
