Reflecting on The Ajax Experience

—Friday, October 27 2006

I recently made it home from The Ajax Experience conference in Boston. There were a lot of great talks, and a few points of the conference that really stood out for me. Now that I’ve had time to allow my brain to process the insane amount of information I consumed, it’s time to share some of that with you.

The Prototype presence

There was a great deal of talk about Prototype during the conference. Justin Gehtland did a great job covering Prototype in-depth in his three panels, one being script.aculo.us centric. Justin had a very nice presentation style which was engaging and fun. I envy those who look so natural on stage. If you ever get the chance to see Justin give a presentation, you should definitely go!

There is one thing I want to point out for those who did catch his talks. Justin discussed Element.show and Element.hide which he showed some examples that will no longer work in Prototype’s trunk code. You can only pass one argument to these methods now.

//Does not work in Prototype trunk
Element.show('foo', 'bar'); 
Element.hide('bar', 'foo');

//New way to write this
['foo', 'bar'].each(Element.show);
['bar', 'foo'].each(Element.hide);

Javascript Framework Wars

There are none. I had the opportunity to meet a lot of the guys responsible for the other popular frameworks (beyond Prototype) such as YUI, Dojo, and JQuery. I got to share a few beers with Nate Koechley and you could really get a vibe from him that he was really passionate about his work and what the YUI team has been doing, not to mention the fact he was a great guy. We talked about the need for all the libraries and how it’s a great thing for developers.

Alex Russell of Dojo summed it up in two words “Peaceful coexistence”. Dojo is pushing the boundaries as to what Javascript is capable of, solving problems that haunt developers every where such as cross domain xhr. Dojo isn’t worried about file size either, they have a nice package management system that takes care of this worry. Alex Russell was one of the smartest and pragmatic guys I met at the conference, and I can see why many people and corporations have put their time and resources behind Dojo.

JQuery’s story is a little different. Ben Galbraith of Ajaxian kinda put John on the spot during a panel and asked him why JQuery was the only one who likes to consistently poke at other frameworks (my words, not his). From what I gathered from John’s response was that JQuery felt the need to show comparisons (albeit not always accurate) in order to get some attention from developers. Kinda like “Hey, we’re here doing this and look how easy it is in JQuery compared to X”. I can respect that.

I also got a chance to talk with John, he even offered to let me and Andrew Dupont crash on his futons while we were in Boston. He’s a great guy and I hope JQuery continues to improve and inspire.

Testing with Selenium is fun

Wow. I walked away from Bill Ford’s talks on Selenium really impressed. If you haven’t checked out the Selenium IDE you really should. One of the biggest issues most Javascript developers have yet to tackle or encourage is the importance of testing. Selenium is a great way of testing your applications by allowing you to record interaction processes and play back, or generate test code for them.

Why is testing important in Javascript? Ever had one of those moments when your looking at an interactive widget/component/process, and you change a class name or Id and wonder if your breaking the behavior layer? Unless you go through and tests these processes manually, you’ll never no if you don’t have test coverage that can be automated. I plan on beefing up on my Selenium knowledge and writing a few good articles on testing soon.

Oh, So you want Prototype documentation

If there was one thing we (Prototype) constantly get pounded on is documentation. However, most of the presentations on Prototype pointed out some prime resources for Prototype documentation, some going as far to say that it’s not really a problem. It’s there, just not centralized.

We are working on the documentation site. While I was at the conference I was working on the documentation site, getting most of the design implemented and it’s ready for us to start adding in the documentation bits and structuring the site. We haven’t set an official date on when we want to try and launch this puppy, but I promise I’ll announce it as soon as we have a clearer picture as to when we can launch it.

Good food, Good swag, Good beer, Good times

TAE was a fun conference, and now that Javascript is heading in the direction where you can be a “Javascript Developer”, conferences like TAE will continue to do well and it would benefit anyone who goes, if only for the networking, swag, and beer.

Until next time, keep all your tags closed an your eyes open.