Published in Marketing on Tuesday, March 22nd, 2005
There has certainly been a lot of hubub after Jesse James Garrett posted his article defining Ajax, and from where I sit, it would appear that some people still don't get it. This has been more then just giving something a new name, the coining of the term helped push Ajax into the mainstream.
Update: The WSJ article quoted below can be read in full, without subscription, here.
Okay, maybe 'don't get it' is a bit harsh, but something has happened here and it's worth noting.
Looking at the del.icio.us comments that link to Call an Apple an Apple, you can sort of decipher just what's going on:
don't coin new terms for technologies that can be described using existing terms
Ian has a point, but I'd been calling it 'remote scripting' for years and all I got were whuzzuh expressions. I say Ajax and people know what I'm talking about
And now everyone is talking about Ajax as if it's some sort of new technology, despite the fact that people have been using it for years.
Many people are familiar with Malcolm Gladwell's book, The Tipping Point (if not, get up to speed quick with wikipedia).
Well, from the point of view of that book, the whole Ajax idea has tipped, thanks in large part to the fact that there is now a name attached to it that is quite easy for everyone to get. I'm sure it helped that not only is the Adaptive Path website a great connector, but the whole fuss itself (at least amongst us web folks) served to get this word out.
Not convinced? From Zdnet: But in just a month, "AJAX" has gained currency with the recent flurry of blog postings and a story about it in The Wall Street Journal.
(my bold, read article elsewhere). The WSJ talking about Ajax? Seems to me that the word got out.
Sure, Goggle started using xmlHTTPRequest in their beta applications (mainstream stuff for us web development folks), but this whole concept didn't really get so hot until the term Ajax appeared. That's right, the whole concept tipped when someone (quite conceivably a connector) explained what it was all about and gave it a simple, undaunting name.
Lets look at the comments from above.
The first comment has a point, in that 'remote scripting' as a term describes the technologies we are dealing with here, albeit in a vague sort of way. In addition, the term has been around for a while now, and never lit any fires, so to speak.
The second comment is a bit revealing. There it can be seen that the term Ajax has done something, it has reached 'people' and those people get it.
The third comment sums it all up. These technologies have been around for a long time, but now with Google's implementations and this easy new term (see comment #2), this stuff is going mainstream.
I know that I may be oversimplifying here. The coining of the term 'Ajax' wasn't the only thing that made all of this so hot right now (hello magnum), but I'd wager that ajax: a new approach to web applications was the tipping point for remote scripting, I mean xmlHttpRequest (with or without xml), no, I meant XML and script...
Cerainly Google's work and past work by people like Brent Ashley and Harry Fuecks and Jason Sweat made it all the more easy for this stuff to catch on.
As a last point, if coining Ajax was the last push needed to put the use of these technologies over the top, to make them an everyday term for not just us but our clients, then good for us. Remote scripting may just be more marketable now, and I for one would like to get paid to use it.
Sitepoint's web devlopment books have helped me out on many occasions both for finding a quick solution to a problem but also to level out my knowlegde in weaker areas (JavaScript, I'm looking at you!). I am recommending the following titles from my bookshelf:
I started freelancing by diving in head first and getting on with it. Many years and a lot of experience later I was still able to take away some gems from this book, and there are plenty I wish I had thought of beforehand. If you are new to freelancing and have a lot of questions (or maybe don't know what questions to ask!) do yourself a favor and at least check out the sample chapters.
The author line-up for this book says it all. 7 excellent developers show you how to get your JavaScript coding up to speed with 7 chapters of great theory, code and examples. Metaprogramming with JavaScript (chapter 5 from Dan Webb) really helped me iron out some things I was missing about JavaScript. That said each chapter really helped me to develop my JavaScript skills beyond simple Ajax calls and html insertion with libs like JQuery.
Like the other books listed here, this provides a great reference for the PHP developer looking to have the right answers from the right people at their fingertips. I tend to pull this off the shelf when I need to delve into new territory and usually find a workable solution to keep development moving. This only needs to happen once and you recoup the price of the book in time saved from having to develop the solution or find the right pattern for getting the job done..
Comments and Feedback
I don't really think the coining of "AJAX" was the tipping point. Especially since posts like Dave Shea's DHTML '05 described the increasing trend almost two months before the post on Adaptive Path.
I'd also be on the side of those people that don't like the name - because I'd swear there's a cleaning product with the same name.
Well, I wouldn't count Dave Shea as someone who I would expect to not be "in the know" about something like this, nor do I think his article caused much fuss, or that describing the trend has anything to do with this tipping (and there's no way this hit the WSJ because of Dave's article!).
Forsight of an event is one thing, it actually happening is another. What you saw with Dave and Simon writing about this were the people in the trenches catching on.
Here are some numbers - before Ajax, I was documenting xmlHttpRequest links and resources and I'd get a few hits a day to that page - less than 100, some from del.icio.us but most from Google. I was ranking well for 'javascript', 'xmlHttpRequest' and the terms you'd expect. Post Ajax I easily get over 1000 page views a day on those pages alone.
I would expect people like Dave Shea and Simon Willison to know this, and maybe you and me, but from where I sit, Ajax hit epidemic a couple of days after Jesse's article.
Do you think Ruby on Rails would have gone intergrated Ajax so quickly without all of the hype? I doubt it. Sure they had been using it since the beginning (I think), but Ruby on Rails is positioning itself to be a leader in this emerging trend.
With respect to the name itself, they could have called it "Petr", the timing, defining it and bringing it to the forefront, and doing so from the soapbox that Adaptive Path has is how it tipped, IMO :-)
I kicked and I screamed, but the horse left the barn.
"Ajax" it is.
"I'd also be on the side of those people that don't like the name - because I'd swear there's a cleaning product with the same name." #
Yeah, well I'm quite sure of the fact there's a Dutch football team that goes by the name of Ajax as well.
That being said, I can't say I dislike the "new" name for this "old" technology. I mean, seriously, Ajax vs. XmlHttpRequest -- I'd know what to go for.
Hey, at least it's not 'Clorox' or 'Bon Ami'.
I'm all for the new term.. it's simple and puts a face on a methodology that ought to be getting more attention. It's going to take forever anyway for all the "legacy" websites out there to start thinking about the user. If this helps, and I think it will, then more power to the cleansing goodness of Ajax (sorry, couldn't help it).
Yup, it's tipped.
What clinches it for me is that I've come to the realization that I really need to go insert the word Ajax all over my site because anyone new to the concept searching for similar techniques will not be able to find me in search engines without it.
So Ajax it is, for better or worse. If it doesn't actually describe the mechanism, as long as the concept is understood, I'm fine with that.
We all still say CR and LF for "carriage-return" and "line-feed" and they no longer have anything to do with sliding a carriage full of rollers and paper across in front of a set of type-hammers and feeding the paper one more line.
Count me in with those who still don't get it. "Thing" got a fancy name, and is used by a company beloved by the pundits, and suddenly it is all over the place. My guess it says lots about the whole echo chamber that the blogosphere is.
Gotta say that used to be a fan of Ajax the football team.
Brent, you are spot on with that - I stuck Ajax into the top of the resources pages here when the article published, and they were updated on google within 6 hours (lucky there). After that the onslaught began.
Philippe, momentum was building and AP had the right soapbox and the right moment to make it happen, to push it over the edge. At that point, with a new name, a single (albeit not complete) definition was given, and the Ajax era of remote scripting was born. Because of the momentum, the new definition, the name and the reach of AP, the hype happened and new sites, scripts and proof of concepts started appearing... (nice to hear from you, hope the quake left you alone, again).
(Bon-Ami, very funny ;-)
Before there was the "hamburger" there was BUN+SAUCE+BEEF+BUN. Of course, folks got tired of saying it that way.
So someone coined the term "hamburger" to describe it. The tipping point!
We could have described this "new food technology" with existing terms . . . *and* BUN+SAUCE+BEEF+BUN had been around for a long time . . . but it was just easier to say "hamburger."
If you don't "get it" now, you're doomed.
Apostle
There is nothing new with ajax. The first time I saw a concept based on the techs used was on Anders Noras blog last year (http://dotnetjunkies.com/WebLog/anoras/archive/2004/08/13/21962.aspx).
He calls them chubby clients. This is a cool name, because these kinds of programs are in the middle of thin (web) programs and fat (desktop) programs.
Heh, 'chubby' is a cool name, and you are right, it's nothing new. Brent has been at this for almost five years now! The 'big news' is that it is finally Big News!
Arg - I lost the previous comment here after the mysql server had a hiccup and I had to build from a backup. If anyone happens to have the text in their comments feed, could you please fire it my way? (or if the commenter feels like reposting, go for it!).
2 comments.
1) Naming. Read about the Joshua Tree Principle.
http://www.msu.edu/~bruce/joshuatree.htm
If you don't understand the power of naming then I would hate to see your designs and your code. Abstraction is key to collecting ideas into a name. Even if you don't like the name.
2) Remote Scripting is not necessarily XmlHTTPRequest. Remote Scripting had really been defined as doing an HTTPRequest with a hidden iFrame and copying the results into an inner HTML.
See JSPAN's article on this
http://jpspan.sourceforge.net/wiki/doku.php?id=javascript:remotescripting
Its amazing to me how many people claim this is an old idea but almost all of the sites that I had seen before the AJAX bruhaha did not use XmlHttpRequest.
Google (demonstrated to large audience + Firefox & IE Support (majority of browsers) + Ajax Article (gave it a name) = a hell of a lot more sites that are now using it.
We were using plain old Remote Scripting before and now that XmlHttpRequest is legitimized by Google we are getting awesome performance boosts in our applications. Customers/Users are raving about it. That means $$$.
How tiresome is it with all the people bragging about how old the technology is?
It's also really lame that Microsoft shose to link httprequest and XML. There's no reason that the data has to be formatted as XML and Google, for one, usually doesn't format it as such.
Also holding the whole concept back is the inability to use xmlhttprequest cross-domain (without changing obscure security privileges).
Yeah, it is a bit tiring, but I would imagine that it happens in most cases where this occurs...
Hey PB,
There's actually a whole universe of possibilities with xmlHttpRequest, cross-domain is one of them for sure, but you have to think of it from a different point of view...
Ajax Web Page:
-Display
-Interact with server (A) via Ajax
Web Server (A):
-Delivers the page in the first place
-Continue delivering stuff to ajax
-Connects to server (B) via web services
Web Server (B):
-Processes requests and returns information to server (A)
See that? you just need to develop server to server applications, and then call those methods from the front-end using ajax.
Everything is possible. Just give it a twist ;-)
In the UK we call AJAX - CIF
Yeah, yeah, I think the funniest one I heard was "Bon Ami"...
Rob R: Ajax is a different cleaning product from Cif.
All: "Remote Scripting" actually explains what you can do with it. Also, 'Ajax' might go the same way as 'dhtml', where it caught on and got implemented in broken and non-backwards compatible ways. It took the creation of a proper DOM standard to clear it all up a bit. I'd hate to see history repeat itself.
Isn't AJAX and older and wiser brother of XML-RPC? I, for one, welcome our new web-cleanser overlords...
There is something I don't understand about Garretts proposal. The first A in Ajax, comes from Asynchronous. However, I don't understand very well how this model is not synchronous. In his original post, he compares the two models (classic vs. ajax) using a simple figure. However, the Ajax model from my point of view continues to be synchronous, that is, the client gets a response from the server after an action. Furthermore, his graphic for the Ajax model seems to be flawed. It shows the Ajax engine displaying information to the UI before the information has actually returned from the server. How can this be?
A trully asyschronous model is one where instead of the client pulling information from the server, the server pushes information to the client, with or without a preceding action. For example, in an email application the server notifies the client when new email arrives, without manual input, or the client actively checking the inbox every few
minutes.
I am missing something? I agree with the previous comments. Naming is important, specially for the widespread adotion and understanding of technologies. However, it helps if the principles are solid and clear, avoiding confusion and future problems.
I think that there are multiple arising trends right now, and ajax (even if I have to use the name, I don't need to capitalize it all the time) is just a part of what's really coming about.
I'd call it minimalism, but I was shunned many a time by my arts-educated frieds for using the term in an improper way. But if you look at what's going on in web design (xhtml, css, standards) and web programming (I was going to say "frameworks", but for now it's "Rails", really), then ajax is the glue that brings them together. We are in the process of refining the web interface into a slick and efficient way of working with networks and information.
It's not only the web of course. The whole IT industry is changing for the better. Security, ease of use, ergonomics, all the stuff that was missing from the geek toys that computers and the web were not that long ago. I belong to the generation that literarily grown up with computers, my first being the Commodore 64. I want the technology to grow up with me now as much as it did from when I was a kid.
Carlos R: AJAX is asynchronous in the sense that you don't have to wait till an ajax request is completed until you continue to use the application (i.e. the web page). By the way, you can also make synchronous "ajax" calls, but that would make it "sjax", wouldn't it?
Mike: you did a really great job at designing this site, both the looks and the code, really slick, I'm tempted to say: perfect :)
Hi , I'm working on a chat with a ajax engine. The engine is almost ready, the XHTLHttpRequest part is working already. For the datatranwmission I use plain html.
The asynchronus part works but has anyone experience with making the XMLhttpObject? The scripts keep on working, but it doesn't like to have more then one object running in a browser. with running I mean two objects transmitting on the same time. THen the receiving part of one of both doesn't work great.
A prerelease of the engine is located on http://www.fiaminga.com/login.html (to log in for a nick).
buy cialis http://cialis-buy.narod.ru/buy-cialis.html [URL=http://cialis-buy.narod.ru/buy-cialis.html]buy cialis[/URL] [URL]http://cialis-buy.narod.ru/buy-cialis.html[/URL]
cheap cialis http://cialis.100freemb.com/cheap-cialis.html [URL=http://cialis.100freemb.com/cheap-cialis.html]cheap cialis[/URL] [URL]http://cialis.100freemb.com/cheap-cialis.html[/URL]
generic meridia http://meridia-buy.angelcities.com/generic-meridia.html [URL=http://meridia-buy.angelcities.com/generic-meridia.html]generic meridia[/URL] [URL]http://meridia-buy.angelcities.com/generic-meridia.html[/URL]
YMPNBy zwnkexhk eenswqfn offexofp
dJragX ipwoxtdb ryhboofz wftobyek