Wednesday, May 11, 2005

Ajaxed out

For the past two days I've been attending an "Ajax summit" event thrown by O'Reilly and Adaptive Path. I think "summit" is an apt term to describe it, as it included a cool cross-section of individuals from various disciplines — web developers, network engineers, interaction designers and others — and many, many people who've been doing this type of work for a long, long time. I thought this was an important distinction, as the application of Ajax (however you might define it) brings new solutions to old problems while creating new problems that reach outside the scope of what is generally thought of as "webdev."

I'm way tired, so here're some frazzled notes and takeaways.

Ajax, grunge rock and convergence

I found a parallel in the thoughts of Generation X author Douglas Coupland on the hypermarketing of the twentysomethings in the early 90s:

Generation X's tiny, March 1991 printing had no publicity, and received almost no reviews. But that summer a Texan my age named Richard Linklater released the movie "Slacker"...And in Seattle, a new form of music was exploding...As the media goes, two's nothing, but three's a trend. Thus were born the most abused buzzwords of the early 90s: "generation X", "slacker", and "grunge".

Similarly, I felt three things happened to converge, coincidentally: the flattening of the browser landscape; the buzz built around Google's trial-balloon apps like Google Suggest, and the coining of the highly-buzzable term "Ajax."

Thus, Ajax is the GenX of web development: suddenly a movement and a market where before there was just a bunch of neato stuff.

What Ajax is, what Ajax isn't

No attempt was made to define "Ajax" or identify the patterns inherent in an Ajax application. No one was gonna touch that with a twenty-foot pole.

That said, I have my own thoughts on what Ajax is, and I think if we want to effectively communicate to people that Google Maps != Ajax (more on this below) it's important to recognize the larger components:

  1. Ajax the methodology - this is the concept, the approach: fetching small pieces of data from the server, without a whole page refresh.
  2. Ajax the technology - the libraries and toolkits: JavaScript, Flash, XML, HTML, etc. whatever enables #1 above.
  3. Ajax the implementation - it can be as boring (and useful!) as a "smart" HTML form that validates fields as you tab between them, or as sexy as Google Maps.

Gotta keep 'em separated, because we gotta be prepared for the questions: what is Ajax? Is this something we should be doing? I think our energies are better spent on deciding whether the Ajax methodology is an appropriate approach to solving a particular problem.

For it all to work, the methodology must be a win for the business person, the technology must be a win for the IT department, and the implementation must be a win for the user. If cost > value in any of these, don't bother. "You're building a car around a bicycle." (source)

Threats

Skip Intro - we need to avoid a repeat of the "Flash is 99% Bad" debacle that took years for Macromedia to shake. If there's no win in applying an Ajax approach, don't bother.

XML Fairy Dust - for awhile in 2000, it seemed that XML was suddenly the answer to everything, a magical fairy dust that increased ROI and garnered more seat licenses. It wasn't. Neither is Ajax.

Microsoft? Nah, I don't buy this. They gave us XmlHttpRequest and I doubt they care enough to break it.

Is Flash Ajax?

No. Is it capable of enabling an Ajax-style applications? Yes. Dunno what's so hard about this question.

Browser Beefs

Flickr's Eric Costello gave a presentation that was part satisfying rant at the remaining dissimilarities between the browsers, and vented some frustration at long-standing and long-annoying problems like the Back Button Issue, DOM manipulations that aren't cached, CSS-immune FORM elements, etc. It was a high point.

Etc.

Desktop apps are trying to be more like web apps, and web apps like desktop apps. Where do they meet? (Later: who cares?)

Still need a killer app. Everyone points to Google Maps but it feels overblown. I think the real value will come from making boring stuff better, making static interfaces responsive. Anil: making web pages act the way users expect them to act, but who have been trained to expect less.

Derek Powazek: full-page request/response is to email as Ajax is to instant messaging. Smaller chunks of data, in a simplified format, traveling faster.

Saw lots of demos. Not gonna talk about 'em. Suffice to say there's some very cool stuff being built.

Jason Kottke rolled out Ajax-powered blog archives on his website while the sessions were going on. Nice, but I think Dunstan Orchard's live search is equally impressive (and Dunstan's attention to progressive enhancment is admirable).

I'm pretty sure I was the only one (out of about 40 attendees) without a laptop. About 70% of laptops were Macs. At times I felt like I had forgot my duck. At other times, I was glad I didn't have the distraction of email, IM, etc.

Probably more to report once I get some rest.

22 Comments:

At 1:40 AM, Blogger Peter Retief said...

This comment has been removed by a blog administrator.

 
At 3:43 AM, Blogger Simon Proctor said...

Well it's using hidden iframes as I wanted it to work everywhere. But if you are looking for a site that uses AJAX like principles to get the job done may I present s1jobs.

No this isn't just a feeble advert attempt. We've got external data loading goign on in a number of places but the site still runs if you don't have javascript for any reason.

Oh and check out the popup window code. Uses the href of the <a> element so that if someone wants to middle click on a link to open it in a new tab it works. (Unlike the sign up to blogger link here).

Anyway I now have a blogger account... best do something with it.

 
At 2:38 AM, Blogger Unknown said...

I've been playing around with the XmlHTTPRequest for quite a while, pulling data into JavaScript arrays for the DHTML Diner hierarchical menus.

I first saw it on some ASP.NET drop down boxes (which site I can't remember) but more recently on Google Suggest. This was what kicked me into playing around with it.

What I find particularly funny is that someone has decided to rename the rather obvious XmlHTTPRequest to something as innocuous and bland as "Ajax". I'm sure it is ploy by some company somewhere to "sex up" the technology and make it sound cool, but really, why? Is the king of "cool" sounding product names, Macromedia, behind this or what?

I think XmlHTTPRequest defines the technology rather well.

Maybe we should rename XML to "Mercury", messenger of the gods, in a vain attempt to make it sound more accessible and cool! Lol. Lame.

 
At 12:53 AM, Blogger Micha Schopman said...

Ajax is too often approached as a technology, but as I use it, Ajax is a way of approaching applications on the web.

It is a collection of thoughts in the sence of having a persistent interface, where the user is unaware of client-server communication. No postbacks, no page loads, no reloading grids when you remove or modify one row, etc.

Ajax is about the way we think about the next generation of web applications, as opposed to how the technique works. It just happens to need features like XMLHttpRequest to accommodate this approach.

 
At 12:53 AM, Blogger Micha Schopman said...

This comment has been removed by a blog administrator.

 
At 5:33 PM, Blogger WDM Info Services said...

Your Blog is Awesome, christian blog is the easiest way to get your blog read by more people.

christian blog has always been my thing

 
At 4:28 AM, Blogger Goodman441 said...

I am shocked at how many blogs there are on writing adwords. My site is very simular to writing adwords, please visit my site when you can at: www.ickaboo.com

 
At 6:10 PM, Blogger Swingin80 said...

Cool blog you have. I have a computer work at home related site. Check it out if you get a chance. The URL is computer work at home

 
At 7:46 AM, Blogger TheDevilIsInTheDetails said...

And on a lighter note than pure trial of socrates , check out the funniest trial transcript ever! If it's not serious enough of a topic, well, just pretend it's the Brit's version of trial of socrates !

 
At 3:37 AM, Blogger Technology Benefits Life said...


Google Adsense Tips
A step by step approach for implementing Google adsense

 
At 4:01 AM, Blogger HiiFii Webservices said...

This comment has been removed by a blog administrator.

 
At 12:13 AM, Blogger HiiFii Webservices said...

This comment has been removed by a blog administrator.

 
At 10:53 AM, Blogger HiiFii Webservices said...

please check my latest Blog on Increasing memory Memory Gain

 
At 10:58 AM, Blogger HiiFii Webservices said...

Please visit Ayesha Takia's Fan Site and tell us how it is - Ayesha World

 
At 5:00 AM, Blogger HiiFii Webservices said...

This comment has been removed by a blog administrator.

 
At 8:25 PM, Blogger Mathew said...

AJAX are being widely used in vBulleting forum softwares but open source communites like ACCA has not yet introduced AJAX in their softwares.
Any comment?

 
At 11:56 PM, Blogger securityalertz said...

Thats real nice info. I have seen something similar atSex web cams zoom11.

 
At 5:43 AM, Blogger Mathew Blind said...

This comment has been removed by the author.

 
At 5:49 AM, Blogger Mathew Blind said...

AJAX has become a gem because it helps in smooth communication client browser and server. Its superb and i in school ask fellows to use AJAX on these sites too
Hate Admin
Login Freedom
Head is Head
Only this Time

Let see if they put AJAX there.

 
At 5:15 PM, Blogger tjay24 said...

This comment has been removed by the author.

 
At 5:19 PM, Blogger tjay24 said...

I owned an image hosting site before that used AJAX. I must say it is the coolest feature you could ever use today. I don't know if there is a way to put it into a proxy site like
http://www.proxynyc.com
but if there is let me know because that would be pretty cool =).

 
At 2:08 PM, Anonymous Anonymous said...

Cool blog - Check out my site if you need help finding a good low interest credit card. Credit Cards

 

Post a Comment

<< Home