Blog of Geof

Monday, Feb. 4th

Undo And Redo On iOS

Gruber:

I would’ve bet my house — because even if you’ve never even heard of Pixelmator, you of course know how to invoke Undo and Redo in any Mac app: Edit → Undo and Edit → Redo, with the shortcuts ⌘Z and ⇧⌘Z. In fact, even their placement in the Edit menu is always the same, in every Mac app: the first two items in the menu.

iOS does in fact have a standard convention for Undo, but it’s both awful and indiscoverable: Shake to Undo

Personally, if I were designing an iOS drawing app I’d go the first route, and follow Apple Notes’s lead with “⟲” and “⟳” buttons.

Think about that: iOS user interface conventions are so shallow, so widely and wildly inconsistent, that an app proclaimed by Apple as the very best of the year has to start, as the very first thing you see when you launch them, by teaching you how to use Undo. That’s a sad state of affairs.

Consistency is my favorite thing about mac apps. A good mac app feels like a mac app. iOS, on the other hand, is a design and interaction playground (jungle? smorgasbord?).

I think some of this is because iOS was so limited interaction-wise when it first came out. Therefore, every designer and design team came up with their own creative solutions to extend the interactions on iOS. I also think it has to do with how software design has come to prioritize uniqueness* (sometimes above all else). The amount of bespoke design in an iOS app is much higher than mac apps. Often, this can confuse users (including me).

Procreate Blog:

We think Procreate's Undo gesture is one of the best things we've ever made. Apple highlighted it as an exceptional user experience when Procreate Pocket was lucky enough to win iPhone App of the Year 2018, and it's one of our most beloved features. It's simple, fast, and takes full advantage of multi-touch.

It's also one of our most-stolen features (over a dozen apps and counting), and we're fine with that. In fact, we’re giving it away. Seriously. We've put together a sample project covered by the Simplified BSD License, which means you can add to or modify it as you wish.

Ok. I will. Github: ProcreateUndoGesture

*Uniqueness is something all apps should find the right balance of. But, perhaps, undo gestures are not the right place for this quality.