Writing an entire application in a few hours

Recently I’ve flown cross-country a few times, and while the flights are long what I love about them is the opportunity to sit and code in a focused environment with no distractions.

On a recent trip to San Francisco, I challenged myself to see if I could build a product over the course of a single flight. Aside from being a coding challenge, it’s also a challenge in simplification. I had to have something working by the time I landed. Hard deadlines like this force you to determine what is really necessary and what is a nice-to-have.

Once the captain said it was safe to use electronic devices, I whipped out my laptop and got to work. By the time we landed, I had finished a working version of TheCrowdSays, a simple website for measuring crowd sentiment at a conference.

The app consists of two web pages. The first page is typically projected on a large screen behind a conference speaker and/or panel.

Everyone in the audience then goes to the second page on their mobile phones where they can decide whether they agree, disagree, or don’t care about what is being said on stage.

The main display monitors a socket connection with the server and constantly updates itself as people in the audience change their votes. That’s it.

Try it out yourself at http://thecrowdsays.appspot.com/display

Source code for this project is available at https://code.google.com/p/the-crowd-says/, and the project is built on Google AppEngine, Google Visualization Gauge, jQuery, jQuery mobile and Douglas Crockford’s JSON2 library.

We ended up using this as part of the closing keynote at AppNation, and it was a great success. There are some additional features I’d like to add, but I’ll save that for the next flight.