One of the principles of UI design that I always look out for is error prevention. Good design anticipates any errors that a user might make, and then makes it impossible to make those errors.
Apple’s new iCloud settings screen, shown below, is a case in point. It doesn’t allow you to check the box to sync your photo stream until you update iPhoto to the version that supports it. It would have been easy to forget about this detail. They could have allowed users to check the box anyway, and let photo stream syncing just not work until iPhoto is updated somewhere down the line.
This might sound obvious when you see it done right, but it’s not always easy to anticipate errors. Sticking with the Apple/iOS theme, let’s look at the Omnifocus iPhone app. The app now supports location reminders on iOS 5, which means that you can set it to remind you to do something when you arrive at or leave a specific location. I wanted to try it out, so I set up a reminder to go off when I leave work:
The problem is that the iPhone’s GPS location tracking system needs to be turned on for Omnifocus in order for this to work. I didn’t realize that I didn’t have it turned on for this particular app, so nothing happened. The reminder just didn’t go off. I only discovered my mistake later that evening when I played around with the settings some more.
Designing for error prevention would have prompted me to turn GPS location tracking on for the app before allowing me to add a location-based reminder.
Small details matter.