Monthly Archives: September 2011

Idea to iPhone Product, The Last Mile

In the last post in this series, Idea to iPhone product, a brief howto, I covered the basic information you’ll need to get from a basic idea to a 1.0 product ready for app store submission. This post covers the “last mile” from the 1.0 build to your app being listed in the app store.

Simply put, you’ll need to do the following:

  1. Form a business.
  2. Create a business bank account.
  3. Create your apple developer account.
  4. Upload your app.
  5. Promote the app.

Each of these steps from 1.0 to “go” will take a bit of time, so prepare yourself to hurry up and wait.

Step 0: Get a Lawyer, And A Tax Guy

Before you start down the path to starting your business and figuring out how you think taxation will work for you, do yourself a favor and find a real lawyer and a real tax guy.

You can save a bit of money by educating yourself before you meet with the lawyer and the CPA, but books, friends, and even this article are no substitute for a professional’s advice.

Step 1: Forming A Business

You can make a Sole Proprietorship, a Limited Liability Company, a Corporation, or a variety of in-between type business structures.

You may consider a Sole Proprietorship if you’re alone in your business, but beware that that type of business structure makes you personally liable for issues with the business. If the business goes bankrupt or gets sued, your personal assets are up for grabs, even personal assets totally unrelated to the business such as savings, houses, cars, etc..

Limited Liability Company business structures are a step above Sole Proprietorship in terms of liability. An LLC make sense if you’re worried about personal liability, or if you have a few business partners going in on the business with you.

Finally, a Corporation is a business structure in a wholly different league above LLC. There’s a bit more paperwork, formal meetings, and hurdles with a Corp than an LLC, but if you want to have stock or eventually sell the company, a corp looks better than an LLC, or so I’ve heard.

Choosing your business structure will be difficult without doing some research. I highly recommend the Form Your LLC book by Anthony Mancuso (an Attorney). The book helps you understand the difference between Sole/LLC/Corp and greatly simplifies the LLC formation process for you.

No matter which business structure you go with, you’re going to do some or all of the following:

  1. Write up some organizational contractual papers.
  2. Get your contractual papers notarized (Apple may demand this later..).
  3. File some paperwork with the state to form the business.
  4. File some tax paperwork with the state.
  5. Pay the state fees for the formation. ($300 in Texas for LLC).
  6. Sign up for a FEIN (Federal tax identification number).

You may not be required to do all of those steps. For example with an LLC you’re not necessarily required to write up contractual organizational papers and have them notarized, but if you don’t, your company will be subject to state law defaults should any court case arise.

You also may be able to get away with using your SSN instead of signing up for a FEIN, but it feels a bit safer to be giving various companys a FEIN rather than your personal SSN when you can.

Forming your business is not a one-shot deal, once you’ve formed the business you’re going to be required to behave like a business should. You will need to keep capital account ledgers, write down plans and meeting minutes, comply with any federal and state tax legislation that a business must fulfill, and more. That LLC book, Form Your LLC, covers these topics in detail for LLCs.

Furthermore, you’ll need to hang on to any and all paperwork associated with the business, such as forms you received from the state, and so on. Banks and Apple will want you to email copies of those things later.

Step 2: Acquiring A Business Bank Account

After the state has acknowledged formation of your new business, you’ll be able to open a bank account. An important rule of thumb for businesses is to keep business funds separate from personal funds. This simplifies accounting on your part, and is simply a basic rule of running a legitimate business.

The establishment and type of account you’ll sign up for will depend on your needs. For our LLC, my pocket sized giraffe partners and I did a bit of research. First, we discussed what we wanted and needed from a bank..

Our basic criteria for our bank account were the following:

  1. We needed a FDIC insured bank.
  2. We needed a checking account with a debit card to pay Apple and others.
  3. We did not need or want any savings, credit, or investment accounts.
  4. We wanted online banking, as well as brick and mortar stores (because our personal banks charge way too much to wire-transfer to online-only banks).
  5. We wanted to minimize banking fees.

We found that Bank Of America suited our needs, though Wells Fargo was almost identical in its offerings. With BOA, we have a business checking account with zero fees as long as we have more than $3,000 in the account. The account came with a debit card, free online banking, FDIC insurance, and everything else we wanted.

Signing up for the account online was easy. We filled in personal info for our LLC members (including names, addresses, and SSNs), as well as info about our newly formed business. A few days later the bank emailed us asking for faxed copies of various bits of LLC formation paperwork. Then we were asked to agree to various terms & conditions contracts online like you have with any banking account. Then, a week or two later, our debit card came in the mail.

One non-obvious thing we noticed with BOA was that you’re not automatically enrolled in online banking for your new bank account. When you login to see how your account status is going, you’ll see some vague instructions about seeing a link to sign up for online banking. The non-obvious bit is, that link is a few pages away from where you are. Click around through the menu system on the top part of the page until you find a page that has a link that mentions online banking (but doesn’t really sound like “sign up for online banking!”).

Step 3: Creating the Developer Account

In Idea to iPhone product, a brief how-to, I recommended that you create a throw-away personal developer account to get your product on test hardware. Assuming you did that, it’s now time to fork over another $100 for the legitimate business developer account.

Signing up for the business developer account will be as easy/tedious as the bank account was. You’ll create the new account, and fill in most of the same information the bank account asked about the business and members. Then Apple will instruct you to fax them most of the same documents you faxed to the bank (make sure Organizational contracts not filed with the state are notarized). A week or more will pass, and someone from Apple will get back to you on the phone to let you know the account is open or ask you for more paperwork/information.

Step 4: Uploading Your App

After your developer account is open, you’ll create an iTunes Connect account. This is created via the Developer Portal, by clicking around until you find it (I think you click IOS Developer, then it’s on the right somewhere..).

The iTunes Connect account may be the part where you send Apple paperwork and wait for a while, rather than the developer account, I can’t recall 🙂

Anyway, once you have the iTunes Connect account, you’ll want to login there and enter your bank account information on the “Payments and Financial Reports” page, so Apple can pay you.

Next, you’ll create the app information and prep for upload. This is a little confusing the first time around, so here’s the basics:

  1. Review the Apple App Store Review Guidelines and the HIG, make sure your app doesnt break anything that will get it rejected.
  2. Create test accounts for the Apple reviewer/tester if your app uses online accounts in any way.
  3. Go to the IOS Dev Center, click “IOS Provisioning Portal” on the right.
  4. Click “App Ids” on the left, and create the basic information/keys for your application. Various docs on the Provisioning Portal will guide you through these steps. You’ll generate crypto keys on your box, upload them, download different keys, import them, and so on for several steps. At some point the App Id for your application will be ready for the iTunes Connect steps..
  5. Login to iTunes Connect, and create your application using the App ID information you created earlier in the Provisioning Portal. Here, you’ll fill in various bits of application info such as title, urls, description, test account info, and screenshots. Then, when you’re ready, you’ll mark the application as “Ready for Binary Upload”.
  6. Open your project in XCode, and edit the various settings required for upload, archive, and upload the app using the XCode 4 organizer. Apple docs on this process are currently out of date, you should follow this amazing step by step tutorial instead: Creating and Uploading a distribution build with XCode 4.
  7. Wait for a week (or however long average review times seem to be taking), while your app makes its way through the review queue.
  8. Fix anything Apple rejects your app for. Rinse, wash, repeat
  9. Publish your app, and celebrate!

Step 5: Promoting Your App

While you’re waiting through the month or two delay of waiting on bank accounts, Apple accounts, and app reviews, you’ll have plenty of time to come up with brand and marketing strategies.

I’ll cover application marketing options in the next article in this series.

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

Is this thing on?

Hello everyone.

They say I’ll be rich if I just twitter, facebook, and otherwise spam you with a nonstop stream of directed marketing until something catches on. I’ve never been a fan of all that. I’m a firm believer in contributing something more than advertisement spam to the world, so thats what I aim to do with Coder Cowboy.

Yes, there are a couple of Coder Cowboy products available to purchase on the Apple App Store, and I’ll certainly blog about those from time to time, but this won’t be reading like a marketing pamphlet. I’d rather tell you about the experience, ins and outs, and lessons learned while creating those products than drone on about new feature sets.

This isn’t my first time around the block. In high school and early college I self-published some shareware software projects under the label Fablesoft, and more recently I put together various bits of open source software and scripts on world’s worst software. Oh, I also picked up a computer science degree and I code for a living for big software companies you’ve heard of.

I’m going to use this blog for good. I’ll be sharing some advice & lessons learned for my fellow coder cowboys out there. Topics will range from technical to non-technical, hopefully with something for everyone from time to time.

For starters I’ve put a couple lists of links, books, and movies together:

Those lists are still in progress, but there’s already quite a bit of value.

Before I go, I should mention a few great tech blogs for any fellow coder to pick through and follow. Check out Coding Horror, Joel on Software, and Bash Cures Cancer.