Lessons from a Hackathon

I attended my second Mobile Hackathon at the AT&T Foundry in Plano this weekend. I went to the first one a few months back and it wasn’t very exciting. Most the folks weren’t really coders, and I didn’t have any specific ideas, so I only sat in on the first day.

I enjoy the hackathon concept for the chance to meet new people, and also to stay geeky. It’s fun to see what you can produce in a weekend with some dedicated focus. The hackathons at the AT&T Foundry are more “bush league”, being nothing like a BeMyApp competition, but it’s still a lot of fun.

For the hackathon this weekend, I decided to jump in and write some code. I was hoping someone pitched something I could latch on to, but that was not the case. And based on my pre-pitch reconnaissance, I was the only person playing in the mobile web space. So I decided to go the army-of-one route and work on a small idea I had. It was basically around mobile enabling the change management approval process for enterprises. The intent wasn’t to make a million dollars; it was just to give me a context to really get in to some of the technologies I wanted to play with.

Here’s what my simple landing page looked like:

Since I was starting green field, I had to make some technology choices. For the web layer, it came down to Sencha Touch or JQuery Mobile. I haven’t written any production quality code with either, so the challenge was getting up to speed quickly and being productive.

Sencha Touch is extremely sophisticated, but it is also much more complex. If you’re willing to invest your soul into it, it can pay great dividends. Since I was going to be hopping through all the layers, I didn’t want to have to do the major mental context switching it required.

JQuery Mobile is a bit cruder, but it follows the web paradigms. You still play with pages, using HTML tags, and the framework deals with the rendering on the mobile device. For how short a time I had, it was a much easier framework to work with and get my head around.

Another big advantage to JQuery Mobile is the excellent theming support via ThemeRoller. I needed some different colored elements for my application and was able to quickly generate them via ThemeRoller.

For the backend, I was planning to go with Grails, but since I didn’t really need 90% of the framework, I opted to go with NodeJS and Express.

Like the web tier above, I have never written production NodeJS code either, so this was really a test on how quickly I could embrace it and get productive with it. I’m happy to say not only was it extremely productive, but I had a blast doing it. The NodeJS/Express combo makes for a blistering fast dev cycle, and I even liked the Jade templates. This will be my go-to combo for future hackathons.

For the storage layer, I wanted to go with MongoDB, but after about 15 minutes I realized the storage didn’t matter for my pitch, so I cheated and went with simple JSON objects on the server side for my data structures. The ease of using JSON structures server-side is one of the other big advantages of NodeJS.

I completed my simple app and a basic Keynote presentation in time for the pitches. I have no delusions of grandeur in the complexity of my app. It was about playing with some new technology, not making the next Facebook. But I still managed to win 4th place out of around 14 teams, so I was pretty happy.

A couple observations on the hackathon in general:

  1. The AT&T Foundry rocks. I may despise AT&T Wireless for their absolute shitty network, but they killed it on creating a great environment for startups and these sort of events.
  2. The majority of the teams were working on native Androids apps. There wasn’t a single iOS project. I found this really strange, and not indicative of the current market. I’m suspecting it is because Android breeds more of a hacker mentality with its open source nature, but I don’t see the market to justify the investment.
  3. There were also a lot more Windows Mobile developers than I expected. I actually expected zero. It might have helped that Microsoft was tossing in some of the prizes and had experts on hand to help. The hackathon winner was a Windows Mobile application. There might be some traction behind Windows Mobile, but Microsoft is so late to the game it will be hard for them to make a dent in iOS. The only advantage to Windows Mobile is it allows mediocre enterprise .NET developers to easily produce mediocre mobile applications.
  4. There weren’t any other mobile web developers. This floored me. I still see the future is device-independent, mobile web development with JavaScript and I expected others to be playing in that space. I’ll still keep blazing down this trail.

AT&T is planning on holding Mobile Hackathons quarterly at the AT&T Foundry, so I’ll definitely be doing this again. And next time, I plan on getting much more complicated on the code side.

Leave a Reply

Your email address will not be published. Required fields are marked *