About the Author

Chris Shiflett

Hi, I’m Chris: entrepreneur, community leader, husband, and father. I live and work in Boulder, CO.


Ajax Is Not an Acronym

And it never was.

In the original article about Ajax, the author states:

The name is shorthand for Asynchronous JavaScript + XML, and it represents a fundamental shift in what's possible on the Web.

Although he never calls it an acronym and never uses it as such, this particular statement can be blamed for the widespread misconception that Ajax is an acronym. Microsoft even thinks it's written as AJAX. Thankfully, most books get it right.

The assertion that it's AJAX reminds me of similar assertions that Perl is PERL. If you have some extra time, read this debate from a few years ago; it's entertaining.

In my talk Tuesday night at New York PHP, I tried to provide a concise and precise definition of Ajax as I interpret it:

Client-side technologies / techniques that allow two-way communication between the client and the server.

I want to include all of the creative client-side techniques used to communicate with the server (e.g., IFrames) without including the purely client-side techniques that don't interact with the server and therefore aren't Ajax at all.

I think my simplistic definition might still be too restrictive, though. In the case of something like Netflix's star rating, the goal is just to send the rating to the server. You can update the interface with CSS, so two-way communication isn't necessary. You could argue that the use of <script src=""> doesn't really constitute two-way communication either. I'm sure there are other examples.

How do you define Ajax?

About this post

Ajax Is Not an Acronym was posted on Fri, 27 Apr 2007. If you liked it, follow me on Twitter or share:

25 comments

1.Simon Willison said:

I've been using pretty much the same definition as you - any technique that allows the browser to communicate with the server without reloading the entire page.

Fri, 27 Apr 2007 at 18:01:21 GMT Link


2.Christian Wenz said:

I think there are three definitions. One is "any JavaScript code that is using XMLHttpRequest". The second one is "a modern JavaScript application" -- some people think that drag & drop alone makes up an Ajax app. The third one is equivalent to yours and therefore also includes Flash applications and Java applets. I tend to the first and the third definition.

By the way, Microsoft uses "Ajax" and "AJAX" with no consistent pattern. For instance, there is the Microsoft Ajax library, and their Ajax framework is called ASP.NET AJAX. Weird ;)

Fri, 27 Apr 2007 at 18:55:08 GMT Link


3.Daniel Krook said:

I think your definition captures it pretty well. The only thing I would change to make your definition a better sound bite is to replace the slash with the word "or."

Personally, I consider it a technique or pattern rather than a collection of implementation technologies though.

Here's a couple of my own peeves:

- Java is not an acronym (bad: JAVA)

- JavaScript has a capped S (bad: Javascript, javascript, JAVA SCRIPT)

Fri, 27 Apr 2007 at 19:00:46 GMT Link


4.Nate Klaiber said:

AJAX is everything flashy. It is web 2.0. It is animations. It is rounded corners. It is gradients.

Oh....wait...

My definition is pretty much what you use. It isn't anything 'special' by any means, its just another level to communicating with the server. Its a middle layer.

I think too many people associate all of the JS libraries (Prototype, Scriptaculous, Jquery, DEDchain, etc) as 'AJAX'

Fri, 27 Apr 2007 at 19:05:35 GMT Link


5.Chris Shiflett said:

I've been using pretty much the same definition as you - any technique that allows the browser to communicate with the server without reloading the entire page.

Glad to hear it, Simon. That gives me more confidence in my definition, as I respect your opinion on the matter.

By the way, Microsoft uses "Ajax" and "AJAX" with no consistent pattern.

Good point, Christian. :-)

I've noticed that most people who make the mistake of calling it AJAX are inconsistent.

Personally, I consider it a technique or pattern rather than a collection of implementation technologies though.

For my talk on Tuesday, I almost used anything initiated on the client instead of client-side technologies / techniques. Maybe something along those lines would be clearer and place less emphasis on any particular technology.

Thanks for the comments.

Fri, 27 Apr 2007 at 19:30:01 GMT Link


6.Martin said:

Your definition seems pretty decent to me also, though its not immediately clear to me whether you're only including techniques that don't require a full page refresh ... which sort of seems rather essential to the spirit of "Ajax."

You could argue that the use of <script src=""> doesn't really constitute two-way communication either. I'm sure there are other examples.

How is it not two-way communication? A request is sent to the server, which may actually even include URL encoded data, and the server returns a response in the form of JavaScript code.

Fri, 27 Apr 2007 at 20:07:39 GMT Link


7.Chris Shiflett said:

Hi Martin,

Good point about page refreshing. I certainly don't want something like document.location being considered Ajax by my definition.

How is it not two-way communication?

I think it is, but I can see how someone might argue that it's not based on the idea that you can't really get your hands on the response. Then again, there's a strong argument against that particular claim.

Fri, 27 Apr 2007 at 20:16:15 GMT Link


8.Jon Gibbins said:

I think your definition is a pretty good one, Chris. It irks me a little when I see people referencing Ajax as a technology in itself when it's actually a technique using a combination of technologies, none of which are particularly new. Funny that it irks me though, when I've never really found myself using the technique! :)

Fri, 27 Apr 2007 at 21:19:19 GMT Link


9.BillyG said:

I don't care what you, Jesse James Garrett, Microsoft, or anybody else calls it.

When he had the foresight to coin the intersection of Asynchronous JavaScript and XML with the term 'AJAX', he used it in the context of an acronym.

From the Merriam Webster dictionary:

Main Entry: ac·ro·nym

Pronunciation: 'a-kr-"nim

Function: noun

Etymology: acr- + -onym

: a word (as NATO, radar, or laser) formed from the initial letter or letters of each of the successive parts or major parts of a compound term; also : an abbreviation (as FBI) formed from initial letters

I listen to dictionaries, which is exactly why I change every occurance I comeacross into proper English when saving items to my del.icio.us account. Since AJAX is old news and there is nothing here to save, I'll skip this one though.

Fri, 27 Apr 2007 at 21:26:11 GMT Link


10.Jon Tan said:

I think that's as straightforward as it gets Chris although I like the inclusion of "without reloading the page" in Simon's comment.

However, being deadly serious for a second, Ajax: 'domestic cleaning agent or ancient Greek hero?

Fri, 27 Apr 2007 at 21:53:24 GMT Link


11.Greg said:

I still am not convinced that it isn't an acronym. I agree that ajax now means more than it did then, but it seems that the origin of the concept is in that acronym, no?

Greg

IBMeye

PS... I love that you have a comments style guide. Great job with that.

Fri, 27 Apr 2007 at 23:53:24 GMT Link


12.Chris Shiflett said:

Hi Greg,

I agree that ajax now means more than it did then, but it seems that the origin of the concept is in that acronym, no?

In what acronym? I quote the only statement from Garrett that makes people mistake Ajax for an acronym. (People who can't be bothered to actually read the article, I suspect.) His article is the one to coin the term, and he has since stated that Ajax is not an acronym, just to clarify the issue.

A majority of all books, the Wikipedia article on Ajax, and the article coining the term consistently use the correct form. As Christian notes, those who use the incorrect form tend to do so inconsistently.

Despite what BillyG and others might hope, this is not a subjective issue. People are of course free to use the incorrect form, but that doesn't make it right.

Sat, 28 Apr 2007 at 00:24:22 GMT Link


13.Chris Shiflett said:

I love that you have a comments style guide. Great job with that.

Thanks very much. :-)

Jon Tan deserves the credit for that. I just chose what I wanted to allow and wrote the code to make it happen.

Sat, 28 Apr 2007 at 00:35:12 GMT Link


14.Ahmed Shreef said:

till now, I see it just as an acronym "AJAX". if I hear someone talking about "AJAX", so I know that he is talking about mixing JavaScript+XML to make requests to the server Asynchronously.

or maybe he is trying to make it simpler to understand what he is saying through using it as a general word that means any Asynchronous way of communication between browser and server. maybe as it's simpler to say and understand AJAX more than AJAJ (JSON) .. ?!

if I want a more general word, maybe AJR (Asynchronous JavaScript Requests) will fit.

in this case: AJAX, AJAJ .. will be just inheriting AJR. this will make sense for me. also. it will be simpler to explain it to the new comers.

if you are giving a class to some developers on how to use this technique called AJAX that means .... . the you will say "but guys, I will use JSON instead of XML". then someone will raise his hand to ask "can we call this 'AJAJ'? ". will you tell him no it's Ajax but not AJAX?!

this will be confusing.

thank you

Sat, 28 Apr 2007 at 00:42:07 GMT Link


15.joshua may said:

I tend to get frustrated at the name 'Ajax', and tend to refer to it as 'remote scripting'. That doesn't really answer your question so much, but I think a more generic term such as 'remote scripting' gives much more value and indication what the technology is used for.

To me, Ajax is a buzzword (and thought of in reference to 'Web 2.0' - another buzzword). Remote scripting, to me, is the less buzzword-y title for essentially the same thing - only minus the web2.0 connotation (which, arguably gives it more credibility in the same sense that 'enterprise' gives languages credibility).

Shrug! Each to their own, I suppose.

Sat, 28 Apr 2007 at 01:26:59 GMT Link


16.Chris Shiflett said:

Thanks for the comment, Joshua. I agree that remote scripting is more descriptive.

I remember Terry Chay's talk at OSCON 2005, which was timed perfectly so that the title was Building Liquid Web Applications with Remote Scripting, but Ajax was what everyone was using (and talking about) by the time the conference actually started. :-)

Sat, 28 Apr 2007 at 01:55:38 GMT Link


17.iamsure said:

Chris, you are right that it isn't a subjective issue. Its completely factual, so I've fallen back to my team debate roots to make a clear rebuttal to your statement in depth in my blog: AJAX and the evolving nature of language.

The nutshell version is that BillyG is absolutely correct, and no change in the term (or its use) since its creation changes the fact that it originated as an acronym.

Lots of respect for you, but this one I think is clearly incorrect.

Sat, 28 Apr 2007 at 08:00:39 GMT Link


18.BillyG said:

"no change in the term (or its use) since its creation changes the fact that it originated as an acronym"

Exactly my point: what the original, evolved, etc. meaning is is irrelevant. We all get the jest of what the conversation is about when the term is used (unless you're talking about cleaning the kitchen sink).

Of course, this is your little world so you are its master - I just came back to see how hot the flames had gotten lol.

Peace.

Sat, 28 Apr 2007 at 10:33:16 GMT Link


19.Chris Shiflett said:

Thanks for the detailed rebuttal, iamsure. You haven't convinced me that Ajax is an acronym any more than I believe Perl is an acronym (neither were originally, but both can be made to be), and I wouldn't consider AJAX the correct form regardless. I don't write LASER, and it really is an acronym.

The dictionary tells me Perl is misspelled.

I just came back to see how hot the flames had gotten.

Hopefully that never becomes a problem. I sincerely appreciate people taking the time to comment here, but that doesn't mean anything goes. I remove comments that contain personal attacks or demonstrate extremely poor behavior. I just want to keep things professional.

The comment by iamsure is exactly the type of comment I appreciate reading. I don't agree with him, but it's nice to be able to see things from another perspective without feeling like the discussion has degraded.

Thanks for the comments.

Sat, 28 Apr 2007 at 14:41:06 GMT Link


20.Zeev said:

Hey Chris,

I might be thick here, and it probably doesn't matter all that much - but how different is 'shorthand' from an acronym? One way or another, he coined Ajax (using whatever capitalization) to stand for Async Javascript + XML, whether it's letter for letter or just a shorthand. So even if people use AJAX, it's quite alright in my opinion since it stands for exactly the same thing anyway. The difference between the two sounds a bit more like a discussion topic for an English lesson than a true difference... No?

I think it's well accepted that Ajax goes beyond just Javascript and XML - although these are still the key technologies at play.

Sun, 29 Apr 2007 at 12:13:41 GMT Link


21.Chris Shiflett said:

Hi Zeev,

You're right that it doesn't matter too much. My interest in such trivial details is the price I pay for being a pedant. :-)

For what it's worth, the original article focuses on describing a new approach to developing interactive applications and mentions technologies in addition to JavaScript and XML.

The use of AJAX reminds me of an eggcorn. It's a common mistake proliferated partly because of its plausibility, much like the phrase lip sing (instead of lip sync).

Sun, 29 Apr 2007 at 15:19:52 GMT Link


22.Kevin Yank said:

SitePoint's internal style guide recently made the shift from "AJAX" to "Ajax" in compliance with common usage. All new content produced by SitePoint uses the "Ajax" form (whereas previously we spelled it "AJAX").

I have been told that the original version of Jesse James Garrett's article spelled it as an acronym ("AJAX"), but that the article was later updated to use the proper noun spelling, "Ajax". Can anyone confirm this?

Mon, 30 Apr 2007 at 02:17:29 GMT Link


23.Ian Maffett said:

I think another point to make is Ruby on Rails is NOT Ajax.

I've had many clients ask us to do projects in Ruby on Rails since it was marketed side-by-side with Ajax. After getting their requirements for the project, they are generally happy to learn the application does not require a re-write in Ruby on Rails to use the cool "Ajax" features.

Mon, 30 Apr 2007 at 13:40:30 GMT Link


24.Jakub Vrana said:

[22] Web archive has several versions of the article and even the version gathered four days after the publication uses "Ajax". So it is gossip most probably.

Wed, 02 May 2007 at 10:10:48 GMT Link


25.Tommy Tom said:

The top link is dead, here is (I think) an alternate link

http://adaptivepath.org/ideas/ajax-...b-applications/

Fri, 02 Dec 2016 at 13:52:58 GMT Link


Hello! What’s your name?

Want to comment? Please connect with Twitter to join the discussion.