And so begins the iPhone app journey

Time to add programming language #26 to my repertoire, Objective-C, the language underneath iPhone apps. I work at a fisheries consulting firm and we want to use the versatility of the iPhone as a field sampling tool. It’s got data entry, wireless connectivity, GPS, and photography all built into a hand-held unit. What’s not to like?

We just need an app that will do what we want, that’s all.

Being the IT guy, it’s my job to manage servers, buy hardware and install software, train users, and build and maintain several public web sites and our fairly substantial Intranet. It’s also my job, semi-voluntarily, to take on the challenge of building an iPhone app that will do everything we need.

Right now there are some off-the-shelf iPhone apps that come close to what we want, but none match our requirements entirely. While we get by with those, I’m doing everything I can to learn Objective-C and become fluent in iPhone app development so we can have the software that meets 100% of our needs.

First steps

There are a lot of things that need to fall into place before we have a working and tested custom iPhone app. The first thing I did was download Xcode from the Apple developer’s web site. It’s free and is the defacto way to write software for Mac OS X and the iPhone. I’ve also registered to become an Apple iPhone developer, at a cost of $99 per year.

I tend to learn by doing, and have found great success by following along one or more books on the subject. To that end, after doing some research, I decided to get Learn Objective-C on the Mac by Mark Dalrymple and Scott Knaster, and Beginning iPhone Development: Exploring the iPhone SDK by Dave Mark and Jeff LeMarche. Both books are published by Apress. I purchased them through my old standby, Amazon.com. I actually bought the iPhone development book first and while reading the introductory chapter discovered that I needed a fundamental understanding and working knowledge of Objective-C first, hence my purchase of the Dalrympe/Knaster book. To round things out I downloaded some iTunes University videos on the subject to get familiar with Xcode as well as several PDFs from the Apple developer web site on both subjects (Objective-C and iPhone).

Getting into a pattern

Learning a new programming language is difficult enough, but doing it while still coding in an entirely different language — PHP, in my case — makes it even more of a challenge. Let’s say your native language is English, but you work at a job that required you to learn and speak Spanish 6 hours a day. Now try learning Russian on top of all that.

Learning a new programming language requires a certain aptitude, but more importantly it requires a level of discipline. Keeping a consistent schedule where you focus on the new technology a certain number of hours every day really helps. Since I wear both IT and web development hats at work, I tend to get my IT related tasks done during the first part of the day — often all day during Monday through Wednesday — and switch to development after lunch. Thursdays and Fridays tend to be weighted more toward development than IT, and it’s not uncommon for me to spend almost the entire day on Friday nose-down on the keyboard writing code.

Sometimes I even close my office door to shut out distractions and noise so I can better focus on coding. Programming takes a certain ramp-up time to get into the groove, at least for me. It’s not something I can drop and pick up on short notice. Instead it’s better if I devote several hours to the task and stay in it. Sometimes I’ll even work from home so I truly have the whole day to focus on coding.

Next steps

Now that I have all the tools and learning materials in place, my next step is to dive into the Learning Objective-C book and complete the exercises contained therein.

Leave a comment

You must be logged in to post a comment.