- What do you currently do?
I recently sold both of my previous apps, Instapaper and The Magazine. I’m currently starting work on my next project, and I also write a blog at Marco.org and am one of three hosts of the Accidental Tech Podcast.
- How did you get started in Mac and/or iOS programming?
I’ve been programming as a hobby since getting my first computer in middle school. After getting a computer science degree in 2004, I started programming professionally and soon got into web apps.
I had read Aaron Hillegass‘ Cocoa book and had dabbled a bit in Mac programming on the side, but I never really had an app idea that motivated me, so I didn’t do much on the Mac. But when the iOS SDK came out, I jumped at the opportunity because I had an idea immediately.
- What was the first app you created and what did it do?
When the iOS SDK came out in 2008, I had already started the Instapaper website as a side project so I could read on my iPhone while commuting to my day job at Tumblr.
I knew Instapaper would be much better with a native app instead of just a website, so as soon as the SDK was available, I started building Instapaper’s app, and it was in the App Store on the second day it was open.
- What went well? What could have gone better?
Demand was great right from the start, and it was easier getting attention back then because there was less competition.
But the app was pretty hideous by today’s standards. I had very poor design taste, and I didn’t want to delegate any work to designers. Now, I know better, and I can’t look at old Instapaper screenshots without cringing.
- What is your favorite among the apps you’ve developed?
I’m very proud of The Magazine, which I started in 2012 — it was my first chance since 2008 to build a new, substantial app, and I did a lot of things so much better than I had in Instapaper because I was more experienced from its start. (And I worked with designers!)
But Instapaper is still my favorite. I still use it almost every day, and we have a lot of history together.
- What advice do you have for young people who want to make apps?
Programming is incredibly satisfying sometimes, but somewhat tedious the rest of the time, and potentially very frustrating when you hit walls. You have to really love it and really get a lot of satisfaction out of the good parts if you’re going to keep up with it. Fortunately, the good parts are really good.
Figure out a relatively simple idea — something that a beginner can probably make in basic form within a few months, like a blog-posting app, drawing canvas, or shopping list — that you want to exist, especially if you have some ideas on how you’d do it differently from what’s out there (this helps motivate you).
Motivation is key: the best way to learn is to be motivated to make something specific, satisfying, and achievable. That urge to create and build will fuel you through the difficult parts.
Then just start working on it. Get a book written for your skill level, start building little prototypes and experiments as soon as possible, and search the web whenever you get stuck. That’s how most of us learned, and if you have the motivation, there’s nothing stopping you.
Help more girls learn software development. Contribute to the App Camp For Girls Indiegogo fundraiser, get a cool perk, and enjoy the feeling of having helped the next generation of software developers.