A memoir of my journey to become an iPhone App Developer, how hard is it really?

What is the real deal with iPhone application development? Is it easy, hard, or somewhere in between? I just took a weeklong iPhone development course to find out. Like many iPhone owners, I want to have my own App Store shot at fame and fortune (well at least the fortune part:). Ever since I purchased my iPhone I thought it would be cool (and maybe profitable!) to develop my own iPhone app for the App Store. When I heard that a developer class was coming to my hometown of Denver I decided to seize the opportunity to throw my hat in the ring. Just about every chance they get, Apple hypes up the usability and ease with which developers can create iPhone apps. During the last MacWorld, Apple paraded developer after developer across the stage. Apple makes it a point to emphasize a couple of the newer developers opinions on how easy it was for them to develop on the iPhone. The developers always give Apple raving reviews. So how much of this is hype? Well, I’ll give you my experiences so far. But first, a little understanding of my background is in order. I am not a programmer; I haven’t done any programming since college (about 14 years ago). However, in college I did focus on computer science. The truth is that I don’t really remember much of anything from the years of programming though. I have always held a job in the technology field, security and network engineering being my focus for the last decade or so. I have a passion for all things technical and pretty much always have. Ok, so now you have a lens to look through when reading my comments. To say the iPhone course was way outside my comfort zone would be a huge understatement. I knew that I was about to go into a programming course full of experienced programmers and I didn’t want to be “that guy” or “the guy that just doesn’t get it” in class. Alas, I had already resigned myself to being the “slow guy”. Before signing up for the course I emailed with the trainer, Pragmatic Studio, to make sure I met the pre-requisites for the course. Turned out the course was really made for those that knew object oriented programming in some language (ruby, java, etc.) already. They did however send me lots of links to study material. Not to be deterred by the programming requirement I dove in anyway. I took the pre-class preparation very seriously. Pragmatic Studios sent an email listing the pre-class prep that needed to be done by all students and also sent a preparation email just to me since they knew I needed “special care”. I followed the instructions and joined the Apple Developer network and downloaded the iPhone SDK onto my MacBook(you must have a Mac to write programs for the iPhone). I then watched all of the free VoD’s that were on Pragmatic’s website, I highly recommend the free “Getting Started with Xcode and Interface Builder”. I then purchased several of their other VoD’s, at only $5 a pop they are very reasonable. My favorite was the “Coding in Objective-C 2.0” it starts with the very basics. For learning how to program iPhone apps I found that the video-on-demands were the best format by far. The very visual nature of programming in xCode and using Interface Builder lends itself very nicely to this video format. Like they say, “a picture is worth a thousand words”. I then downloaded the free iPhone programming course from Stanford University. Stanford recorded their iPhone class and posted it on iTunes as a free download here http://itunes.stanford.edu/. I haven’t completed all of their podcasts yet but the ones I have are well done. They literally just videoed their whole semester iPhone CS credit course and posted it for free. Needless to say there is hours and hours of content available here. I watched the first two classes before I went to my course. Another place you can find iPhone dev VoD is on Apple’s Developers website. Lots of content there, I just haven’t had time yet to watch any of it. Finally, I bought and read the Beginning iPhone Development book. It is an excellent resource for beginners, I highly recommend it. Before class, I did as many of the books programming exercises as I had time for, about 5. At this point, I was somewhat familiar with the xCode and Interface Builder interface. I also had a very general idea of how to begin to write code for the iPhone. Quite frankly, I was pretty surprised at the speed with which I was picking this stuff up. Don’t get me wrong; I was still very lost, just not as lost as I expected to be. Now, off to class. As expected, I was the only one in the room who was not a programmer. However, since almost everyone had never programmed in objective C or xCode we were all needing to start with the basics. The instructors assumed this would be the case and developed the class for iPhone dev beginners. Score one for the “slow guy”! This class format made it easier for me to follow along and start to pick up the language. By the end of the week I had written over 15 iPhone applications! Everything from the proverbial Hello World app to a pretty involved Magic 8 Ball app. I found the pace of the class to be just about perfect for the first couple days but then ramped up to a brisk pace the last day. Some of the experienced programmers didn’t seem to have a problem with it. I got lost a bit, but the instructors took the time out, during breaks, to work with me one-on-one to fill in the blanks. That said, Pragmatic Studio’s teachers were top-notch experts in their field. Bill Dudney and Daniel Steinberg taught the class. All of the students were impressed with their knowledge, ability to teach, and in my case their patience. Bill and Daniel really made the class educational and fun, even though my brain hurt every day. Keep up the great work guys! Now to the question, “How hard is it to learn to develop applications for the iPhone?” My answer is, it depends. For me, I’m still in the beginning phases of this, the “you don’t know, what you don’t know” stage. So far, I’ve found that the programming tools are super powerful and fairly easy to learn. However, wrapping my head around how to code in objective-C has made my head explode! Sure I can now create my own simple iPhone applications but any more than that forget it. My logical next step will be to practice, practice, and practice. Oh, and of course to take a class on Objective-C & Cocoa. Some of the behind the curtains mystery of iPhone application development has been lifted for me, but given the amount of curtains it will be a while before I’m comfortable. In contrast, if you are already an experienced programmer in an object oriented language then you should be able to pickup iPhone development fairly quickly. This is especially true if you come from C# programming. Objective-C allows you to make native C calls with ease. For those of you lucky enough to fall into this category, learning how to develop iPhone applications should be fairly straightforward. You’ll struggle a bit learning xCode and Interface Builder but I found that to be achievable. Bottom line, if you don’t know how to program then iPhone application development will require your full attention and time. If you are already a programmer then jump right in, you should do just fine. In a lot of ways iPhone application development is similar to the California Gold Rush. Hoards of people pursuing their shot at the riches they see others achieving. The kicker is that those striking it big only make up a tiny minority of the populace. But since when has that ever dampened the dreams of people? It sure hasn’t dampened mine! I say, “Arise, and go forth hopeful iPhone developers!” My goal is to have my first iPhone application posted on the App Store within 6 months. How about you? Do you have ideas for an iPhone app of your own? If you have any questions, just post them. Apple’s iPhone developers website http://developer.apple.com/iphone/program/

The opinions and information presented here are my PERSONAL views and not those of my employer. I am in no way an official spokesperson for my employer.

More from Jamey Heary: Credit Card Skimming: How thieves can steal your card info without you knowing it Cisco enters the crowded AV and DLP client marketCisco's new ASA code allows you to securely take your Cisco IP Phone with you anywhereCisco targets Symantec, McAfee with its new antivirus client Google's Chrome raises security concerns and tastes like chicken feet a>Go to Jamey’s Blog for more articles on security.

*

*

*

*

*

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Now read: Getting grounded in IoT