Breaking the Back Button

2006 March 28
by Karen

Walt Crawford started a discussion about AJAX and breaking the back button that I want to follow up on here. First let me say that people need to note that AJAX isn’t the first web technology to “break the back button”. Java applets, Flash, some DHTML, and other embedded media objects also “break the back button”. However, this isn’t intentional. It is a result of these technologies being used to try to make the web experience more interactive. The problem is that the back button was designed around a web where people went from HTML page to HTML page. The problem is that many web technologies today have the user staying on the same “page” (read URL here) but with the screen changing. In these instances the back button doesn’t work.

So why do it this way? Well, there are at least two reasons. One in some cases you can’t get the desired real time interactivity any other way. Two, this method is much faster (read responsive) because it doesn’t involve interactions with the server, which can take time. From what I’ve seen, this kind of problem gets solved as the technology matures.

Partly because we built better/smarter/fault tolerant systems, but partly because user expectations change. Two years ago who would have tried to drag objects on a web page around, like they would drag things around on their desktop? Yet today this functionality is being increasingly built into web-based systems. In fact, I mistakenly tried to drag something around in GMail today thinking that I could sort things this way. Oops wrong web-based mail application!

The bottom line is that we have to make intelligent choices about what technologies we implement. We’ve been doing this for years when we chose what minimum resolution, browser, platforms, etc we would design for. This is no different. But to make these decision means understanding our users, what their expectations are, what technologies they have access to, and what their desires are. In an ideal world the website works equally well for everyone, but the truth is that this isn’t any ideal world. We can’t choose the lowest common demoninator without alienating users, so we need to choose a middle road which allows us to provide the best experience for the widest group of users.

5 Responses leave one →
  1. 2006 March 28

    Thanks for the informative, thoughtful discussion. Or at least I’m better informed now.

  2. 2006 March 29
    casey permalink

    The Dojo toolkit does AJAX without breaking the back button…

  3. 2006 March 29

    You can try and attempt to capture what the back button will do. It doesn’t work in all browsers, though like Safari and older versions of other browsers. I was reading up on Dojo and they have made some attempts to manage what back buttons and bookmarks do and even preserve states for the sake of the back button and such.

  4. 2006 March 30

    Good post, great points, and one I’ll follow up on myself. I hope, anyway!

  5. 2007 June 26
    Terry Morris permalink

    Check out the Polaris implementation of AJAX. I’m not sure how you are defining break the back button but its pretty cool they way Polaris does it. You do have to click twice to get back, is that what you mean by broken?

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS