If you read about one conference this year, read about Star Wars JSConf

I'm writing this at 30,000 feet, I have jet lag, and I'm worn out; but JSConf was worth it! If you don't believe me you should check out twitter on the subject. I don't think I've ever seen a community so excited by a conference, and rightly so.

Tech conferences can be such grand affairs, with thousands of attendees. JSConf squeaked in at a mere 150. There were representatives of every major JavaScript framework (except one, you know who you are). The JavaScript community doesn't get together often, but when it does, it's incredibly fun. The 2 days in DC were so chock full of conversation and presentations, the only complaint people had was that they couldn't be in all of them.

JS Conf Crowd shot on Flickr

JSConf was like a who's-who of JavaScript practitioners - Photo by @voodootikigod

At many conferences, the crowd can be very mixed. It wasn't that JSConf wasn't diverse (I saw everyone from sys-admins to designers), but the focus was very clearly on JavaScript. The talks didn't beat around the bush, it was all action. Not only that, every session was recorded in glorious video. Everyone will get a chance to revisit the talks, for free.

So let's get down to it. I'm not going to try and recall every talk, for a start I couldn't attend them all, but I'm going to pick some of my favourites:

The Real-Time Web with XMPP

Have you ever heard of Long Polling? Long polling is an awesome alternative to Comet. It works like this: instead of holding a connection open, violating HTTP and REST, you make a request. The server holds this connection open until it either gets some data to send you or a timeout happens, in which case it returns false.

As soon as you get a response you poll again to wait for the next set of data. This is one just one of the excellent real-time web topics Jack Moffitt covered. Everything from XMPP to their Strophe.js libraries which converts JS object literals into XML for you.

Jack and his team are using XMPP and Strophe.js to power a number of real time web sites. Apparently Chess Park has an average game time of 2 minutes. This wouldn't be possible if it wasn't really fast. I look forward to seeing more real-time web things coming out of this year's JSConf.


So many high end phones like the iPhone and Android come with all of these crazy features like GPS and accelerometers. The Phone Gap team figured out that while you can't access those features in a regular mobile web browser, you can use them as part of an application framework. This gives you a way to rapidly develop an app using the rich features of the phone via a standard web stack.

Brian LeRoux admitted that this wouldn't power any high-end 3D games (think Katamari) but there's still a huge amount you can do. He showed off a couple of samples including a ball maze game that uses the accelerometer and the "PhoneGap Simulator." The Simulator provides an emulator for PhoneGap on the phone that allows you to move the device (to change the accelerometer) or simulate physical functions of the phone. Best of all both PhoneGap and the emulator are Open Source.

If you like the idea of ball games written in JavaScript you should also try out the BrowserPlus accelerometer demo for your laptop, although I have to admit I'm a tad less agile swinging my Macbook Pro around the room than my iPhone.


Whatever John Resig does is interesting, he's that kind of guy. Throwing a bit of a left-field ball, John talked about three topics. I know other people will talk about the other stuff. So I'm just going to say Deep Leap is really fun and leave it at that. The thing that John talked about that we've all really been waiting for is TestSwarm.

I've seen a live demo, and it was awesome. John says it's still a bit too early to call it ready for alpha but man it's going to be worth it. TestSwarm does exactly what John said it would when he announced it on his blog. I've seen him distribute his unit tests to remote machines running different browsers. But, whoops, no Firefox 3 in this swarm. Let's add this machine. A click later and the Firefox 3 tests were complete.

One of the best suggestions after the talk was about connecting Deep Leap and TestSwarm. Why not let players of Deep Leap run test in the background? asked someone in the audience. That sounds like a truly marvellous idea, run SETI as your screen-saver and play JavaScript games for the betterment of mankind.

All in all, the talks, the outstanding JavaScript community, and the 90F weather in DC made this one of my favourite conferences of all time.

Tom Hughes-Croucher
Your friendly neighbourhood evangelist