Doing some basic mobile development for Android has led me to question a lot about what we take for granted with Desktop applications, and one of the reasons people find these smart phones and tablets a bit more intuitive to deal with. One of the big points is around the Save question.
Ask yourself for a moment, is there any desktop application you use where automatically saving every key stroke would be a bad thing? And for the few of you that can come up with an example, is that content that you are already explicitly versioning with some other system, like source code?
The existence of Save is part of what make computers fragile, or at least feel fragile, to people. You have to be ever vigilant of your data. The price of that vigilance is less productivity, as you always have to remember that you have to Save. Everyone has a moment when they lost some really hard work when they lost that vigilance for a short period of time.
In mobile, there is no time to Save. You have a mobile app open, you are waiting for a bus, and it shows up. You are done, and the phone goes in your pocket. If you had to remember to save, that state is lost. This is a much more natural interaction, and a much more expected one.
When you leave your house in the morning, you don’t nail all your furniture to the floor. You have a pretty good expectation that when you return home your couch and tv will be where you left them, they won’t all have been pushed to a corner, requiring you to reassemble your living room every night when you come home.
The way the real world works is when we push something someplace, it stays. The fact that personal computers broke this metaphor is part of what makes normal people get really nuts about computers. Yes, making software without a save button is harder for developers, but it creates a sense of durability that users really do resonate with. It’s a best practice in mobile, and hopefully something that will bleed over into the desktop application space.