I've known for years that I should learn iOS and Objective-C programming. I've just never found the time and/or patience to do it. I'm a full time Ruby on Rails developer with a bunch of years of Java before that, so I feel relatively confident in my ability to pick up a new platform/language, but I found that there were a number of key differences between that world and the world of Objective-C that merely picking up a book on the subject and banging on it for a few hours a night wasn't working for me.
What is the greatest resource for learning iOS programming? Everybody points to the Stanford iPad and iPhone Development Course. Tens of thousands of people have gone through the course, and most rave about it. I like the idea, a lot. My biggest problems with it are two-fold. First, it's a video long video course - almost 20 hour-long episodes. I don't have the attention span for that, honestly. Second and perhaps related to the first, it is impossible for all learners to get the same amount out of a single course. Someone who has never touched Smalltalk, for example, will take longer to grap the idea of message passing than someone who knows Smalltalk. That means that a lesson on messages will be the kind of thing that some folks want to just fast forward past. But then if you FF too far you may miss important things.
This is why I've never done the Stanford courses, and instead tried to wing it with heavy Googling and lots of time on Stack Overflow.
Today, I found a better answer. Playback the Stanford courses at double speed. How? Harder than it looks, actually, if you've got the latest of everything on your machine. Turns out you have to go back in time a bit. [ Note that I am running a Mac with Lion installed. Your mileage on Windows may vary.]
- Download Quicktime Player 7. This advice comes straight from discussions on the Apple.com website, by the way.
- Find your video in iTunes, select Show in Finder.
- Right-click (or ctrl-click or whatever) on your video, go to Open With... and pick QuickTime Player 7. Note that you did not upgrade QuickTime in the first step, and it will not become the default player. You deliberately installed a previous version. You may have to find it under "Other" the first time you do an Open With, but in my experience once you've done that the first time it will show up as an option the next time.
- Got it open in QTPlayer 7? Good. Now go to Window -> Show A/V Controls. This is the part that you needed QT7 for, because they've taken it out in later versions.
- In the lower right corner there's a slider for Playback Speed. Pick a speed. I'm running them at 2x, and I find it the right combination of understandable while causing me to yell "Faster, talk faster!" at the screen like I do at 1x.