Idea to iPhone Product, a Brief How-to

About a year ago, my wife evaluated ten Interval Training applications on her iPod Touch. She and I were bewildered by how difficult it was to find an application that just made sense. All we wanted was something that made it easy to configure a couple of timers and a sound to beep when each timer ended. From that moment, Runner’s Interval Timer was born.

The idea is it. That’s all it takes, really. Turning the idea into a product is formulaic, and remarkably simple, assuming you have the skills, the team, and the dedication to stick with it. The rest is (sort of) easy.

Now, just to get it out of the way, some of the not-so-great realities of app store development that you should be aware of..

Not So Great: It’s not free

As you probably know, developing for the App Store isn’t free. You’ll need apple hardware with a recent (10.6+) OS on it, and a developer account that allows you to publish apps to the app store costs $100 per year. Further, if you’re going the non-free route for your software, you’ll want to setup an LLC or corp, and setup fees for that can be a one-time cost (depending on where you live) of $300+. Then, later, you’ll need a bank account, and the big boys like Bank Of America and Wells Fargo want you to have $3K sitting in your business checking account or they’ll charge you $20 a month for the privilege to have an account. So, if you already have the mac hardware and OS, figure $3600 in startup costs, $600 for the dev account + LLC fees, and $3K to sit there and save you money until sales income rolls in. You don’t need all of the money the moment you start working on your great product, but you will need the LLC, bank account, and developer account before you can actually publish.

First, you need an idea. If this is your first self-made product, you need to keep your idea simple and limited in scope. There are a plenty of steps and hurdles you’ll have to conquer to get all the way across the finish line, and a software product that requires a massive time investment is not the way to start. Think “agile”, but not in the buzzword way, think in the “if you’re going to fail, it’s good to fail fast” way. That is, you should aim to get something out there in front of people soon, and learn, fast.

Not So Great #2: It’s kind of like the lottery

With your awesome idea in hand, if you’re aiming for non-free, you need to adjust your income expectations. Yes, Angry Birds has made many millions of dollars, but did you know Rovio published some 50 video games before they released Angry Birds? It’s estimated that a week on the top best seller chart at a $0.99 price point rakes in $300K per week, but what you don’t see is that even mildly successful apps will make on the order of several hundred dollars per month (and that’s if they’re doing well)! Prepare yourself for a potential reality where your time and financial investment reaps little return.

Idea. Check. Expectations. Check. Next, do a little research on how apps in your target category are doing. Check out App Shopper’s and App Annie’s stats for your competition. Watch your competition on the app store and the web. Do the top selling apps in the category have updates from time to time, and long term twitter/facebook followers and activity? Are you seeing the top apps promoted for a month or two and then fading away? That may indicate that even the very best apps of the category aren’t making very much money. If that’s going on, can you make the app that will be the exception? How?

There’s a great quote over at Startup Quote: “You can’t make anything viral, but you can make something good.”. I think this is a key cornerstone to setting your motivational compass in the right direction in terms of product development. If you’re only making an app for the money, you may set yourself up for disappointment in a flooded market place of 300K+ applications. On the other hand, if you’re making something that you have a sense of pride in, you cannot fail. Unless, of course, you violate the HIG.

The success of the iPhone and apple products in general build upon a baseline human interface guideline (HIG). Apple’s user interface experts, designers and engineers have spent many man years developing a UI foundation that “just works”, and as you’ve heard, Apple enforces those guidelines fairly strictly when they review your application. You shouldn’t fear the guidelines, just know that they’re out there, and use them as a learning tool to understand how application UI on the iPhone works.

While you’re learning the HIG, consider poking through a couple of other great user interface design books such as TapWorthy, Don’t Make Me Think, and The Design Of Everyday Things. These books and others are a coder’s only hope of understanding and pitifully emulating what’s going on in a great designer’s mind.

We’re almost to the fun bits, but before you start development, if you can, you should really consider finding a partner to join your cause. A team of people is better than a single person, always. You’ll need one good designer with UI and Illustrator experience, or two mediocre designers. Two great coders, or four mediocre ones. And consider yourself lucky if you can find a sales person familiar with marketing who can actually produce results.

When you partner up, consider forming an LLC (or corp, or signed document of some sort) up front that clearly lays out percentage interest and ownership details before you begin. You’ll find that splitting things (the money, the vote, and the responsibility) evenly works better than the other way around.

Next you’ll need some collaboration tooling to help organize yourselves. I’ll cover these concepts in more depth later on, but the essentials to consider are: project/idea management; document sharing; communication tools; and source control management.

With your project management toolset in hand, it’s time to plan your attack. Start small, and big. Think proof of concept early on, but write down and expand your big feature ideas for later. For example, with Runner’s Interval Timer, I initially wanted to put a number of major features into the application. Some of those features, such as the ability to pause, play and switch current music, could wait, and they did wait until a 1.1 or 2.0 release. Learn early on to identify the core product features you cannot ship 1.0 without, and push the rest. Learn to focus on the big picture, one chunk at a time, and don’t get buried in the details of making code or UI immaculately perfect, just get it to work and shake out the bugs. There will be time for perfection later. Again, think agile and encourage change as well as early failure (learning opportunities) rather than resisting these inevitable moments.

While you and your cohorts are planning your amazing product, encourage your designers to poke through the UI design books mentioned earlier, and encourage your developers to pick up an objective c for iphone book or two. If your coders have previous application development experience, I’d especially recommend The Iphone Developer’s Cookbook. If your developers haven’t really seen a SDK for standard application development on some OS or mobile device, I’d highly recommend any of the Programming Windows books by Charles Petzold, especially the now-ancient 5th edition (The code is old and out of date, but his way of explaining the how and the why will apply forever). Those books will help your team understand how to piece the product together, and will allow them to mentally sort out and refine the product before development begins.

When you’re all planned out and ready to go, you’re going to need some mac hardware for your team. Developers can get away with a mac mini for $700ish, and the free Apple IDE called XCode. Designers may not need mac hardware, but they’ll need design tools like Adobe Illustrator and Photoshop, or free alternatives such as inkscape and (heaven help any designer actually trying to use this..) gimp.

Your team will be able to scrape together a proof of concept app that’ll run on the mac hardware in the iPhone simulator that comes with XCode (the books will cover how to do all of this..). Then you’ll want to run the product on actual mobile hardware, and need to pay Apple $100 for the priveledge, by signing up for their Developer program. Signing up as a company has a few delays in the process that signing up as an individual doesn’t, so consider just making a dummy account for starters if your aim is just to get the software on some real hardware.

A few weeks or months later, you’ll have a 1.0 product in your hands and be ready to submit it to the App Store. There’s a whole mess of things you’ll need to do between the 1.0 build and the actual release on the app store though, and I’ll cover those items in my next installment in this series.

Read the next installment in this series: Idea to iPhone Product, The Last Mile