On My Desk(top)
The following is a random and occasionally changing snapshot of things that are of interest to me "lately" that occupy some portion of my desk, desktop, or brain. These things have something to do with a current interest, project, or hobby. Enjoy.
In late 2008 a friend suggested that I should write iPhone apps. "Sure," I thought. He then related the story of the guy who wrote a completely useless app and who was raking in the dough from thousands of daily App Store downloads. It sounded too good to be true, but it was true! Think about it: If you're a person toting around a piece of cool technology like an iPhone (or an iPod Touch) you are likely also a person who would say to themselves, "Sure, I'll download that for $0.99 and see what it is." Now imagine 10,000 people doing that. Each day. Pretty compelling.
So I started to think about it. I have two Intel-based Macs already, so the hardware tools were taken care of. It turns out that Apple makes their development tools freely available, and one can learn, design, develop, and simulate iPhone apps for no monetary investment (other than having an Intel-based Mac). So I downloaded the SDK.
The SDK is chock full of everything you need: a terrific IDE, debugger, performance tools, and an iPhone simulator, among others. Complete documentation is also available.
The volume of information about the SDK and all the Apple Framework libraries is tremendous. Having no recent Mac application development experience, I quickly realized that the fastest road to really learning about and understanding iPhone app development (and as it turns out, Mac OS X development) would be to buy some books. There are not a lot of books on iPhone development, and only a handful of good books on OS X programming. Here's what I bought:
by Mark Dalrymple and Scott Knaster
The language for Mac OS X and iPhone development is Objective-C. The language is essentially the combination of standard C and Smalltalk. The result is an object-oriented programming language that is pretty easy to get your mind around if you already one or more programming languages and are familiar with object oriented programming principles. I read this book first, working through all the examples, most of which were non-GUI oriented. The book, afterall, is about Objective-C programming on the Mac and not about Mac application development. Big difference.
by Aaron Hillegass
Now grounded with Objective-C and comfortable with the Apple tools, this book on Cocoa programming was next. This is an excellent book, especially for an experienced software developer. Information is presented clearly and succinctly and most of the chapters include "challenges" that make you think and learn even more. This book provides a great introduction to the Apple Frameworks which is key to being able to develop both Mac OS X and iPhone apps.
by Dave Mark and Jeff LaMarche
Having "mastered" Cocoa and Mac OS X development, I have just begun reading this book. It's very similar to the Cocoa programming book, except its all iPhone focused. That is to say, the book is laid out similarly in that each chapter presents some information and one or more examples, and builds on each previous chapter's knowledge. But having the foundation of both Objective-C programming on the Mac and Cocoa programming, reading this book I can focus on the iPhone-specific stuff. So far, it's a good read.
by Stephen G. Kochan
I like to buy technical books that I can use as reference material. This one qualifies in that category. It's a complete Objective-C language reference written with Mac OS X and iPhone development in mind. So the examples are all meaningful within that domain. This book is definitely a good resource to have handy.

![[ Powered by Ubuntu Linux ]](/art/powered_by_ubuntu.png)
![[ Powered by Apache ]](/art/powered-by-apache2.gif)