At 6:57PM on Saturday, November 8, 2008 my first app was approved by Apple. It was called PerDiem FY09. If I’m honest, I had no idea what I was getting in to.
My experience with iOS (then iPhone OS) had begun the preceding March when Apple had released the first SDK for the nascent iPhone platform. At the time I didn’t have an iPhone. I had no experience with developing for Apple platforms. I was a Ruby-on-Rails/Flash developer for the Rosetta Stone. I don’t recall exactly where I heard about the SDK, but I do remember immediately having the feeling that this would be something big.
My first order of business was to try and familiarize myself with Objective-C and Cocoa. This process took most of the spring and summer to get anywhere near basic proficiency. The general style of Objective-C was surprisingly similar to my Ruby background, but it took a while to get familiar with the syntax and conventions. I remember trying to read Cocoa Programming for Mac OS X by Aaron Hillegass, which was just about the only reference at the time, but ultimately found that just experimenting and dissecting the example projects worked better for me.
Initially I didn’t really have much of an idea about what I was going to build. The first actual product I built was a Tip Calculator; not original nor particularly interesting, but it got me proficient on the platform. That summer, while my family and I were on vacation at the beach, I had the idea to build a Per Diem reference app. Over the course of several afternoons sitting in our rented beach house’s dining room, I put together the main structure of what would become my first app.
I had initially hoped to get an app into the Store on day one (July 2008) but unfortunately my developer account wasn’t approved in time. I had submitted my request to join the Developer Program as soon as it opened but since I registered as a company (rather than an individual) it took until October to get my account approved. This waiting was gut wrenching. I watched as the initial stories of the “Gold Rush” started to spew forth. It became clear that my initial optimism about the Store was warranted.
Once my Developer Account was approved, I finally submitted PerDiem. Looking back on the app today is fairly comical. The amount of time and effort it took to get to this point was incredible compared to what I am able to accomplish today, but the result was a working, useful and stable app. The icon was made by me combining stock clipart images.
Amusingly I still didn’t own an iPhone at this point. The entire development of my first app took place on the Simulator. It wasn’t until early 2009 that I bought an iPhone 3G.
That fall, I left the Rosetta Stone and become an independent Rails consultant. We were expecting our first child the following spring and I wanted to be more available for him and avoid my two hour daily commute. This freed up more of my time to work on my apps. During the inevitable slack time between projects I would work on new ideas.
My next few ideas never really went anywhere. It wasn’t until I stumbled across the website of the Librivox Project that I hit upon something with some legs. The Librivox Project crowdsources the recording of out-of-copyright books as audiobooks and then releases the result into the public domain. I started working towards a way to make listening to these recordings more convenient.
My early attempts involved taking select books and combining the audio with the text so that it would be read aloud as the text scrolled in sync. These met with enough interest that I kept working on how to open up the Librivox project to the App Store.
In the meantime, PerDiem was still going strong. It had received a reasonable amount of interest and continued to be my primary focus. In an incredible bit of serendipity its best day occurred on the day that my first child was born. While in the hospital after delivery I opened up my phone to discover that it had been featured by Apple. Quite the birthday present for my son.
A few months later I found myself with a whole week of slack time between consulting projects. I decided to spend the whole week working on making a comprehensive directory for the Librivox collection. The result was Audiobooks, released in May 2009. This is the app that ultimately allowed me to stop consulting and focus entirely on app development. For an app that started as a simple project thrown together in a week, Audiobooks has gone on to be downloaded by nearly 8 million people.
It is a free app. While I’d love to say I predicted the growing trend towards freemium back then, it was more a matter of chance. I suppose the easiest way to appear prescient is to try everything and then only talk about the winners. Since the Librivox project is all about making classic literature more accessible, I wanted to continue that with a free application. As it turned out, this meant I was embracing the freemium model right before its wave was about to break onto the App Store.
Audiobooks has undergone a constant evolution since its introduction. Adapting it to the changing landscape of the App Store. Gaining the ability to play in the background in 2010 (which seems so natural now but was revolutionary back then). Making the app universal when the iPad arrived in 2010. Most recently, adapting it for iOS 7. The code base has been re-written at least twice and today it includes nearly 6,000 books.
My Recipe Book
When the iPad was announced in early 2010, I didn’t really know what to think of it. As you could even tell from Apple’s keynote, nobody really knew how the device would come to be used in practice. I ended up attacking this uncertainty with brute force. On opening day of the iPad App Store I had prepared nearly a dozen different apps. These included both adaptations of my audiobook apps plus an assortment of varied concepts ranging from a stock ticker to a twitter client to a collection of wallpapers. Most of these met with little interest. Even shooting with a shotgun I missed where the iPad would ultimately be most useful.
After those initial missteps I refocused onto another concept: using your iPad as a replacement for your recipe book. My Recipe Book was the result. Conceived and designed by my wife and a friend, My Recipe Book finally hit upon an area where the iPad truly shined. Its big screen allowed it to easily be propped up while cooking and by integrating it with online recipe databases it became a great companion in the kitchen. Because it was designed by people who actually cooked, it resonated with a broad market and began to gain traction in the Store.
My Recipe Book joined PerDiem as the two apps that I’ve been fortunate enough to have selected for marquee features in the App Store.
The next two years met with a dizzying array of attempts at finding additional concepts that would work in the App Store. I think the single most significant attribute of my approach to the App Store that has allowed me to do this full time for so long is the number of failures I have. I have shipped somewhere around 80 unique app concepts over the last five years. With the exception of games, I’ve tried almost everything I can think of. With each attempt (in success or failure) I learned something new about what makes an app great.
One lesson I’ve learned the hard way is that it is almost impossible to predict the success of an application until you get it into the marketplace. I’ve launched products with incredible expectations only to have them fall flat. I’ve launch products with only speculative curiosity and had them go on to solid adoption. It’s better to try an idea and see if it works than worry too much about its potential and never ship.
It is also during this time that I started recording a weekly podcast, Developing Perspective, where I started to share the day-to-day experience of being an independent developer. The most surprising thing with doing the show is how interesting and helpful the more mundane aspects of my job are to others. It’s easy to think that the things I struggle to overcome were obvious to everyone else. In my own experience, I’ve found the opposite: it is often the small struggles that are the most helpful to share.
Check the Weather
As the audience for Developing Perspective began to grow, I found that I kept getting requests for shows to cover the nuts-and-bolts aspects of creating and shipping an application. Building on this, I thought it would be interesting to walk through the process of developing an app from conception to promotion. At the time I’d been toying with the idea of developing a weather app, so I combined these two ideas and got started. The result (captured in episodes 76-91) was an account of all the challenges and delights that go into developing an application.
The launch put Check the Weather into the top 3 apps overall in the App Store. This is something I never really expected to be possible for an lone indie developer. I think it is an example of the results of careful, deliberate work. Check the Weather also has received the feedback for which I am most proud, a positive review on Daring Fireball.
The most recent chapter of my App story branched out from my usual focus on the App Store and instead took me back to my roots as a web developer. Feed Wrangler began its life as a side project that I would work on during flights and evenings. I used Google Reader at the time to keep up with my RSS subscriptions but had this lurking feeling that it would one day be shuttered. It turned out that those suspicions were well founded when on March 13, 2013 Google announced it was closing Reader. At the time I had a working, but very rough, implementation of the service that would become Feed Wrangler. I remember feeling like I had only a few minutes to decide if I wanted to double-down on the project and capitalize on this opportunity or to shelve it. I decided on the former. For the next 6 months I worked tirelessly getting the service off the ground. Building out its features. Trying desperately to get in front of its scaling problems. Getting its apps fleshed out. All with the hard deadline of a July 1st end-of-life for Google Reader.
In retrospect, it was one of the toughest challenges and most trying times of my career. The relentless dual-pronged attack of late nights and urgent work made it crushing physically and psychologically. Now that things have settled down, I can look back and be glad that I went through it. The kind of things you learn in that kind of crucible can’t be easily recreated. However, I will definitely be cautious to tackle a project of that scope again.
So here I am. Five years from when I first launched in the App Store. I consider myself incredibly blessed to be able to do what I do. To call writing apps full time my “job” is a dream. For years prior, I had looked at the indie developer as a mythical creature: something you could read about, but out of reach for most people. The road I’ve traveled has been long. I’ve had countless late nights, disappointments and trials balanced almost exactly with elations, successes and growth. I’ve met some of my best friends during this process. I don’t know what the next 5 years will hold for me but if it is anything like that last I can’t wait.
My thanks to everyone who has supported me during this process. Most of all my family. My patient wife and supportive parents. My friends who keep me sane and patiently put up with me. My customers who allow me to keep doing what I love.
A companion podcast episode for this post is available here. I talk about the lessons I’ve learned from these five years.