Thoughts on Auto Save

Back in 2011, with Mac OS X Lion, Apple introduced a new autosaving document model. The concept was like this:

  • all changes are to saved to disk as you edit a file (not necessarily at every keystroke, but every few seconds);

  • since there would be no unsaved changes, there is no prompt asking you to save changes when closing a document;

  • … except for untitled documents where the prompt ask you where you want to save them (with the option to not saved the document).

Also in Lion came Versions, a feature keeping a history of save points for your documents. With it, you can navigate through the older versions of a document in a Time Machine-like UI from the app which opens your document. The version history is used when you want to revert a document to what it was when you last opened it, or to its last explicit save point, in the new autosave model.

It turns out that I quite like the new autosaving document model. I think it makes more sense than the older one. But if you’re accustomed to the old one, I agree that it can be hard to adjust. For my part I’m well accustomed to the new behaviour now.

To me, interrupting the user every time he closes a window to ask whether the changes he just made need to be saved or forever forgotten is the ridiculous thing to do. How many times a user clicked the wrong button and lost hours of work? I know I did a few times. Better save now and let the user revert later if needed. I’m glad it works that way now.

It wasn’t always clear to me now why this document model was adopted. Some said it was to make it more like iOS, and perhaps it’s true to a certain extent. But I think now the more important reason would be to make seemless syncing between devices work as expected. If you wait for the user to explicitly save a document before syncing it to other devices, you’ll end up with conflicts. You need to have a single true version of the document; you can’t have various unsaved states on different devices that’ll conflict with each other when you try to save.

Imagine editing a document on your Mac, then later opening it on your iPad only to find out your recent changes aren’t there because you forgot to hit “save” on your Mac at home where the document is still open. If you do any edit on the iPad you know they’ll conflict with whatever was not saved at home and you’ll have some tedious manual merging to do. You’re stuck. The new document model, by always saving the current edited version to disk, makes conflicts much less likely.

That’s said, while I think the new autosave model is good, there’s a lot of things that could be improved in the surrounding parts.

A problem I see with the new model is that version management isn’t that well done. Currently you have to open the document and navigate through a Time Machine-like UI to revert to an older version. If you just want to make a copy of the old version of a document somewhere, the way to accomplish that is terrible. It’d be much better if the Finder could let you browse previous save points for a document (perhaps in the Get Info window?). It should also let you open those previous versions, copy them elsewhere, and delete the ones you no longer want. The side-by-side view within the app can be convenient at times but is also is a terrible at other times (such as when the app crashes when reading your corrupted document!).

Perhaps another thing that is confusing is that there is actually three modes right now: the old model (save/don’t save/cancel), the autosaving model one with no prompt, and the new autosaving model with a prompt (save/revert changes/cancel).

The optional prompt you can enable in System Preferences for the new model is a concession to those who like the older model. So why not just use the older model when that option is checked? Because the old model sucks with sync, and no one choosing that option wants to make syncing more difficult.

So today, on the same Mac, some apps may use the old model, some other will use the new model. And some apps let you choose between the two with a check box in their preferences. It is rather messy and is making things more complicated for users because not all developers are on board and not all users are happy with the new behaviour.

Here’s what I think should be done to improve the situation:

  • Apple should improve version management by adding a version browser to the Finder, so that users don’t have to rely on apps to get to the previous version of a document.

  • Apple should improve the in-app conflict resolution UI, perhaps by offering to enter a side-by-side mode (like the Versions browser) when a conflict occurs instead of just asking you which version you want to lose.

  • App developers should adopt the new model for consistensy, perhaps with a preference option (such as the one found in Acorn) to choose between the two if deemed necessary1.

I’m aware that enabling autosave in an app is more work for a developer than just flipping a switch. For one thing, the behaviour when attempting to edit a locked document can be particularily tricky in some cases. But think of it this way: it’ll have to be done eventually anyway, if only because more and more of your users will use iCloud or Dropbox to edit a document from more than one computer and will get caught in the unsaved changes trap. And as time passes more apps will use the new model and it’ll become more and more what the user expects.

And personally, I know I am more likely to like an app that doesn’t nag me with “You have unsaved changes” prompts. I can’t be the only one.

  1. In some case it’s important to be able to disable autosaving behaviour. For instance, if you are editing huge documents taking a lot of disk space, autosaving them every few seconds and keeping save points around might cause more trouble than it is worth. So I can see why Acorn needs such a checkbox. In my case I only work with small images and I’m quite happy with autosave enabled in Acorn. ↩︎

  • © 2003–2024 Michel Fortin.