This is the story of how two people who’ve never created a mobile application developed an iPhone app at the Day of Mobile Hackathon on March 6, 2010 in less than 12 hours and went on to win the Best iPhone App prize of $250 cash.

First off, what this blog post isn’t:

  • It’s not a get rich quick scheme. (Well, maybe it is, if it motivates you to crank out some apps with some new gained knowledge).
  • I’m also no trying to sell you anything. There’s not going to be some affiliate link or buy this e-book crap.
  • This is not a turnkey solution for a non-techie. If you can’t code, other than it being a good read, this article is not helpful to you. These aren’t the droids you’re looking for, move along.

If you are still reading this, awesome!

Day of Mobile is a one day developer conference focused on the mobile phone industry. Speakers range successful iPhone app developers who made gobs of money to a lawyer who talked about the legal issues that come up when creating these apps. At these types of conferences, it is not unusual to have a hackathon.

My friend Chad Paulson and I decided to partner up and compete in this hackathon. I’ve served as a judge at 2 hackathons including SocialDevCamp 2009 Chicago and Google Android Eco Challenge Hackathon in Chicago. Both hackathons turned out really well in terms of number of teams competing and apps that came out of it. Chad’s app actually won Best Overall at SocialDevCamp. He made out like a bandit. I was really pumped and inspired.

However neither of us had ever made a mobile app. I made a hello world iphone app that had a label that said hello world over a year ago. That’s about my level of experience with Objective-C. Since it was a one day hackathon, we really didn’t have much time. The conference started at 9AM on Saturday and code freeze was 2:30PM.

With that in mind we had to find a solution that would work for us. I had already done a tech evaluation of several mobile development platforms including Appcelerator Titanium, PhoneGap, Flash CS5, Mono, Rhodes and others for a client who was looking into mobile apps. These are development platforms that provide a layer of abstraction that allows one to develop a mobile app that would publish to one or more platform without having to learn said platform. In that research, I had concluded that the solution that would work for me and my team was Appcelerator Titanium because we were web developers who were comfortable with javascript and html. That’s what I ended up going with when we did this hackathon.

The mobile app that Chad and I decided to develop for the hackathon was a mobile version of my webapp, a social media monitoring tool. In keeping with the spirit of the hackathon, we decided not to start coding till Thursday (keeping development time under 24 hours). We realized later on that some of the other teams had been working on some of these apps for a week and had more people on it even. However, what we did do is install the necessary software before hand and started to figure out HOW to do the things we needed for our app. I also started designing the screens before hand so that we would hit the ground running the second we started coding.

If you think of it as an Iron Chef episode, we essentially figured out what we were going to make and had done all the prep work like chopping vegetables so that once the competition started, everybody just started doing stuff.

Friday March 5th, 10:00PM. Chad gets home from dinner with his girlfriend. We already had a skeleton project that was created when you create a new blank project in Titanium. We also already had Kitchen Sink installed. It’s a sample project provided by the Appcelerator guys that has all the sample code you would need to get started on anything except the most esoteric of projects – hence the name Kitchen Sink.

Since my web app already had a REST API that we could access, we just had to figure out how to make those calls and display them in the conventional mobile way, usually in a list. By 3:00AM, we had many of the screens showing dynamic data. By that time, I started to keep dozing off on my computer. I tried to push through but ended up going to bed around 3:30AM. Chad wanted to make more progress so he cranked at it till around 7:30AM. That was around the time I got up and I dragged my groggy self to the conference and started coding again.
When Chad got up at 10:30AM I had the final screen working.

At this point the app was basically working but it didn’t have all the bells and whistles of a usable mobile app (like back buttons between views, title bars, etc). Overall, at that point, I had put in say 7 hours of work and Chad about 9 hours. It’s a testament to the ease of use and power of Appcelerator Titanium.

We spent the remaining time till 2:30 tweaking and cleaning up the code and making sure it was a polished app that would demo really well. I also used some of that time to work on my slides for the demo presentation.

To be honest, I didn’t think we were going to win anything. After seeing all the demos from the various hackathon teams, we were very impressed. Each app was cool and compelling in its own right. I was very surprised when we ended up winning the Best iPhone App category. There were 11 teams with about 4 or more iPhone apps if I remember correctly. That was the end of the journey. By that, we were so tired that we just wanted to go home and pass out.

Popularity: 7% [?]

Related posts:

  1. Recap of Day of Mobile
  2. 5 Questions With Rock Star iPhone Developer: Shane Vitarana
  3. Why I Think Hackathons Are Awesome
  4. iPadDevCamp Hackathon Winners
  5. Minimalism in Web Design