Ah, Undo and Redo — the holy grail for those that make mistakes; saviors of ‘oh shit’ moments; enablers of the daring; unsung heroes of obsessive writers, carefully restructuring their sentences. You’ve been with us since the early days of computing. You deserve better than the terrible gesture given to you on iOS.
If you don’t know about Shake to Undo, I won’t blame you — I’d rate its discoverability on iOS at the utmost lowest, below even 3D Touch. Granted, it’s not a hard concept. Make a mistake? No problem, just literally shake your phone in disgust and look like a dumbass in the process. It’s especially ‘fun’ if you do it in front of people. Even if they’ve used the gesture themselves, you might get an odd look. Oh, and just to make matters worse, we’ll make you tap a slow-to-appear prompt to confirm your action (see top image). Have a lot to undo? Oh well. You’re in for more shaking than a Shake Weight commercial. I can only assume whomever concocted this gesture likened it to shaking your head when something isn’t right, but it’s been a huge swing-and-a-miss we’ve had to put up with for far too long. It’s even worse than squeezing the sides of your phone as an input method, found in Android phones. Come to think of it though, I might prefer squeezing my iPhone to Undo/Redo. I still might feel a bit ridiculous, but it sounds like a better mechanism on paper.
I shouldn’t loathe using a gesture, but that’s where I’m at with Shake to Undo. To be specific, I am speaking mostly about this gesture on iPhone. This is less of a problem on iPad, as you have a full-screen software keyboard, complete with contextually-aware Undo, Redo, Copy, Cut, and Paste keys. You’re in even better shape if you have a hardware keyboard attached for that sweet CMD + Z and CMD + Shift + Z action. Still, as dumb as I feel shaking my iPhone, I would feel like a colossal moron shaking my iPad, as if in a fit of fury.
Now, a good amount of drawing or specialty apps have dedicated Undo and/or Redo buttons in their toolbars. Here are GoodNotes and Excel, for instance. This is less of a problem for these apps, but I still think a better system-wide solution is in order.
The solution is obvious though, isn’t it? Any time you need to Undo/Redo, just ask Siri.
[pause for laughter]
Good one, right? Ok, for real this time.
Here’s my proposal for fixing this in the most straightforward way I can think of. Add contextually-aware Undo and Redo options to the formatting toolbar. It makes perfect sense, since Copy/Cut/Paste already appear here. If you don’t know what toolbar I’m referring to, it’s the pop-up one presented when you tap or tap-and-hold on text and other media.
Before I present a simple mock-up of simply adding these options to the existing toolbar, I have a mini-rant about its layout. I can’t believe Apple presents this menu as one long, scrollable horizontal toolbar. In a day and age where we have more vertical space than ever (I’m looking at you, iPhone X), I can’t fathom why they haven’t changed its design. There is plenty of vertical space on every current-generation iPhone to at least double its height. To illustrate my point, here’s my combination Undo/Redo mock-up and tweaked design for this toolbar. Note: this doesn’t take into account every single option that can appear on this toolbar (depending on the app, selection, etc.), but I think it gets my point across.
The lower half of the bar could still be scrollable if there are additional options required for the app, but at least you’d have most of the common options readily available. This would also make multiple Undos/Redos faster than shaking and waiting for the prompt we have now. That is to say: the bar could remain visible after hitting Undo or Redo, and dismissed only by tapping outside its bounds.
This would work for virtually any scenario you’d need Undo/Redo in (i.e. manipulating content). What do you think? Is there a better way? Let me know! Any reasonable solution would be leaps and bounds better than what we have now. Fixing this would make for a better experience and offer better discoverability. Not to mention I can stop feeling like a dumbass whenever I need to Undo.