Sunday, June 26, 2011

Learn It - What I've Been Up To

As I mentioned in my previous post, I've been in the "Learn It" part of my project for several months now.  I think I have a few more months to go before I can really dig in to developing (although I'm hoping to start some simple "sample" apps in the next few weeks).  But in the meantime, I thought I'd post some details on what I've been up to, and what's just ahead.

I've fleshed out my project plan a bit since my last post (even then, I had a little more than just my notepad sketch, but most of it was in my head).  Specifically, I've broken down this Learn It step into three phases:
  1. General Research (lots of reading - that's where I am now)
  2. Simple Sample Apps (this will happen concurrently with the next few project steps, and hopefully soon)
  3. Specific Research (as needed throughout most of the remaining project)
My general research began back in December or January, I think - can't remember for sure - with some pretty misguided efforts to learn the fundamentals of iOS (the operating system for iPhone / iPad / iPod Touch).  I spent many hours reading "Getting Started" documents in Apple's online iOS Developer Library - a truly awesome resource, completely free for anyone who wants to study it, and full of excellent articles and guides.

The only problem with the iOS Developer resources was that they were way over my head.  I mean, I could understand the general principles, but without any understanding of the underlying programming languages, I really didn't have any way to apply what I was learning.  I even read through the primer on Objective-C (the language that iOS apps are written in), but without first understanding the plain old C programming language, I wasn't understanding or retaining nearly as much as I had hoped.

Undeterred by my floundering, and confident that I could pick up what I needed along the way, I bought a book on iOS game development, hoping that I could just sort of muscle through.  In retrospect, I'd have done better to take a different path (and save a few wasted months), but the thing about unknowns is that you don't know about them.  So I charged on, aware that I was stabbing in the dark somewhat, but determined to make the most of it.

I got about half way through the book, and although I was able to keep up with the exercises well enough, I could just tell that I wasn't really grasping the information like I needed to.  It turns out that the author wasn't kidding when he stated right up front that I needed to understand Objective-C before I could understand the material in the book.  I was hoping that my little bit of knowledge from the Objective-C primer would be enough... Samsonite, I was way off.

So, I bought another book, this one on the Objective-C programming language, and accepted that I'd have to put off my game development plans for another month or so.

And guess what... I couldn't really follow that one either.  I mean, I thought I was following it well enough at the time - although I had a lot of questions along the way - and where it didn't really click, I just chalked it up to my lacking knowledge of the C programming language (which Objective-C is built on).

Turns out, it was partly that, but also partly that the book was poorly written - something I would have been able to figure out quickly if I had taken the time to learn C first.  Not knowing what I know now, however, I finished the Objective-C book and went back to the game development book.  And guess what... it still wasn't all that clear. Somewhat discouraged, I knew that I had to start over, and learn the basics (and find books by a different publisher).

Finally, I made a good move, and bought "Learn C on the Mac" by Dave Mark.  For the first time, things started clicking.  Reading this book was one of the best learning experiences I've had - in case anyone out there is thinking about learning how to write iPhone apps, and knows absolutely nothing... this is the place to start.

It took me several weeks, but I finished the book, and was even able to do the exercises and understand everything that I was doing.  When I went back to the Objective-C book that I had read previously, I finally knew enough to realize that it was poorly written, and quickly picked up the sequel to the book I had just finished.

Learn Objective-C on the Mac by Mark Dalrymple was even better than Learn C, and I worked through it in a few weeks.  It probably helped that I had done all of that previous reading about Objective-C before I really understood what I was trying to learn.

About 5 months into my project (well, I had to take about a month off when work got really busy, so more like 4 months in), I was finally ready to start learning about actual iPhone development.  Wanting to stay with the publisher of the previous 2 books, I picked up Beginning iPhone 4 Development by Dave Mark, which I'm currently about 90% of the way through.  This last one has taken me quite awhile, as it's abut 3 times longer than either of the previous two.

So, that brings us up to the present.  With a little luck, I'll finish this book today, and be ready to move on to phase 2 (sample apps) this coming week.

That will be an important step, because I'm going to treat it like a microcosm of the whole project, working through the various steps almost like reconnaissance for the larger project to come.  We'll see if my steps remain more or less intact, or if making the sample apps causes me to rethink my approach.

In the next few days, I'll try to post some more details on phase 2, along with some of my rough ideas for sample apps - my plan is to choose 3-5 apps to work on (either simultaneously or not), and if possible, get them all the way to the point where they could be submitted to the App Store (if any of them are good enough).

At the very least, though, I'm hoping to get them onto several devices (iPhones, iPads, etc) for testing, and to get more comfortable with the whole process of development, testing, and possibly even publication.

So wish me luck, and check back soon for more updates!

Labels: , ,

1 Comments:

Blogger Betsy Henning said...

This is me, wishing you luck, like you asked. But really, I don't even know what I'm wishing you luck for. Just so you know...that's all that matters.

And, I'm very proud of you for your brilliant mind and unrelenting perseverance.

6/27/2011 5:37 PM  

Post a Comment

<< Home