Ajax and user experience
I’ve alluded in a previous post about the fact that the typical request-view-reload experience for web pages is capable of becoming a thing of the past with the advent of properly programed and usable web experiences via what has been coined as Rich Internet Applications. What this means is that your typical desktop user experience for a program reports an immediate response in updating the UI (user interface) so that the interactions signal to the user that they are getting something done in the browser. Read on for more of what I mean…
In the past, when you tell your browser to request a new web document by either:
- Typing in the web address in the browser address bar
- Clicking on a hyperlink (which in effect does the same thing as item 1–it’s just your browser doing the typing for you)
This invokes what is known as an HTTP request which sends a bunch of text across the network to the web server you are talking to. Contained within this request is the items or document that contains other items such as pictures and media, etc. Typically this caused your web browser’s page to go white or blank for a few moments while the web server is working on your task and the network is doing its darndest to push all that information back to you. If either of those two things are slow for whatever reason the user may think they’ve done something wrong.
Typical user feedback that the browser is working (and I see people ignoring these ALL the time) are what are known as spinners. These are usually the logos in the browser that show animations.
For example here’s the one from the now historical precursor to Mozilla Firefox: Netscape Navigator 4.8:
![]()
If users don’t see their requested web page come right up, often times they think they did something wrong when in fact the browser is just chugging away waiting for the network and/or web server to respond to their request. (In some cases their own computer may be just multitasking). So they will hit the reload button or click the link again, or my favorite: double-click the link. What I’m saying here is that it’s just not intuitive to the user what they are supposed to do if they don’t see something right away, when in fact they are really being asked to do is be patient. Imagine that.
With Ajax (a coined term for Asynchronous JavaScript and XML) is that the browser is making little tine HTTP requests for updating little parts of the page without browser supported built-in feedback in the way of spinning logos. Sometimes these are present but not always. A lot of the time it’s not even worth it because we have faster networks and faster computers, and the data being requested is teeny-tiny compared to a whole entire page of text and images. An example of this is google suggest.
All of this stuff updates the typical web user’s experience to a point somewhere in between a desktop application where all the computing power and data to complete the task is local to the machine and not on the network or "in the cloud" as it is now becoming popular to say.
With that all said, here is a presentation I saw earlier this week on a talk given by some Ajax user experience experts that I think really hit on this. If you have a spare hour I suggest taking a look at it. A lot of programming terminology is in there but I think it’s important if you are a technologist and expect "cloud computing" or "RIA" or "AJAX" to become part of your instruction
Leave a Reply