I was taking photos for the campus newspaper part-time, which seemed like a whole lot more fun than programming classes. So, one afternoon I switched my major from computer science to journalism. Newspapers seemed a lot easier to do than programming, and the male-to-female ratio was a little bit better in that department. I never thought I would have to touch a lick of code again.
Fast forward a few years, then lo and behold journalism is all about multimedia and suddenly coding skills are in high demand. I guess those 10 months of intro to programming classes really paid off. But now I’m finding, maybe I should have stuck with the programming gig after all.
I had this very thought a few weeks ago when Apple announced the Software Development Kit (SDK) for the iPhone. As soon as heard the news, my first inclination was “I gotta do that.” It turns out, Apple software is based on a programming language called Objective-C. I took a peak and was utterly delighted to learn that ObjC is quite similar to another programming language called C++ that I had to make friends with once upon a time.
I actually went out and bought a book on ObjC and it has very quickly brought me back to common phrases I once cringed to hear, like polymorphism, inheritance, pointers and methods. (I can hear echos of liberal arts majors running away screaming)
OK, so all of that aside, here is the million dollar question: What should I program? So far, I’m successfully mastered the “Hello World” program (a program that displays those respective words). Apple has a ton of really great documentation and coding samples of how to do things like take advantage of location aware functionality, etc. They just released a program tool called Interface Builder, which is essentially a drag-and-drop program builder. It makes the coding part much easier for a novice such as myself. I’m ready to go, but where should I start?
Here are a couple of ideas I was throwing around:
- Location aware app that will tell you nearby services like shopping, theaters, gas stations, etc. Maybe I can connect it to http://www.everyblock.com/ ?
- A journalist toolbox, that will offer you Computer Assisted Reporting tools at your finger tips. Everything from where to get a person’s home tax records to how to file a Freedom of Information Act request (FOIA). Maybe I can store it in the phone’s mysql lite database.
- RSS aggregation program that will give you headlines from a variety of sources (I’m sure this someone else already has done this. It’s pretty easy to do.
Any more ideas? What do people want out of their iPhones?