Thursday, March 27, 2008

To save or not to save

Every time I write something on this blog I am reminded that some software is so transparent that I don't even need to think about it. Take Blogger for example. As I type this text, I often stop typing for a few seconds at a time to think... like just then...When I become idle for a bit Blogger notices and takes that time to automatically save my work.

It tells me when it last did it so I can be sure that if something went wrong and I lost my internet connection or my machine crashed, all but the last few words would be safe. If I click SAVE NOW, I get this so I can differentiate when I saved vs. an auto-save.

Notice that the text saying when it was saved is not modal, so I can happily ignore it if I want. This is much better than an Alert saying the same thing since you can't ignore an Alert.

Usually the argument against this goes like this "We can't decide when the user should save" or "What if the user doesn't want to save?" In actuality, it is safe to assume that the user always wants to save. After all, how often do you spend a bunch of time writing something and then not want to save it? You may infrequently, discard changes but that certainly happens much less often. Since it happens so infrequently, Blogger has no way to not save. This was no doubt a concious decision based on knowledge of real users' goals.

Now, some applications may need the ability to not save. But, that doesn't mean that you can't have auto-save. One solution would be to store the last manually saved data in a secondary location until the next manual save. Then if you wanted to revert to your last save after auto-saves have occured, you could simply retrieve it from that secondary location. If revert is never needed, then you could just throw that data away when the session ends.

I can already hear the arguments now. "That would be very difficult to implement", "We should spend our time on REAL features", "How would referential integrity be maintained?", etc.

In some applications this not trivial. But, as usual, the arguments against rarely mention Jane Smith, the professional writer. Remember, software is meant for humans to use to solve their problems. We can't leave them out of the equation.


Anonymous said...

Speaking of do you save in Klok?? I enter in my time...but then if I close the program and open it again the info is lost. I'm ovbiously being dense. :(

Rob McKeown said...

Klok saves the data automatically. I'm not sure why it isn't working for you. Send me an email and I will help you trouble shoot it.

Anonymous said...

Do you like playing in the game which you need to use maple mesos, when you do not have mesos, you must borrow cheap mesos from friends, or you buy maplestory mesos. If you get maple story mesos, you can continue this game.