Saturday, April 21, 2012

The Road to the App Store

I'm doing a 101 in 1001 project - that is, I set 101 goals for myself and have 1001 days (about 2 years, 9 months) to achieve them. One of those goals is to write my own iPad app! I have a few app ideas, but the simplest one (a good place to start) will actually be the app I wish I had when making this list of goals. Right now I'm using Task PRO to keep track of them, and it's a great app that I like a lot but there are a few features I'd like to have specifically for this kind of goal list.

Now, I haven't really programmed much since I took 6.001 (Structure & Interpretation of Computer Programs) my freshman year at MIT - and that was well over a decade ago! And it was taught in Scheme, an obscure variant of Lisp (already an obscure programming language) that is pretty much only used in 6.001 and classes around the country based on it. I programmed a little in plain C in high school, but I've never really used an object-oriented language... Unless you count NetLogo. Yes, that's a descendant of the Logo that had you telling a turtle to turn right 90 degrees in elementary school. Unlike original flavor, NetLogo isn't the worst intro to OOP you could hope for, so there's that.

What I'm trying to say is, I understand the theory but I don't know any useful programming languages.

So this is going to be a fairly big project.

I'm getting started by taking the Stanford iOS development class from iTunes U. Even that is proving to be tricky, though, since I run OSX 10.6 on my desktop. Why does that matter? Well, the most up to date version of the class, which covers iOS 5, requires Xcode 4 for the assignments - and to get Xcode 4 my options seem to be upgrading to 10.7 (which I'm hesitant to do for various reasons that I won't go into here because this is an iPad blog, not a Mac blog) or paying the $100 developer fee now. I'll have to pay it eventually anyhow, I was just hoping to put it off since it's an annual fee.

So I'm watching the lectures now and mulling what to do about the assignments. I'll keep you updated as I progress, for anyone interested in seeing the app development process from total noob to App Store.