I think it’s been pointed out so much that nobody can miss one of AJAX’s apparent faults – the back button and it’s unexpected results for the user. There is an expectation gap of sorts between AJAX, users and browsers.
What does this mean for a hypothetical one page Web Application? Pressing the back button, and seeing everything fall apart is not something a user expects. There’s a gap in expectations between browsers and AJAX. Browsers are designed around the concept of using hyperlinks to browse from page to page – a multipage environment. But AJAX flows against that concept, existing to update a user’s current page, not to refresh the entire page and add it to browser history. Does the browser care about this? Well, seeing the results of back button usage – it doesn’t appear to…
Add the related expectation gap between users and an Ajaxified web page and you see an obstacle taking shape. Users are not particularly familiar with AJAX, many will never have heard the term, nor witnessed it in action on a large scale. As far as they are concerned, that button in the corner of their browser labelled “Back” will reverse any action they make. But such an assumption can fail when pitted against an ajaxified webpage or web application.
Stop thinking of a web application as a collection of pages.
The back button is not a bug in Ajax, it’s a flaw in the browser metaphor.
It’s difficult to see back buttons vanishing at any stage, and it is possible under many circumstances to work around the issues it raises. But the back button is not an “undo” button… Who do we look to for a resolution, browser developers or AJAX users?