Archive

Archive for the ‘ajax’ Category

Why is there no browser UI feedback when Ajax requests are in progress?

June 28th, 2007

A common user interface design concept in software user interfaces is the provision of feedback to the user when a user event (keystroke, mouse click etc.) may take some time to process. Jacob Neilson provides excellent guidelines on this topic in Chapter 5 of Usability Engineering.

Internet browsers have always provided visual cues to the user when documents are being loaded from a remote server. Firefox, for example, provides two visual cues to the user when loading resources:


The spinner in the top right corner


The status and progress bar in the bottom left corner

However we now have web sites such as Google Mail that typically serve a single document. The ‘main’ HTML document uses many Ajax requests to update the existing document content after loading or when events such as user mouse clicks occur. The intent here is to provide a more interactive experience for the user by eliminating full page loads which can be slow and distracting.

However, sending many Ajax requests and dynamically updating the page DOM can still be slow so the requirement to provide feedback to the user remains. Google Mail, for example, displays a little indicator in the top right of the page:


GMail loading indicator.

Google Reader provides something similar:


Google Reader loading indicator.

Wouldn’t it be better if the browser UI provided this feedback? Given that the browser provides the implementation of the underlying XHR (XMLHttpRequest) API it knows when XHRs are in progress. The browser could also enable the Stop button to allow the user to decide to cancel current requests.

Seems like it would be a useful enhancement to me…

aehso ajax, browsers, firefox, usability, xhr