Plain Ol’ JavaScript

There’s a refreshing post over on Ajaxian.com called Return of the POJO: Plain ‘Ole JavaScript. They’ve noticed that people, including themselves, have been using the word Ajax to describe any neat JavaScript effect.

Personally, I really like the word Ajax. It’s great to have a short snappy phrase to describe a methodology that involves communication with the server without a complete page refresh. It’s a very broad term but it’s not broad enough to cover absolutely everything that involves JavaScript. Sometimes very impressive results can be achieved using POJ: Plain Ol’ JavaScript:

So, if you know someone who calls every piece of JavaScript “Doing Ajax” let them know about POJ.

Last Friday, I attended the inaugural London Web Standards Group event. In his excellent talk on maintainable JavaScript, Christian Heilmann touched on the subject of Ajax vs. POJ.

He was talking about a JavaScript effect that was quite cool but not production-ready. The script was picked up by Digg and del.iciou.us users who were tagging it with the term Ajax.

“What does this have to do with Ajax?”, asked Christian. “The answer rhymes with this.”

He then showed a slide with two images: a duck and a ball.

Posted by Jeremy on Tuesday, July 18th, 2006 at 12:33pm

Comments

Those referring to every JavaScript enhancement to a web page as Ajax has grown to become something of a bother. I give them the benefit of the doubt as they probably haven’t had their eyes opened and their ears turned by a little book called ‘DOM Scripting’.

I guess the popular myth still persists that POJ is only suited for image rollovers and pop-up windows…

# Posted by patrick on Tuesday, July 18th, 2006 at 6:59pm

Is using the DOM to update a web page or create effects not indeed Ajax? Asynchronous? Check. Javascript? Check. XML. Hrmm.. Check. xHTML falls under XML.

But even with that said, it does get rather confusing if you want to reserve ‘Ajax’ for the whole requesting behind the scenes thing. So in that case, yeah, it’s misused.

While we’re at it, can we petition the developer/designer community to stop saying something with Ajax is ‘Ajaxy?’ Bah.. I don’t really care that much. Say what you want. Call it DHTML if you want….

# Posted by Colin on Tuesday, July 18th, 2006 at 9:34pm

I agree in principle with Colin on this one. The acronym of Ajax is Asynchronous Javascript and XML, of which all snazzy javascript effects perform in execution, regardless of whether communication with the server takes place or not. However since it was coined the term Ajax has been given a lot of stick for this very reason. People use it and unwittingly abuse it, not necessarily because they know what it means, but because it sounds cool and in vogue. It suddenly becomes a catch all for every out-of-the-ordinary javascript effect, like you say Jeremy.

It would be beneficial to educate people on this subject and the true definition of the term Ajax - what it represents - but the truth is if people really cared about the technology and learning the definition they would know the difference already.

# Posted by Steve Tucker on Tuesday, July 18th, 2006 at 11:16pm

Two points:

  1. Ajax is not an acronym. It may have originally stood for something, but no longer. Read the (revised) essay in which Ajax was coined: http://adaptivepath.com/publications/essays/archives/000385.php

  2. Ajax involves communication with the server. If there is no communication with the server, it is not Ajax.

# Posted by Jeremy Keith on Tuesday, July 18th, 2006 at 11:36pm

Two responses:

Unless I pronounce Ajax different from the rest of the world then Ajax is an acronym. Whether it has infact become a stand alone word in it’s own right is a different matter deviating from this topic, but let me reiterate; whenever I say Ajax I mean AJAX. I know Ajax involves communication with the server. To clarify I agreed with what Colin said, that if you break down the term then it could, in theory, be used to define any Javascript behavioural effect. In practice however this term would not be correct.

# Posted by Steve Tucker on Wednesday, July 19th, 2006 at 10:34am

Steve, you are wrong about Ajax being an acronym. Ajax was once an acronym. As an acronym, it was inaccurate and misleading. It is no longer an acronym.

Please go back and read the article by Jesse James Garrett, wherein he defines what Ajax is.

# Posted by Jeremy Keith on Wednesday, July 19th, 2006 at 11:02am

Apart from communicating with the server, isn’t Ajax just javascript done right? I can see how people might want to distinguish their fresh new DOM scripting javascript from the hacky incompatible javascript of old.

# Posted by Alex Farran on Wednesday, July 19th, 2006 at 4:57pm

The qualifying clause "apart from communicating with the server" is a pretty big one. It’s like saying, "apart from not actually being alive, aren’t mannequins just people done right?"

If people want to distinguish the JavaScript coding of today from the JavaScript coding of yesterday, they can use the term DOM Scripting instead of DHTML. But calling it Ajax would be just plain wrong… unless it involves communication with the server.

# Posted by Jeremy Keith on Wednesday, July 19th, 2006 at 5:02pm

In my experience, co-workers have confused some of the (admittedly simple) scripts I have written in the past for Ajax simply because the page doesn’t refresh.

It seems to me that we have done a good job driving home the point that Ajax is asynchronous, but maybe some people have glossed over the fact that asynchronicity alone does not Ajax make.

# Posted by patrick on Wednesday, July 19th, 2006 at 7:19pm

Jeremy, I think you and Steve and I are arguing about something on which we actually agree. I can spot it quickly because my girlfriend and I do it all the time.

Server requests with JavaScript should be called Ajax. Other fancy effects should be called DOM Scripting. And should anyone get it wrong, we’ll all huff and puff about it on our blogs.

# Posted by Colin on Thursday, July 20th, 2006 at 12:14am

"He then showed a slide with two images: a duck and a ball."

Ha ha! Brilliant! :)

# Posted by Olly on Thursday, July 20th, 2006 at 11:22am

Communicating with the server is only one point in five of those listed in the article you linked to Jeremy. Until DOM scripting catches on as a term in the same way as Ajax then people are going to continue to use Ajax to refer to standards compliant interactive web pages. (IMHO)

# Posted by Alex Farran on Thursday, July 20th, 2006 at 4:43pm

Alex, people might well continue to use the term Ajax to refer to pages that don’t communicate with the server. The point is, they’d be wrong.

I’m free to point at a dog and call it a cat. That doesn’t mean the dog actually is a cat.

Communication with the server is intrinsic to Ajax. If there’s no communication with the server, it’s not Ajax — no matter how many people call it by that name.

# Posted by Jeremy Keith on Thursday, July 20th, 2006 at 4:51pm

I think we’re all very clear on that last point Jeremy. I for one (along with pretty much every other Ajax developer, id imagine) is in agreal; Ajax is about communication with the server. That is what makes it unique, unlike the language used to send and recieve the request, which is where confusion arose. This is partly why every man and his dog refers to fancy Javascript as Ajax, in addition I reckon to fancy demonstrations or Ajax like those on script.aculo.us. It is an association thing. On my own site I have known my navigation dropdown to be referred to as Ajax when it is not. The only Ajax used on the site is through the contact form embedded within the dropdown on one of the pages.

In regards to the Ajax being an acronym thing cheers for the link. I have read it before some time ago and it is a good read to say the least. However Jesse says "The name [ajax] is shorthand for Asynchronous JavaScript XML". Does that not make it an acronym?

# Posted by Steve Tucker on Friday, July 21st, 2006 at 8:56am

How many posts about- AJAX , acronym or not? - have we had since someone coined the name AJAX?

Perhaps someone spilled to many JAVA beans over a chunck of javascript? Who knows?

Let’st throw in some more coins: We have AHAH, AXAH, Hijax … If we would flip the coins, what would happen?

Coding is fun!

# Posted by Johan on Tuesday, July 25th, 2006 at 8:39pm

I think the fact that Jesse James Garett, himself (the guy who coined the term Ajax) has said in his seminars that Ajax is not an acronym, kind of puts a lid on that particular argument. Does the purported acronym even make sense? Is JavaScript really asynchronous? I thought it was the event model that determined whether something was asynchronous, not the "programming" language. It just amazes me how this little XMLHttpRequest API has spawnd this "whole new way" of doing things [from a Web browser] and has created such a stir. I guess if you’ve been limping along in the world of HTML, CSS and JavaScript long enough, it kind of looks like a good thing. It’s still just the same ol’ stuff…just more of it.

# Posted by Bill on Saturday, July 29th, 2006 at 1:02am

Sorry. Comments are closed.

July 2006
SunMonTueWedThuFriSat
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Recommended Reading

XML Subscribe

Grab the RSS feed for this blog.

JavaScript API

Grab the RSS feed of comments for this entry.