Ajax loading screens

Right, here’s the thing. Using Ajax technologies is pretty cool. They can help your web application really feel smooth and whippy and quick. Like a desktop application. However: There is no point in using Ajax if you have to pop up a “Loading” screen and wait ten seconds when a link is clicked. Read that again. There’s no point. There is no difference in the UI between “click a link, see a ‘loading’ image pop up, wait ten seconds, the page is rebuilt with the DOM” and “click a link, wait ten seconds, see a new page load from the server”. None. Please, please, stop doing this. If it’s going to take ten seconds to load a page, just load it from the server. That way, the browser takes care of the work, your pages are more likely to be bookmarkable, and it very rarely dies half way through. Picking on Google Reader for a moment, about 10% of the time I click the “All items” link and get the loading div pop up, that loading div never goes away and I have to refresh the whole page using the browser Refresh button. This user experience is no better than using an “old-fashioned” no-JavaScript web app. It really isn’t. Browser manufacturers have spent ten years thinking about what to do when a page load fails, and perhaps how to do some recovery, and users have spent ten years learning how to cope with a ropy and abortive internet. Please, just stop doing this.