Mac OS X Lion: Auto-save or self-destruct?

July 29, 2011

Update: Read the 10.7.2 update here (sorry, doesn’t really fix the problem).

Update 2: Read the latest from Apple here.

Update 3: Apple has resolved the issue with the 10.7.3 update.

Mac OS X Lion includes a new feature called auto-save, coupled tightly with versions. This feature is designed to automatically save versions of your documents as you make changes. Doing so allows you to rollback changes you made if you decide you didn’t like something you added, modified or deleted. I like it, very nice feature. Auto-save also means you don’t need to click save on your document. Ever. Even if you want to discard the changes you are going to make, you can’t just click don’t save anymore.

For a home user, this isn’t that big a deal. Home users don’t often do destructive editing that they intend to throw away. Home users are writing school papers, letters to friends, editing pictures to be printed, etc. Yes they do sometimes want to make changes and discard them, but far less often than they are going to want everything they do saved every step of the way.

Business users often do destructive editing that they don’t want saved. Form letter templates? Logos that need to be resized depending on what you are printing on? Keynote templates for how the message in the series should look? Some of these (such as the keynote example) by nature you will duplicate and start editing because you intend to keep it.  But not always. Suppose you want to open this current series’ Keynote template and see how an image you want to use will look on it. You drop the image in and you go “nah, don’t like it” and close the window. You have just saved that image into the central template. Yes people can go back a version but now there is confusion, “huh, is this really the template? what happened, is anything else changed I need to fix?”

We have all kinds of standard form letter templates that we use for various things. People open them all the time, put in a person’s name, change a few lines of text, add a personalized goodbye, hit print and then close the window. They have just modified that letter template for every other user on the network and they don’t even realize it because it didn’t ask them to save. What if they added something pretty harsh to the letter and then another person opens it up, changes out the name and just hits print because they know that template is perfect for this letter from the last time they had used it. They just printed out a letter with a really harsh statement intended for somebody else entirely.

The recipe for self-destruct comes from the fact that, while this by itself is just annoying for business users, the fact that Lion does not support versioned files on network volumes (even an AFP share on a Lion Server) creates disaster. Currently, when you make changes to a file that resides on a server and close it, the original file is modified but no previous version is saved that you can revert to when you open it up next and realize your mistake. Want to test this out for yourself?

  1. Take a screenshot with Command-Shift-4 and move that beautiful image over to your file server.
  2. Open the image up in Preview.
  3. Select an area of the image and hit Command-K to crop it.
  4. Print the image (this step really doesn’t matter, but it’s here to give you an idea of why you would do this in the first place).
  5. Close the image.
  6. Open the image again and try to find a way to get your original image back. Buh-bye, no more pretty screen-shot.
  7. Cry.

Version information seems to be stored in the root folder of the volume in a folder called “/.DocumentRevisions-V100”. My guess is that a bug (or maybe an oversight?) in Lion means that clients do not have access to this folder to store and retrieve version information. Or maybe it is storing the version information on the local hard drive but then looking it back up on the remote hard drive (or vice-versa).

Either way, it means that due to auto-save and the lack of versions, anytime you open a document you are forced into doing destructive editing that will be saved when you close the window without thinking about it. What this means for us we cannot and will not roll out Lion to our desktop users until this bug is fixed. I normally try to give Apple the benefit of the doubt. When they change something core I normally try to force myself to try it for a month before deciding wether or not I will hate it or like it. Most of the time I end up liking it. The rest of the time I generally don’t hate it but just live with it. This is one of those times that Apple really dropped the ball and blew it. I’m not sure how you release an OS with such a gaping data loss hole in it. I have already contacted our business rep at Apple to inform them of this issue so we’ll see what happens.

What I would like to see (and told our rep) is the ability to disable the auto-save feature via MCX or some other method. Versions would still work and it would still save versions automatically in the background as I go, but somehow flag them as temporary (in case of a crash). When I close the document I would then be greeted with my old friend the “do you wish to save” dialog. If I click “Don’t Save” then those temporary versions are discarded and the document remains unchanged on the hard drive. If I click “Save” then those temporary versions are re-flagged as permanent and the document on the hard drive (or server) is updated to my latest changes.

What happens in case of an application crash? That is what those temporary flags are for. When the application re-launches, or even another user opens the same document, it would detect those temporary versions and prompt the user about it. “Do you want to continue editing or discard changes?”

To be honest though, what I expect is that Apple will simply fix the server-related bug and leave auto-save on without any way to turn it off.  That will mean some major headaches for me in I.T.  Our users can probably learn to adjust to the new auto-save functionality, but they will be forced into a very annoying work-flow:

  1. Open template letter
  2. Be prompted with the “document is locked” dialog and click the “duplicate” button.
  3. Enter a new filename for the document (presumably, I haven’t done this yet).
  4. Make the changes to the template.
  5. Print those temporary changes.
  6. Close the file.
  7. Remember to delete this new file that was created.

Sorry Apple, but that’s just not going to happen. We’re going to be littered with all kinds of temporary files if thats the case. Or worse, somebody accidentally hits unlock and edits the original.  Or somebody intentionally unlocks the original to make some changes and then before it is auto-locked again somebody else opens it to print off a custom copy again and those changes are saved permanently.