Three Years of iPhone Development

Standard

Three years ago I released my first iPhone application to the public, here is the story of how I got started.

Before I started dabbling in native iPhone development, I had started making iPhone games using web technologies. I had made a really simple web-based iPhone Blackjack game using AJAX, a few JavaScript frameworks and PHP. It was at one point going to be part of an online “Kombat Kasino” for my Mortal Kombat fansite The Realm of Mortal Kombat. But the web interface for the game just wasn’t cutting it for me. It didn’t feel right on the iPhone touch screen. It was then that a friend made a comment that stuck with me: “why doesn’t the game react to gestures like a real casino?” I figured it was perfect time to make it do just that using the recently released iPhone development toolchain.

My first steps in development were to draw an image onto the screen. I then had to figure out how to move them and respond to touching the screen. All this was being new to the platform and the language, I learned many things the hard way. Remember, this was all before Apple allowed us to write apps for the device. We only had framework header files and some shared Mac documentation. The OS that the iPhone was running on then was also far from ready for third party developers as it was an amalgamation of the new UIKit Framework and beta version of OS X Leopard. For instance CoreAnimation was still called Layer Kit. At that point I hadn’t done development for the Mac either, so both Cocoa and Objective-C was all foreign to me. Learning to do all this was the most rewarding programming I had ever done in my life. After a weeks or so of tinkering, I had a tech demo of playing cards moving around the screen randomly. It was cool, but it wasn’t a game.

It wasn’t until Lights Off! for the iPhone was released that I was fully inspired me to make this tech demo into a real game. Every evening for about two weeks I spent countless hours after work at coffee shops, book stores and my home office just trying to get the game into a playable shape. After lots of work and learning I eventually released the first alpha build of the game on August 28th, 2007 at just after midnight. I posted it up on my website and a few other places, and went to sleep.

Screenshot of iBlackjack Alpha 1

The release day was also the same day I was supposed to attend to the iPhone Tech Talks in Chicago. I was pretty tired when I arrived at the Tech Talks because of how late I was up. But the funny part was the entire day was dedicated to Apple developers showing showing us how to make web-apps for the iPhone, and by that time I had a native game. I eventually gathered enough guts to show the game to an evangelist there. He couldn’t tell me anything to help me out, but he pointed me to a great Chicago developer community CAWUG that I should connect with. He also told me more about the great C4 conference that Jonathan Rentzsch had held just a few weeks earlier. These resources I wouldn’t have discovered easily on my own especially when I was so heads down in development.

All versions of my game went on to get a combined total of close to a half million downloads via Installer.app over the next few months. At one point it even got featured on G4’s Attack of the Show in September of 2007 during a segment about third party applications:
http://www.youtube.com/v/tengcnNOpu0?fs=1&hl=en_US&rel=0&color1=0x234900&color2=0x4e9e00

From that point on iPhone development was a very exciting ride. In early 2008 I was hired away from my corporate day job to create iPhone apps full time for mobileAge. For them I have produced a bunch of great applications, and even more in the pipe. iBlackjack eventually was renamed Blackjack 21 and released on the first day the iTunes AppStore.

Blackjack 21 Screenshot

It honestly doesn’t feel like it’s been three years, as it’s been such a roller coaster ride watching the iPhone platform evolve. Since becoming an iPhone developer I have become friends with many fellow developers throughout this great community. There is lots of daily inspiration from the other great people also working on Apple’s platforms. I can’t begin to think what I would be doing if I didn’t take this career path, but I guarantee it wouldn’t have been as much fun as this journey has been.