How To Make an Award Winning iPhone App in 12 Hours

No Comments

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: 40% [?]

New Blog Design & Sneak Peek at iPad App

3 Comments

I’ve been really tired of my blog design for a while now and it always seemed bloated with too many widgets that really slowed it down. When my hosting provider got compromised and my site was infected with malicious content, this gave me the perfect opportunity to update the site. I wanted a simple theme that looked well designed and clean. If you like the theme, here’s where I found it: WordPress Notepad Theme. I decided to bring the focus back to the actual content and get rid of all the other distractions.

As part of the design I decided to give people a sneak peek of my upcoming iPad app. Not only does it have a great design and looks great on the “desk” but it’s what I’ve been up to lately outside of work. Also it’s something that I’ve created and makes sense to feature as part of my identity.

Popularity: 22% [?]

Thoughts on iPad Killers

No Comments

It seems that every week there is some article on yet another iPad Killer. Whenever I hear this, two things happen: I groan, and I vomit a little in my mouth. I get that these articles capitalize on the popularity of the iPad, and other companies are jumping on the bandwagon also because of the popularity of the iPad. Companies just don’t get it.

The iPad is a beautiful device. I’ve had it for 6 months now and find that indeed it has a place between my mobile phone and my laptop. However it’s going to take much more than just a super awesome touch based tablet to take down the iPad.

The beauty of the iPad is that it’s much more than just the iPad. The iPad is really just a gateway to Apple’s money making machine. Through the iPad I have access to Apple’s immense library of music and movies through iTunes, Apple’s massive collection of apps in the App Store, and now Apple’s growing library of books in iBooks. It’s a whole ecosystem. If I went with another device, say a Windows tablet or Android tablet, currently I would need an account to buy music (Amazon mp3), a separate account to buy books (like Kobo etc), and another account to buy apps (Google). With Apple, it’s all tied to my iTunes account and it just works. They make it really easy and sweet to buy content. That is why the iPad is optimized for consumption and not for production. Any tablet device seriously thinking about toppling the iPad better have all these things. And this is not something easily done since it took even Apple over a decade to build all this up and build a brand and mindshare.

Another thing Apple has done better than any other device manufacturer is to embrace designers. This was a fortunate side effect from designers adopting the Adobe software + Apple hardware combo. This is why there are so many gorgeous apps in the Apple App Store. For example Microsoft has never been able to crack that egg. Even though the Microsoft stack has been adopted in the enterprise, they’ve never embraced designers until lately. Their attempt at that with the Microsoft Expression Engine is not likely to turn over any designers any time soon. Designers have been using the Adobe suite of graphic tools for over a decade. I myself have been using PhotoShop for over that long and don’t foresee switching anytime soon. I’m not the only one.

Why are designers important? For one thing – gorgeous apps. Consumers will buy well designed applications. You only need to look at the Apple App Store’s top sellers and compare it to the Droid Marketplace. The App Store’s top sellers list is filled with beautifully designed apps whereas the Marketplace list various game emulators. It’s pretty clear to me that the demographic of the Android platform is mostly developers, engineers and tech geeks. I think it reflects the culture of the two companies pretty well. Apple is about design and Google is mostly an engineering company. Google has been described as antidesign if anything. That’s fine but at the end of the day ugly apps just won’t sell.

All that aside, there’s really no way to tell who’s going to win in the long run. The Androis OS is quickly gaining marketshare and will continue to do so as more and more phone manufacturers and tablet manufacturers adopt it. Who’s to say that other companies might not be able to address the issues I’ve mentioned and eat into Apple’s marketshare.

Popularity: 2% [?]

Do you really want a “Rock Star” Designer/Developer

3 Comments

This job posting came through one of my RSS feeds.
Rock Star UX Designer/Flex Developer wanted
I always cringe a bit whenever I see job postings looking for rock star this or ninja that. People seem to throw these terminology around lately as if they really knew what the implications meant. Does any firm really want that? Let’s examine this a little.

By definition, a rock star is a famous singer, composer, and/or musician. A rock star spends a big chunk of his/her time touring and giving concerts. They also have music and other merchandise that they sell. They probably spend lots of time promoting their work to build awareness and increase sales. Some rock stars can be demanding divas who require certain types of bottled water or bowls of M&Ms sans the brown ones if they are to play.

If we were to translate this to the software development world, a rock star designer or developer would be famous in their niche in the world, maybe because they created the framework du jour or have some recognized open source project. They spend a big chunk of their time touring and speaking at conferences. They also write industry articles and publish books that they sell. They probably spend lots of time promoting their work to build awareness and increase their personal brand so they can sell more books, charge more for their work and their speaking.

So is this what the firm that wants a “rock star” designer/developer really wants? My guess is no. The firm just wants a good candidate to do the work. Most of the time the person doing the hiring or writing the job posting has no idea what qualities or qualifications to look for and throw around the terms ninja and rock star as catch all.

And what about ninja? What makes you a ninja developer? Do you need a degree in computer science AND a black belt in martial arts? Do you need to be proficient in 5 programming languages and 5 weapons? If that’s the case, very few people would be qualified and it doesn’t even make any sense.

There’s really no point to this blog post other than to rant. Basically people need to do their homework and figure out what are the things they are looking for in a “good” designer/developer instead of being lazy and just saying I want a rockstar this and a ninja that.

Popularity: 12% [?]

iPadDevCamp Hackathon Winners

No Comments

http://ipaddevcampchi.wordpress.com/2010/05/06/hackathon-winners/

I’ve spoken and written about hackathons before. I think they are awesome.

Ravi and I didn’t intend to participate in the hackathon. Although I enjoy them, this time, I wanted to enjoy the conference and listen to the sessions. However after getting together with Ravi and throwing around a few ideas, I started messing around with the design for an app idea. After a few hours of doing that while listening to the sessions, the thing started to look like something after all. I spent a few more hours in the evening on it and told Ravi in the morning the next day that we should consider doing the hackathon. It doesn’t matter if we get it done or not. To me, just doing it was more important. Lo and behold we were able to submit something as a last minute entry. I was able to show the design and Ravi was able to show the tech demo of the app. We didn’t expect to win anything but the judges really liked what they saw. We’re working on it and hope to have it in the app store soon.

I think this just reinforces my belief that if you feel like you want to do something or ought to be doing something, you should just go for it. What do you have to lose? The most that could have happened was that we wouldn’t win anything. Who cares? Having done the exercise, we now potentially have an app to show and a possible source of side revenue as well as a showpiece for our skill.

Popularity: 4% [?]

Older Entries