Dougal Campbell's geek ramblings

WordPress, web development, and world domination.

Old wine in a new bottle

The topic of Ajax is pretty hot right now. And some people are getting a little hot over the naming. As I pointed out yesterday, and as Ian Hickson and Dare Obasanjo have also said, Ajax is not a new technology. Web developers have been doing this stuff for years under various names. JavaScript Remote Scripting, Remote Scripting with IFRAME, JPSPAN. But for whatever reason, the name “Ajax” has stuck.

So, what is Ajax? It’s a combinination of tricks which allow web developers to dynamically communicate with a backend server from the web browser without requiring a page refresh. This provides a more seamless experience to the user by making a web page behave a bit more like a normal software application. Typically, this is accomplished by some JavaScript code which exchanges data with the server by means of either a hidden <iframe> element, or by use of the XMLHttpRequest object in more modern browsers.

Again, this is not something new. Brent Ashley was doing this stuff five years ago with JSRS. So why all the hoopla now? Why did the name “Ajax” stick? Why the sudden Ajaxmania?

I think it’s just a “right time, right place” thing. It’s only been recently that big commercial companies have started using the technique for applications that are in the public eye. And that’s because it’s only been (fairly) recently that you could count on a significant percentage of web users to have browsers that supported it. Five years ago, there were still a significant number of Netscape 4.7 browsers out there. Internet Explorer 5.0 was still fairly young, and there were plenty of IE 4 and even IE 3 users. But now? IE 6 and Mozilla 1.0 dominate the browser landscape, and Safari is the king of the Macintosh hill. Basically, the web environment is much better able to support remote scripting now than it was five years ago.

So, sure, Ajax is “old wine in a new bottle”. Let’s not get hung up on the name. But, personally, I think that “Asynchronous Remote Scripting Engine” would have been great. Then if you were debugging your rich client application, you could complain, “I’ve got bugs in my ARSE!”

About Dougal Campbell

Dougal is a web developer, and a "Developer Emeritus" for the WordPress platform. When he's not coding PHP, Perl, CSS, JavaScript, or whatnot, he spends time with his wife, three children, a dog, and a cat in their Atlanta area home.
This entry was posted in Browsers, Software, Tech and tagged , , , , , , . Bookmark the permalink.

15 Responses to Old wine in a new bottle

  1. Pingback: Scott Sanders :: blog

  2. Pingback: brentashley

  3. Mike P. says:

    I have a theory why it happened, or maybe that’s just a name for it ;-)

    Gotta say your name would’a been more catchy…

  4. Bill S. says:

    One correction. You say that Ajax is Remote Scripting OR XMLHttpRequest. The article that coined the name states that is not either OR but it is XMLHttpRequest and NOT remote scripting. There is a big difference. Remote scripting requests through HTTPRequest for a standard HTML GET and then usually copies the results to some innerHTML elsewhere on the page. With XMLHttpRequest you get data back and manipulate it on the client. The data could be XML or Javascript or HTML but it is extremely fast.

    We have been using remote scripting for a few years. Once converting over to XMLHttpRequest we are seeing 10-50 time speed improvements.

    The key is the concept of micro-requests and not page requests. Sure some people have done it before, but classifying and naming an approach is a key to wide spread adoption.

    Adoption of this opens up the door for fine-grained events performed Asynchronously.

    See
    http://www.adaptivepath.com/publications/essays/archives/000385.php

    And
    http://jpspan.sourceforge.net/wiki/doku.php?id=javascript:xmlhttprequest

  5. Ronaldo says:

    I coming to agree with the “right time, right place” theory, adding also a “right name” to it. Like Brent, I’ve been using it for years already and was surprised to see it get so much press recently.

    What worries about the whole thing is how it will affect accessibility and the proper use of standards. That’s a lot harder to do in an Ajax context and people will tend to worry less about it since, in some cases, may mean double the work.

  6. Dougal says:

    Bill S.: I don’t see anything in the original article that states in black-and-white that there is a real distinction between Ajax and Remote Scripting. It does specifically mention XMLHttpRequest as a key component, though. So, technically, you could exclude non-XHR methods from the Ajax umbrella, if you want to be pedantic.

    However, I think you’ll find that however specific some people might want to be, the term “Ajax” is going to encompass a more generic range, as I’ve outlined here. At a high level, there is little difference between using IFRAME-based communication or XHR. It’s an implementation detail. Developers are going to freely attach the Ajax moniker to these similar techniques just as a matter of convenience.

    It’s kind of like the whole “hacker vs cracker” debate. Many people spend a lot of energy trying to educate the world on the distinction. But the world doesn’t give a flip. Even I’ve given up on that one. I use the word “hacker” for both cases, and let context define the distinction, and when necessary, I explain the difference to my audience.

  7. Kevin Clary says:

    Why is Ajax hot now? One word, Google.

  8. jbot says:

    @Kevin Clary:

    Let’s face it, Adaptive Path are just bandwaggoning. They hope to get more business, sell more seminars, from this, because they hope by attaching a new name to an old technology they’ll get all the plaudits and more revenue. It’s a con. They’ve invented nothing, but hike up their own plublicity.

  9. Bald Eagle says:

    The “right place, right time” factor is were it’s at I think. The same holds true for cascading style sheets. Now you can design/develop entirely in CCS and forget about tables. In IE that is. Unfortunately, Firefox is gaining market share, but the current version has its flaws when it comes to supporting CSS.

    I am wondering: how does using AJAX influence a web page’s ability to get indexed by search engines?

  10. Dougal says:

    Ajax’s affect on search engine indexing will depend entirely on how you use it. If your pages are designed to still function normally without Ajax, then it shouldn’t affect the indexing. If you design your pages such that they can only be used with Javascript enabled, then it could prevent search engines from seeing some of your content (depending on exactly what you’re using Ajax for.

  11. Iwo says:

    Good point, its been around for some time but now the web environment is able to support remote scripting much better.

  12. Reign says:

    I’m new to this AJAX thing and slowly learning everything about it, and I’m glad that you guys, a discussion like this are a great help to me. Thank you.

  13. Dylan says:

    I think that you chose a good allegory to compare AJAX with a new bottle. Yes, it sounds to be new but we can find a lot of information about this technology. By the way thanks for the additional details.

  14. I think AJAX is here to stay no matter if Google drives its use or not. There are too many applications running it. I also agree that running potentially good content in AJAX is a waste if you’re wanting to optimize your site for search. Gary

  15. Pingback: I was Web 2.0 before Web 2.0

Leave a Reply

%d bloggers like this: