Insider 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.

Versions and Time Machine integration

However, Windows' Shadow Copy is really intended for creating a snapshot of an entire volume for backup purposes; users can't trigger the creation of a new version of an individual file in Windows. This makes Lion's Versions a very different beast: its more akin to a versioning file system that works like Time Machine, but local to the user's own disk.

This also appears to be used to make Time Machine much faster to open, as the Time Machine user interface can now access local snapshots take between remote backups, a sort of "instant Time Machine" retained locally on the machine.

Prior to Lion, Time Machine only worked if you had a remote backup accessible from an network or externally attached disk. Now it can be opened immediately to access local snapshots. If you have both local snapshots and remote backups, Time Machine will let you browse both, with the remote backups depicted in a green timeline and the more immediate and recent local snapshots presented in black and white.

Auto Save and Version integration

In applications that Auto Save, regularly saved Versions are created automatically. Lionized apps like TextEdit no longer mark their documents as unsaved via a red dot in the window close button, as they should be saving documents automatically.

When an app quits, its documents should be saved, as they are on iOS; this wasn't always the case in our testing however. If an app quits or crashes, new changes since the last Version were sometimes lost. This is likely something that will be address as Lion continues to develop. Lion's TextEdit also didn't work correctly with bundle files (folders that act like files).

Rather than an unsaved red dot, Auto Save documents are now given a dropdown menu in the upper right corner of the window that indicates they've been edited since the last Version was saved. This menu also allows the document to be locked to prevent any new changes from being saved to the current Version.

When you attempt to make changes to a locked document, you are prompted to Unlock the file so the changes can be Auto Saved to the document as a new Version, or alternatively you can choose to Duplicate the file so your existing locked document remains unaltered.

Users who currently accept documents from another user and then Save As to a new file to make isolated changes can now Lock the file and Duplicate it to create two separate documents. Alternatively, documents can simply be edited over time with multiple internal Versions, allowing a previous version of the document in time to be compared, borrowed from, or restored.

Files in the Downloads folder are automatically locked by the operating system so the user is prompted to manually Unlock or Duplicate the file in an appropriate location for files that will be edited on an ongoing basis. Files are also locked after two weeks to prevent inadvertent changes introduced while opening and reading a document from being unnecessarily saved.

The Edited/Locked dropdown menu also allows the user to Revert the document to the last saved Version, or to browse all Versions saved within the file using the Time Machine-like, file Versions comparison interface.

Resume

Another Lion feature conceptually borrowed from iOS is Resume, which leaves apps in the state they were in when last quit. Because iOS documents are automatically saved, it's not necessary for users to manage the saving of open documents when an iOS app is quit, either by the user or automatically by the OS (such as to free available memory). When the user reopens an iOS app, it can resume to the state it was formerly left.

Lion brings similar functionality to the desktop, making file and app management less important for users to worry about. Prior to Mac OS X, the classic Mac OS reserved a set amount of RAM for each application as it was opened. This made quitting open apps a necessary step, because it freed up resources needed to open other apps. With the Unix-based Mac OS X, apps running idle in the background typically consume very little RAM or system resources, thanks to OS management of virtual memory allocation and preemptive multitasking, but there still may be reasons to quit apps that don't need to be open.

The classic Mac OS concept of manually quitting open apps remains in Mac OS X, and is somewhat inconsistent. Some apps automatically quit when their last window is closed (such as System Preferences), while others remain open in the background whether they have open windows or not (such as Safari or Mail). The Snow Leopard Dock indicates which apps are running with an indicator light.

In Lion, the indicator light is not shown by default (although it can be turned back on via a Dock preference) because it really doesn't matter to the user whether apps are open or not, particularly as apps begin to support Auto Save and can therefore be immediately quit without losing any data (or requiring any open document review by the user). Like iOS, this should eventually enable the OS to terminate apps that are open but not being used (if necessary), and provide more consistent behavior regarding whether an app is open whether it has windows open or not.

With SSDs and fast hard drives, it is not really necessary to leave apps open, because it doesn't take a significant amount of time to launch most applications. For users, this means they can simply ignore whether apps are running or not, because when they open a document or click on a Dock app icon, the app can launch without any real delay. Resume extends this feature to also restore the state of apps and their windows after the system restarts, such as after a system update.

Comments

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.

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?

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

The Snow Leopard Dock indicates which apps are running with an indicator light. In Lion, the indicator light is not shown by default (although it can be turned back on via a Dock preference) because it really doesn't matter to the user whether apps are open or not,...

Not shown by default? Does anyone see potential issues with this? The article refers to Mac OS X virtual memory management and the Resume feature in Lion, but fails to consider the following:

Will Lion automatically support Resume for all applications, or do they have to be specifically updated for that?

There are applications that can take up memory even when idle. One example is virtual machine software such as VMware.

Without the indicator light in the dock, applications that are open and hidden with the Hide command will look just like applications that are not open.

If the user specifically wants to quit all running applications, there would be no way to tell just by looking at the dock. If you just click every icon in the dock, you risk launching applications that were not open. Right clicking every dock icon to look for the Quit command is also inefficient.

There can be times where users would want to quit all applications. For example, before doing a forced restart or forced shutdown. Some apps might still be responsive even while the rest of the system is not. Even for applications that support Auto Save, there is still the time between auto saves, during which data loss could occur.

While it is good to have options, the defaults can still be questionable. For example, the "Open 'safe' files after downloading" option in Safari being enabled by default.

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).

Uh, no Versions does not save a bunch of different files. Did you even read the article?

Even in your corner case example, is there some reason why you need two files? If so, you can lock the first file (which would apparently happen automatically in two weeks), then when you go to edit it you'd be prompted to Duplicate the file as it shows. You'd call it whatever you want.

Most people don't have one file them update every three years, but whatever.

this new version of the OS gives me a bad feeling in the guts. I am happy that apple has such success with the ipad, but i am NOT convinced that the operating system was the reason of the success. what works on the ipad will defenetly NOT work on the mac. for example: I hate the way the ipad manages files and folders. it is ok on the ipad, because you don't work on it, but it is very stupid on the mac. versions may sound cool in theory, but look at it closer: how many people have problems with timemachine and restoring old files? many! i feel unhappy if such unstable system is part of my secure business life!

it is also a question of trust. i don't like the idea that anyone who sits on my computer has a VERY high potential to for example read old information. someone suggested he wrote his last will and changed it. it's a nightmare to imagine all the side effects to this unnecessary feature!

when i hear that they removed rosetta or frontrow then i am not sure if the new OS is a step forward. at the moment i feel very unhappy about those changes. I feel like apple is on the wrong track, and we'll soon have updated all our systems, and will be very disapointed about all the lost features, wrongly changed user interface and even weird features under the hood (for example the removed "program is running"-dots).

Not shown by default? Does anyone see potential issues with this? But the tone of this article seems to be "nobody needs to know which applications are open because Mac OS X has virtual memory and Lion has Resume".

Will Lion automatically support Resume for all applications, or do they have to be specifically updated for that?

There are applications that can take up memory even when idle. One example is virtual machine software such as VMware.

Without the indicator light in the dock, applications that are open and hidden with the Hide command will look just like applications that are not open.

There can be times where users would want to quit all applications. For example, before doing a forced restart or forced shutdown. Some apps might still be responsive even while the rest of the system is not. Even for applications that support Auto Save, there is still the time between auto saves, during which data loss could occur.

obviously apple wants us to buy even more memoy for our systems and faster chips. everyone who reads this: just click on EVERY icon on your dock, start ALL programs, and you'll see how it works!

if apple was a car company, you could only fill up your car on the apple gas station, and once you drive into the station, your car will automatically be filled up with the most expensive fuel until there is no space left in your car.

this car will also have a steering wheel, but to go to a certain point, you'll have to type in the adress and the car automatically drives there in a way the apple car wants. a way that might be good, but maybe also totally wrong. but it's an apple car, you can not say anything, it just does it.

The biggest problem with versions is other people seeing PREVIOUS VERSIONS of a document that you NEVER INTENDED THEM TO SEE!

If you're working on a long document to send to someone, and then you email someone that document, that person can GO BACK THROUGH YOUR ENTIRE HISTORY OF THAT DOCUMENT AND SEE ALL OF YOUR CHANGES THROUGHOUT TIME!

This is a GIGANTIC concern.

As a result, Apple has made our lives more difficult, because if you want to send a document to somebody else, you now have to duplicate that document or save it as a version, and then email THAT duplicate file to somebody else.

As I said earlier, yes to Auto Save, no to Versions. I want to be in control myself and I fear the mess Versions can create, if only the mess in my head because I can't keep up with what the Mac is doing with my documents.

Question: could this be the reason iWork 11 is still not released, and only will be released together with Lion?