My company does a lot of work developing web applications for different clients. A reporter contacted me asking about how using AJAX to implement a web application helps the client. It's a good question, and subtlely different from the standard end-user and developer viewpoints you find in most articles about AJAX. I think there are three main benefits for the client (the organization that is paying for the webapp) and three different benefits for the end user (the guy who ends up using the client's site.)
Benefits to Clients
- Decreased bandwidth & server load
AJAX uses XMLHttpRequest objects to fetch data from your server, instead of loading a new page whenever a server response is needed. These simple, targeted requests require less bandwidth than a full page load. Loading a full page requires multiple database calls; an AJAX request could result in only a single database call, saving time and decreasing server load.
- Easy to aggregate data from multiple sources (mashup)
- Buzzword compliance
Your developers will be so incredibly happy that you have chosen to use AJAX. They will be able to tell their associates, "at my job I write AJAX code!" Your developers think this makes them cool, but it doesn't really, and it will never get them laid. Still, you tried.
Benefits to Users
- Responsive user interaction
When implemented effectively, AJAX lets web applications dump the old click-to-submit model, and move towards a level of interaction associated with desktop software. One major stumbling block with web usability has been latency in the user interface. AJAX eliminates the need to reload pages in order to exchange information with the server, increasing speed and decreasing latency.
- Simplified user interface
Another artifact of the click-to-submit model of user interaction is the complicated interfaces required to perform certain tasks, such as filling out a long form or navigating a complicated hierarchy. By communicating with the server behind the scenes, AJAX can present a more intuitive interface with fewer explicitly labeled components and more instant feedback.
- Lightweight, short load times
Compared to other interactive platforms such as Flash, Applets and Executables, AJAX tends to be faster to load without requiring browser plugins (ala Flash and Java) or system-level access (ala executables,) while also being cross-platform compliant.