Advanced Web Development

The first approach is to create a screen-based system with very rich interactions using a sophisticated, powerful technology such as Java or Flash.

The alternative approach is to create a page-based system using easier-to-learn core web standards like XHTML and CSS whose more basic capabilities force less-rich interactions. A new technological approach, dubbed Ajax, might just be the right mix between the two.

Ajax: A Middle-of-the-Road Approach

Ajax is a new web technology that marries the benefits of both screen and paged-based approaches. By allowing more sophisticated functionality using easier-to-implement web standards, Ajax is proving a real alternative for creating powerful web applications.

Jesse James Garrett of Adaptive Path coined the term "Ajax" in February of 2005, but the technology behind it is not new.

Developers building Ajax interfaces leverage the same tools as page-based approaches: XHTML, CSS, and JavaScript. So why is Ajax suddenly a popular topic?

One reason is that several large companies including Google have created amazing applications using the technology: Google Maps, Google Gmail, and Google Suggest are all built using Ajax.

Another reason is the continuing adoption of standards compliant-browsers that support Ajax technology, most notably Firefox, Safari, Opera, and Internet Explorer 8.

Freedom from the Page Refresh

Typically, when users enter information into an input field on a page-based web application, nothing is done with that information until they press "submit". After they press "submit" the information is sent to the server, a response is returned, notifying the user of success or failure.

During this time, which typically changes based on the speed of the connection and the amount of processing being done, the user sits and waits while the page refreshes.

While we've found that the actual download time doesn't lead to user frustration all by itself, we have seen that users desire (and expect) immediate response to their queries—reloading a page can result in user confusion. For example, users often find it difficult to recognize pages containing error messages, particularly if they can't see the error messages without scrolling.

Ajax applications, on the other hand, don't need to refresh the entire page to update information on it. Instead, Ajax apps can simply update parts of the page at any time, giving users an instantaneous response to their inputs and queries. This allows users to continually see what they're working on and react to any changes, errors, or updates the interface notifies them of.

Instant field Checking & Saving

One of the most beneficial features that we sometimes take for granted in desktop applications is the capability to instantaneously check the data we type in. In spreadsheet applications, for example, our name entered in a numeric field will instantly produce an error that we can fix immediately.

On the Web, it is easy to check fields on the client side using JavaScript. This produces an immediate effect, and mimics the behavior of a desktop application. However, for security reasons it is necessary to check all fields on the server end as well. Fortunately, Ajax allows that to happen, too.