You are on page 1of 2


AJAX is an acronym that stands for "Asyncronous Javascript And XML". For those less
technically inclined, AJAX is a technique, not a product or a brand.
A Primer on the Ajax Phenomenon This is best for use in web applicationWith all the hype
about "Ajax web applications", you could be forgiven for assuming Ajax is some radical new
plugin, akin to Macromedia Flash. And you would therefore be under the impression that
Ajax is out of bounds until you upgrade your "so last month" browser, or at least download
the coveted "Ajax plugin".
Good news: You can run Ajax right now. At least, assuming you have a web browser from the
past few years - IE, Firefox, Safari, or Opera. Have you seen Google Maps or perhaps GMail?
They're both Ajax applications. So are Zuggest and the AjaxPatterns Wiki Demo .
What do they all have in common? All these applications take a great leap forth towards the
richness of standard desktop applications. No longer are you forced to wait five seconds for
the page to reload every time you click on something. Ajax applications change in real time.
They can let you drag boxes around, they can refresh themselves with new information, they
can completely re-arrange the page without clearing it. And there's no special plugin
required. Ajax is just a style of design, one that milks all the features of modern browsers to
produce something that feels less web and more desktop.
Applications can act more like and be developed more like the days of Visual Basic, Delphi,
PowerBuilder, C++ with GUI frameworks, etc. Thus, it is 90's GUI features but with a web
browser: it strives to meld the best of web and the best of desktop GUI's. Web browser
standards were originally designed for e-brochures only. Business forms and other needs
were hacked into this e-brochure framework over time and it is clear that this after-thought
retrofitting for different purposes has been ugly. Ajax attempts to remedy this.
Some of the characteristics of Ajax applications include:
Continuous Feel: Traditional web applications force you to submit a form, wait a few
seconds, watch the page redraw, and then add some more info. Forgot to enter the
area code in a phone number? Start all over again. Sometimes, you feel like you're in
the middle of a traffic jam: go 20 metres, stop a minute, go 20 metres, stop a minute
... How many E-Commerce sales have been lost because the user encountered one
too many error message and gave up the battle? Ajax offers a smooth ride all the
way. There's no page reloads here - you're just doing stuff and the browser is
responding. The server is only telling the screen what changed rather than having it
redraw the whole screen from scratch.
Real-Time Updates: As part of the continous feel, Ajax applications can update the
page in real-time. Currently, news services on the web redraw the entire page at
intervals, e.g. once every 15 minutes. In contrast, it's feasible for a browser running
an Ajax application to poll the server every few seconds, so it's capable of updating
any information directly on the parts of the page that need changing. The rest of the
page is unaffected.
Graphical Interaction: Flashy backdrops are abundant on the web, but the basic
mode of interaction has nevertheless mimicked the 1970s-style form-based data
entry systems. Ajax represents a transition into the world of GUI controls visible on
present-day desktops. Thus, you will encounter animations such as fading text to tell
you something's just been saved, you will be able to drag items around, you will see
some static text suddenly turn into an edit field as you hover over it.
Language Neutrality - Ajax strives to be equally usable with all the popular languages
rather than be tied to one language. Past GUI attempts such as VB, Tk, and Swing
tended to be married to one specific programming language. Ajax has learned from
the past and rejects this notion. To help facilitate this, XML is often used as a
declarative interface language.
To prevent any confusion, these things are not characteristic of Ajax:
Proprietary: "Ajax" is perhaps one of the most common brand names in history, but
in the present context, "Ajax" is neither the name of a company nor a product. It's
not even the name of a standard or committee. It's a label for a design approach
involving several related technologies and open standards such as HTML, CSS, and
Javascript. Each of these is "open" in the sense that its based on a published standard
governed by a standards body and able to be implemented in any browser, free of
legal and information constraints.
Plugin-Based: Ajax applications do not require users to install browser plugins, or
desktop software for that matter.
Browser Specific: As long as the user is working with a relatively recent, mainstream,
browser (say 2001+), the application should work roughly the same way. Browser-
specific applications somewhat defeat the purpose of Ajax.