Sunday, 23 September 2012

Forgiving Design and Reversible Choices

Yesterday as I was ruminating on topic of this post, I wandered into a large supermarket and headed downstairs to pick up some large bottles of juice. Rushing along the drinks aisle I realised I probably should've picked up a basket at the entrance. Fortunately, the supermarket had allowed for this slip of judgement and had a stack of baskets waiting by the bottom of the escalator.

They had understood that shoppers make mistakes and designed the store in a way that forgives these mistakes.

When designing any user journey, it’s vital to think to think about how fallible humans will use your product in practice. Don Norman devotes a whole chapter to this in The Design of Everyday Things. Often a tiny fix can result in a significant improvement in user experience. You can either design your processes such that errors can easily be rectified later (as with the shopping basket example), or you can allow users to immediately reverse an action that they’ve made by accident.

One major benefit of this approach is that it immediately makes users more comfortable in exploring your product, knowing that nothing they do is irreversible without warning (assuming you're consistent in this!)

A few well known examples should make this clear

1. Gmail’s “undo” feature.

Almonst any significant action in Gmail gives you the option to undo it immediately. Obviously this is a feature that most desktop software has had for years, but for some reason it’s still uncommon in web applications.

Most famously, simply by introducing a short time delay, Gmail allows you to undo the sending of an email, letting you to claw back that hasty rant or add that missing bullet.

2. Facebook’s “Edit comment” feature.

Hit return thinking it would insert a new line rather than submitting your comment? Realised that without that final emoticon people might not realise you're joking? No problem, there’s an edit link right there.

3. Chrome’s "Reopen Closed Tab" feature

Ever closed a browser tab by accident? Ctrl-Shift-T in Chrome will bring it right back. A lifesaver.

To err is human

Next time you’re designing a user flow, see if you can find it in your heart to forgive your users their little mistakes. They’ll love you for it.