Inside Mac OS X 10.7 Lion: Auto Save, File Versions and Time Machine

Mac OS X 10.7 Lion makes a conceptual leap away from the Mac's original focus on opening apps to create files, launching a new task-centric interface borrowed from iOS. Lion apps can also auto save multiple Versions of the document for Time Machine-like recovery of previous iterations of a file.

Auto Save

Lion-specific apps, just like iOS apps, will largely manage the saving of documents themselves, allowing users to focus on what they're doing rather than managing file system concepts. While still a work in progress, Lion's new Auto Save feature goes beyond just saving a backup copy to prevent lost work (something apps like TextEdit and Microsoft Word already do).

Rather than just automatically saving an alternative background copy at set intervals, Lion's Auto Save feature actually saves documents as a series of differential changes to the same file, making it largely unnecessary to remember to save a new file or to save the file before quitting an app (at least in theory).

This flexibility, already implemented on iOS, focuses the user on the task they want to do, allowing the operating system to take over the tedious task of handling file management. It also allows users to incrementally step back though the changes they've made to a document.

Versions

Rather than manually selecting to "Save" a document and then later choosing to "Save As" a separate file, apps designed to take advantage of Auto Save and Versions in Lion will offer to "Save" and "Save a Version," as the new TextEdit does (below).

A Version is a snapshot of the document in time, not a separate file. Rather than littering the file system with separate versions of a file, changes are recorded to the file as internal Versions along with timestamps of when they were saved. This allows user to essentially undo changes or recover a previous state of the document as it has evolved over time.

Google's online Docs provide a similar type of versioning functionality, implemented as an "undo stack," where users can revert to a previous revision, or view (and copy data from) a previous version for restoring data that was edited out at an earlier point.

It appears Mac OS X Lion's Versions does something similar, based on previous work done for iOS. Apple's iWork iPad apps (Pages, Keynote and Numbers) enable the user to perform a series of undo operations even after closing and reopening a file, indicating that Apple saves each change as the user works, so that each edit can be undone at any future point.

In Mac OS X Lion, file Versions are presented in an interface similar to Time Machine; it depicts the existing version of the document, along with a historical timeline of incremental changes that have been saved as Versions (either manually by the user, or by Auto Save, which is scheduled to save a new version every hour, and also anytime you open the document to begin an editing session.)

Versions vs Time Machine

With Versions, users can step back through time to recover the previous state of a document, just as if they had saved a new copy of the document on a regular basis and kept backups of all the changed files. Similar to Time Machine's multilink backups, Versions only saves the changes to the document, avoiding duplication of all the data that hasn't changed.

Unlike Time Machine, Versions appends all the change snapshots within the local document file, avoiding a file system mess and the need to access backups from a Time Capsule or other external disk just to revert back to previous Versions created in the last several hours.

Versions also differ from Time Machine in that users aren't just limited to restoring a previous version. Instead, you can bring up the hourly snapshots (or any manually saved Versions) of your document, find a particular paragraph you added several days ago but then subsequently deleted, and then copy just that part out of the old snapshot and drag it into your current version of the document.

While Time Machine helps you step back in time to grab a missing file or contact or other item from your backups, Versions allows you to actually step back through time and selectively browse through the work you've done.

This makes Versions more similar to the "Previous Versions" (Shadow Copy) feature Windows users liked to compare to Time Machine. One difference is that Lion's Versions feature, like Time Machine itself, has been given an easy to use, visual interface.

On page 2 of 2: Versions and Time Machine integration, Auto Save and Version integration, Resume.

Sometimes we need protection from these improvements meant to help us. Just one example, with "versions".

As I understand it, if i have a document three years old, and have edited it on a number of occasions, it's gonna exist in its original form plus all the overtly-saved "versions" AND all the auto-saves (default: once per hour). From the illustration, those versions are distinguished by date and time, but not renamed--as can be done using the save-as function. To find a desired "spot" in that continuum I have to search them all, instead of having useful, identifying filenames.

Say what?

Over the past two days, after a meeting with my attorney, I've revised my 2008 "Separate Writing" document that is a part of my will. When i initiated these recent edits, I opened the 2008 file and saved it as "Separate Writing v 2011". Pretty simple, right? I now have two "versions" of that separate writing--one with the suffix v 2008, and one with the suffix v 2011.

Which better serves my purposes? Clearly, the latter. From the illustration in this article, there's no option to "save as" and rename a file. So instead of two clearly identified (by filename) documents, I'd have perhaps 20 or more--all with the same filename, distinguished only by date and time that provide no insight into content, or intent.

So to me, this would be a step backwards. (Give me the ability to "save as version" AND rename that version, and i'm on board).

Sometimes we need protection from these improvements meant to help us. Just one example, with "versions".

As I understand it, if i have a document three years old, and have edited it on a number of occasions, it's gonna exist in its original form plus all the overtly-saved "versions" AND all the auto-saves (default: once per hour). From the illustration, those versions are distinguished by date and time, but not renamed--as can be done using the save-as function. To find a desired "spot" in that continuum I have to search them all, instead of having useful, identifying filenames.

Say what?

Over the past two days, after a meeting with my attorney, I've revised my 2008 "Separate Writing" document that is a part of my will. When i initiated these recent edits, I opened the 2008 file and saved it as "Separate Writing v 2011". Pretty simple, right? I now have two "versions" of that separate writing--one with the suffix v 2008, and one with the suffix v 2011.

Which better serves my purposes? Clearly, the latter. From the illustration in this article, there's no option to "save as" and rename a file. So instead of two clearly identified (by filename) documents, I'd have perhaps 20 or more--all with the same filename, distinguished only by date and time that provide no insight into content, or intent.

So to me, this would be a step backwards. (Give me the ability to "save as version" AND rename that version, and i'm on board).

This is an excellent point. Seeing as Lion is only in developer preview form and about 4 to 6 months away from release, you should submit this as a bug fix to Apple. If you are a developer, I am sure you can submit it through your developer account or some other means.

I agree, there has to be a way to name files. And I think there will be--or maybe already is? Maybe you pick a name when make a New file, AND also when you Duplicate? (In other words, Duplicate is much like Save As after all?)

One good sign: the fancy new Finder features mean than good old named files are not gone!

But it's not entirely clear to me how this all works. The new system needs some tweaking--and luckily Apple has months to do that in. (Right now it doesn't feel "iOS simple" to me. And it could!)

Sometimes we need protection from these improvements meant to help us. Just one example, with "versions".

As I understand it, if i have a document three years old, and have edited it on a number of occasions, it's gonna exist in its original form plus all the overtly-saved "versions" AND all the auto-saves (default: once per hour). From the illustration, those versions are distinguished by date and time, but not renamed--as can be done using the save-as function. To find a desired "spot" in that continuum I have to search them all, instead of having useful, identifying filenames.

Say what?

Over the past two days, after a meeting with my attorney, I've revised my 2008 "Separate Writing" document that is a part of my will. When i initiated these recent edits, I opened the 2008 file and saved it as "Separate Writing v 2011". Pretty simple, right? I now have two "versions" of that separate writing--one with the suffix v 2008, and one with the suffix v 2011.

Which better serves my purposes? Clearly, the latter. From the illustration in this article, there's no option to "save as" and rename a file. So instead of two clearly identified (by filename) documents, I'd have perhaps 20 or more--all with the same filename, distinguished only by date and time that provide no insight into content, or intent.

So to me, this would be a step backwards. (Give me the ability to "save as version" AND rename that version, and i'm on board).

Someone will need to confirm as I don't know, but I would guess that when you do 'Save a Version' you can choose the name of the file that will be created. That would be 'logic' for me.

You would have the main version of you document, then in 2008 when you had a 'finished version' you would save a "Separate Writing v 2008" version and then in 2011, edit again the main file and then save a "Separate Writing v 2011" version.
That's how I see it.

Are the changes all part of the actual file, or separate in the file system somehow? What happens if you edit a file type that is not a private type for that application; how do other applications that may not know how to interpret the revision data work with the file? For example editing an HTML file in TextEdit, and then viewing it in Safari? Does Safari only "see" the most recent revision? Does that happen automatically, or would Safari have to know about the revision data?

Are the changes all part of the actual file, or separate in the file system somehow? What happens if you edit a file type that is not a private type for that application; how do other applications that may not know how to interpret the revision data work with the file? For example editing an HTML file in TextEdit, and then viewing it in Safari? Does Safari only "see" the most recent revision? Does that happen automatically, or would Safari have to know about the revision data?

And what happens if you open such files on an older Mac OS version? Or Windows? Or Linux?

Wasn't there also some controversy a while back about Microsoft Word files containing everything that the user had typed, even if they edited and resaved the file? And people would be able to go inside the file and see things the user did not intend for the readers to see?