Resize a photo, ⌘-S. Rewrite a paragraph, ⌘-S. Change a line of code, ⌘-S. ⌘-S this, ⌘-S that, ⌘-S everything.
Out of all the keyboard shortcuts that I use every day, the one I use most is ⌘-S, or "save". This is probably true for you, too. Think about how many times a day you create or modify something and then save your work. It is likely the most used task on your machine.
Experience has taught us that when we forget to save and our applications crash, we've lost everything.
Why "saving" complicates things
The burden of "saving" information creates a steep learning curve for users. At WWDC 2011, Steve Jobs said, "When you try to teach somebody how to use a Mac, the easiest of all computers to use, everything is going along fine until you hit the file system and then the difficulty is staggering for most people."
Think about the questions a user needs to answer while in the process of saving:
- How do I save this?
- Where do I save this to?
- When/how often do I save this in the future?
As questions become more complicated, the user experience tends to suffer dramatically.
How do I save my stuff?
When designing an application, helping a user save is, surprisingly, one of the easiest things to mess up. Your users could lose faith in your application if simple tasks are not communicated effectively.
For example, Google recently released a native Gmail application for iOS devices. When composing an email, I noticed a strange icon in the upper right corner.
This is a floppy disk. In this context it means "save draft". It took me about five minutes to understand what this icon was and what this button accomplished. And the worst part is I owned many computers that used floppy disks.
This is an example of ineffective communication and made the user experience challenging. Changing this icon to something more modern would be a good start, but an even better adjustment is removing the button and automatically save drafts. This completely removes a tedious thought process for users.
Is there life outside of constantly saving?
One major usability problem that applications suffer is neglecting to alleviate stress from the user. Great usability comes from working with the user, not just providing a handful of features for consumption.
A good juxtaposition of this is comparing two iOS apps: Notes and Evernote.
I recently moved a large portion of my Evernote library to the native Notes application. The reason for this is because the experience Notes offers is native and much simpler.
Saving in Notes (iOS)
The Notes app handles saving in a very unique way. Interestingly, the app does not have the word "save" anywhere. The application recognizes any changes and saves automatically.
You can switch to a different application and your changes are saved and pushed to iCloud without requiring any manual input. This allows a user to spend less time managing a file system, and more time focusing on the actual task.
Saving in Evernote (iOS)
When creating or modifying a note in Evernote, a "Save" button appears in the top right corner. When you make changes to a note, the changes will not be saved and pushed to the Evernote server unless you invoke a save via the button in the top right. This forces the user to think about secondary tasks when their primary objective is to simply create notes. Removing these burdens creates a simpler, less intrusive user experience.
To save or not to save
How applications function and the user experience they provide is all about context. It may make sense for a word processing application to automatically save for you. However, you may not want an application like Transmit to work the same way. You likely want to carefully review all modifications and then save the changes to the web.
It is all about the details and the context.
Let your users use
This little rant of mine is a call to think about the functions of your applications. Whether you are designing for web, mobile, desktop, physical media, or something else it is important that your decisions have meaning and work to help the user, not hold them back.
Whether it is saving a document, adding an event to a calendar, or deleting a task in your to-do manager, the detail to the user experience is the most important factor. I, a user like you, prefer a well-crafted experience over a feature-laden application almost every time.