I downloaded the new versions of iWork on my iPhone and iPad and went through the Getting Started guides. On the whole I’m very impressed with Apple’s UI design work on these applications and with how much I can do on a computer that fits in my pocket. However, I have to say that I really hate the idea of “shake to undo” as the only way to do Undo in an application like Numbers.

Here’s what I’m talking about:

Numbers for iPhone, Shake to Undo instructions

Numbers for iPhone, Shake to Undo instructions

So the idea here is that if you make a mistake in your spreadsheet and want to undo, you just shake your iPhone. There is no visible Undo button – shake is the only way to do this.

What’s my problem, you ask? It seems like a very natural motion and once you learn it, it’s easy to remember (especially if you have any life experience with Etch a Sketch). Well, here goes:

  • First, the user really has to shake the iPhone or iPad. A gentle shake doesn’t really do it. This makes sense because the designers don’t want an accidental shake (while riding on a subway, for example) to Undo. The designers want to be sure of the user’s intent.
  • In fact, the designers are so worried about accidental Undo that they have a confirmation to Undo. Undo shouldn’t need confirmation. The user should Undo, and then if he didn’t like it he can “Redo” to go back to where he started.
  • Ah, but when the designer uses shake to Undo there IS no Redo. Normally the designer might have an Undo button and a Redo button in the toolbar or menubar… There’s no Redo at all in any of the iWork iOS apps … and for iWork applications that is a problem. Knowing how this is going, in the next release users will shake their iPhones up and down (instead of side to side) to Redo.
  • Because the shake has to be vigorous, it takes a few seconds to actually perform the action. So the designers have taken something that should be a very fast “tap” on the screen and turned it into a 3-5 second trip away from the application. That’s assuming that the user actually shakes it vigorously enough – if not, he has to shake it again and again until he gets it right.
  • If the user needs to do 3-4 undos in a row, as I did while working on a spreadsheet, he is just going to love shake to undo. This is how it went for me: shake the phone, look at the screen see if I shook it enough to get the confirmation dialog – nope! Shake it again and look for the dialog – yay! Now touch the confirmation dialog. Repeat. Honestly, it took me about 30 seconds do to 4 undos. Ridiculous!
  • There’s nothing subtle about shaking. If the user is trying to work on a spreadsheet during a meeting and he makes a mistake, shaking an iPhone (or iPad for that matter) violently enough to undo will attract the attention of every single person in the room. Enjoy!
  • There’s also real risk in shaking an iPhone or an iPad – it’s all too easy to drop the device. The iPad, especially, requires a two handed grip to hold effectively while shaking.
  • If the user is working on iWork with his iPad, chances are he has the iPad in his lap or propped up in a stand. To do an undo he has to pick it up, hold it with both hands, shake and then check the screen to see if he succeeded. When he’s done, he has to put the iPad back on the stand before he can return to work. Does this seem like a good idea to you?

Shake to undo is cute. For some applications it’s probably ok for designers to rely on shake to mean undo (especially for games and applications targeted to children). However, if you are designing a productivity application or an enterprise application then you should have an Undo button (and, ideally, a Redo button). If you want to also shake to undo, that’s fine. But while the undo button should never have a confirmation dialog, your shake to undo probably should – you never know when some over excited user will jump up and down while using your application and accidentally delete all of his work.