Keith, your Programming Skills

Dear Keith,

I read your interview on mac.appstorm.

And I came away amazed. From an author, you have reached to become a developer. It’s a journey that could not have been…easy.

I am also thinking of dabbling in iOS programming (specifically, iPhone) now that I own a Mac Book pro and also because I will have quite large bit of chunks as free time once my current assignment gets over in Dec 2013 (what with most of my publications and submissions following predictable patterns – I would begin my next batch of books circa Aug 2014. And really, just how many different ways can you describe a screw fitting in a slot?)

I was, therefore, wondering if you would be kind enough to commend some instructional books to me on Objective C and Mac/iOS programming, that you had gone through in your growth path toward authoring Scrivener. The reason is that your sense of aesthetics and the lack of instability of Scrivener makes me think that you must have gone through some special thought process as well–or you must have read some very good books. While I cannot possibly ever have the same level of beauty that you can imbibe in Scrivener, it would be worthwhile to at least know how to take a stab at it by reading any books you recommend.

Any ideas and directions to this, please?

Best Regards,

Zubin Garda

PS: Finally, I apologize to have put the post in this forum, as it was hard for me to classify it. Hope it does not cause any undue inconvenience.

I’m certainly not Keith, and look forward to whatever response he might have, but wanted to pass on this link that I ran across just the other day. Has some good recommendations for online resources for some of what you are looking for that I thought might be helpful:


Hi Zubin,

Thanks for all the kind words! And no problem. There were two key books that I used to teach myself Cocoa, and I would heartily recommend both, although the second is more geared towards the Mac.

The first is Programming in Objective-C by Stephen Kochan. This doesn’t deal with interfaces at all but gets you using Xcode and learning all of the basics of Objective-C (the programming language used for writing Mac and iOS apps), and the Foundation frameworks. (Cocoa is composed of two core frameworks: Foundation, which is used for all sorts of apps and handles things such as arrays, copying files, manipulating images - pretty much anything that isn’t about interface; and AppKit, which is like an interface layer on top of Foundation. There are various other frameworks that do specific things, but these are the two core aspects of any Cocoa app.) This book assumes no prior programming experience and there was only one paragraph in the whole book that baffled me (which I now understand :slight_smile: ).

Once I finished that, I worked through Aaron Hillegass’s Cocoa Programming for Mac OS X, which pretty much starts from where Kochan’s book leaves off. This book assumes some knowledge of programming in Objective-C and some knowledge of the Foundation classes, but assumes you know nothing about Interface Builder, using AppKit or building interfaces. The iOS equivalent of this book is called iOS Programming: The Big Nerd Ranch Guide (by the same author), although I have yet to read it.

They were the only two books I read front-to-back - and they were very readable and easily understood. I worked through all the exercises. I had a couple of other books but only ever used them as references, and after going through these two I just experimented and searched online for anything else I needed, using and mainly.

Hope that helps!

All the best,

Thank you Keith, it does.

And to Bdillahu too.

Best Regards – Zubin Garda