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.

12 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 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 5:00 AM, Blogger HiiFii Webservices said...

This comment has been removed by a blog administrator.

 
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 =).

 

Post a Comment

<< Home