« Block Comment Quick Trick | Main | Using HTML Comments for printf() Debugging »

April 10, 2006



Man, I couldn't disagree more.

So when you design a system, do you have to sit each user down first and explain the difference between hypertext document nodes and application states?

Max Rabkin

I'm not sure about anybody else, but when I say a webapp "breaks the back button" (mostly about Sakai), I mean "the back button doesn't take you back one page". In Sakai, the back button takes you back to the previous "section" (each module has sections, which contain multiple pages; there isn't really a way to go back to the previous page without navigating from the module's first page).

Jonathan Dodds

It's December 2007 and this post which I wrote back in May 2006 has found its way on to reddit. When I wrote this post I was reacting to something very specific which I didn't reference. If I were to rewrite this post today I'd make a number of changes.

I'd change the tone.

I would amend my argument by explaining that context matters. As an example go to Amazon, bring up an item, click 'add to shopping cart', and on the shopping cart page hit the back button. Do you expect Amazon to take the item out of your shopping cart? Does Amazon have a usability problem because the web site doesn't undo adding an item to the shopping cart on the back button?

I'm snide about a usability study but I don't explain that it's the usability study that I think is flawed not the users' conceptions. It goes back to that context thing. I think the average user is smart enough to understand context and doesn't rigidly expect that the back button should always undo.

Finally, I'd expand on an idea I only touch on at the end: treating the back button as an undo is a leaky abstraction.


Very strongly agree.
Back and undo is two different things.
Using back as undo just confuses users. Implementations tend to screw up the whole web behaviour, like using javascript magic, when a link is clicked. Alternative clients, like mobile devices won't work, google won't index the pages, etc. A simple and great system is turned upside down.

If your system needs undo function, you can just put an undo button on the UI. This way, it would be clear for the average user, what is 'back' and what is 'undo'.

Dean Edwards

What you think is irrelevant. The average user perceives the back button as an undo button and that's the end of the argument.

The comments to this entry are closed.