Undo Delete vs Confirm Delete

Ashim D’Silva
3 min readOct 2, 2017

--

I’ve noticed an interesting trend in UI taking away confirm dialogs and replacing them with the ability to Undo. And I love it.

The standard for quite a while has been to interrupt flow by presenting the user with a popup that blocks everything and forces the user to confirm the thing that they just clicked. It seems silly when written out like that, but deleting can be a one-way street. When you programme to delete something, it’s gone and there isn’t any realistic way to un-delete something.

It seemed sensible then to confirm with a user, tell them there’s no going back and then do the deleting.

I think I credit GMail for first making delete feel obsolete. Although OSes have recycle bins you can fish things out of, GMail pushed us to think of it as an archive. Archive your mail, and you can still search for it later, or have in a folder/tag. And that move took away that feeling of permanence delete has.

GMail’s Inbox now lets me mark items for later, complete or actually delete, and each of those things happens instantly. With each action, there’s a confirmation that the action happened, and a perfect undo button that let’s me make corrections.

Undo also showed its face with “send” in GMail, for those perfect occassions when you forget an attachment or see an incorrect spelling while you’re mid click and somehow that’s the moment when your senses are on highest alert.

Funnily, it reminds me of the Grace Hopper quote “It’s easier to ask forgiveness than it is to get permission.” Grace was a U.S. Naval officer, and an early computer programmer. She was also the developer of the first compiler for a computer programming language.

The most important thing is simply that the user isn’t interrupted. It feels so very simple, but it just hasn’t been enough of a priority for us to work around it while building.

As a programmer, I have fallen back to the confirm dialogue many times. With undo, instead of simply deleting, I need to tag an item as deleted, hide it from view, and then follow up after some time to actually do the delete. This is a tonne more work I don’t always have the time for. But it becoming more widespread hopefully means patterns, features built into frameworks, and just enough push to make me do it instead of skirting around it to save time.

Part of growing is recognising things better than yourself. As much as we try and sell ourselves as great people, I think part of that should be how much of what we do we want to improve. Seeing something simple like this that I don’t yet do means I’m going to be better the next time. I’m learning. And one of the best ways to learn, is to undo and redo as much as you can.

--

--