Apr
22
iPhoneBarCampNYC and iPhone Application Development
Original post by Rich Hauck on Rich Hauck's Blog
2:29 pm | Categorized: ITP 2005, mobile (i)
I’ve spent my free time learning the Objective C programming language, Apple’s Obj C-based Cocoa framework, and the iPhone SDK. It’s these subjects that drew me to the iPhoneBarCampNYC this past week in Brooklyn. I ended up leading a discussion on Objective C (me–up in front of a group–scary, I know).
Taking the time to learn all of this is a big gamble for me. North American demographics aside, I’m willing to bet that the usability of the iPhone will solidify its share in the marketplace and make it worthwhile to learn how to build applications for it. On the other hand, there are some counterpoints I consider:
- Cost of Entry. Dropping $400+ on a cell phone is a bit much for most of the population. Furthermore, being forced into a single carrier (AT&T) is a turnoff even for me.
- Lack of Standards. Sadly, this is what is making it so difficult to do things in the industry. Building a mobile application means building for niche audiences.
- Lifestyle. Smart phones aren’t for everyone, nor will they be for a long time–if ever. Some people just don’t need all those features. Heck, I’ve noticed that when I’m back in Harrisburg I barely use my smart phone’s features (although having the Web anywhere definitely changes your life). Bottom line, the bells and whistles of mobile phones are tailored best for the commuting lifestyle.
- History. Let’s not forget that Palm and Symbian OS came long before the iPhone. I think the iPhone’s usability will peak a more varied demographic of users, but am eager to see if anyone doesn’t reinvent the wheel.
- The Web. Has the Web replaced the Mobile software industry? Are mobile applications dead as Michael Mace suggests? Is it worth building an application over and over to support different hardware when it could all just piggyback off of the Web and its standards?
As far as what I’ve learned so far–
- I wish Apple would have provided some extremely simple examples along with tutorials in their SDK. The existing examples are great, although their Hello World application is a bit more on the complex side.
- The MoveMe application example in the SDK seems out-of-date, making it a bit hard to follow.
- The SDK videos are complementary knowledge. It’s much more helpful when you have the basics of Objective C down first.
- I bought two books–the iPhone Open Application Development (Zdiarski) and Programming in Objective C (Kochan). Apple provides Obj-C 2.0 resources, but I’m a book learner. For anyone wondering, Kochan’s is a good book for learning the language, but is a bit dated (2004) given that Objective C 2.0 is out. Don’t expect it to cover anything on the iPhone, and I’ve pretty much disregarded anything XCode specific. Fortunately, a new edition is coming this May. Zdiarski’s book seems pretty good, but it’s already showing age despite its recent publication–it was released before the SDK and from what I’ve read some of the examples are contingent on having a jailbreaked iPhone. I’ve struggled with an example or two because of it and some deprecated code.
- I’m still searching for good community resources on iPhone-specific development. A grassroots community definitely helps the cause (I doubt Apple could sufficiently provide such a community given their stance on some iPhone hacks), but it seems like most people are too involved with the SDK at the moment. It makes me wonder how many people are working on competing apps prior to the store launch.
At the very least, learning all of this has given me the perspective of a beginner again, and seeing OOP implementations in another language never hurts. I might post some basic tutorials in the future to (hopefully) save some people the learning pains I went through.
