Inside Mac OS X 10.7 Lion: Auto Save, File Versions and Time Machine
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.
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.
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.
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.