Don’t break the back button

February 22, 2007

One of the golden rules of web development is “Don’t break the back button”.

The back button is one of the first concepts that somebody who is new to the web learns. It gives people the confidence to click on links safe in the knowledge that they can always return to where they were.

Breaking the back button is not a new problem. Jakob Neilsen has been banging on about it for longer than I’ve been using the web.

But, we keep finding new ways to break it.

I wrote recently that this is one of the unsolved problems with applications that use a lot of AJAX. Well, Julien Lecomte from the Yahoo! User Interface team has come up with a possible solution that he’s calling Browser History Manager.

This uses a combination of JavaScript hacks to fool the browser into thinking the page has changed, and so effects what happens when the user clicks the back button. Provided it’s coded smartly it also allows users to bookmark an AJAX page in a specific state, which is nice.

It’s good to see that people are working on this sort of thing, but to me it feels like a very hacky solution.

At what point does the fact we need to fix these sorts of problems cause us to re-consider the whole approach?