Ray Yamamoto Hilton
Freelance Mobile Architect & iOS Developer in Melbourne, Australia

So, you want to build an iPhone App?

You’ve had an idea and you’d like to build an iPhone App but where do you start?

I have tried to list some of the challenges that may affect your plans for world domination. This is not meant to be a negative article but perhaps it reflects on the sorts of common scenarios that I, and other developers, tend to see every day. I hope that this will not dissuade you, but perhaps it will allow you to more rigorously critique your own ideas and attitudes.

Needless to say, these are my opinions based on what I have experienced, but I hope it can help prospective entrepreneurs avoid some of the most common hurdles.

This is by no means an exhaustive list and I may add to it over time.

Our Relationship

A good working relationship is key to delivering quality products.

Ideally, we would be co-located as that can help us become more sympathetic to each other’s motivations. The most enjoyable (productive?) working relationship is a highly dynamic one where we set noble goals and are willing to adapt and change in order to do the best possible job.

Don’t plan too much

“I have it all worked out and I just need someone to develop it”

This phrase will raise a red-flag with most developers as it makes the assumption that development is just a linear, assembly-line process. It also suggest that too much time may have been spent on planning. Traditional thinking may lead people to think that planning what you’re going to do before approaching developers/designers is a good thing. However, this can lead to significant emotional investment and therefore resistance to change. This will limit our ability to innovate.

Ideally, I would like to start talking as early as possible to make sure you are making decisions with as much information as possible.

Having said that, if you do have a very specific idea of what you want and you feel you have already got it set out in sufficient detail, you could consider off-shore development. This will probably work out cheaper in the short term if you have everything prepared up front, as it is working out what your product is that is the hard part.

Originality & Competition

It is almost certain that your idea isn’t original, and that is not a bad thing.

If there is competition, it goes without saying to do some research about who they are and why you think they have succeeded (or not).

If there doesn’t appear to be anyone in the market yet, it is probably safe to assume that is because people have tried and failed to do so. Assuming that your idea is unique and original will lead you down a path of naive optimism. It’s a worthwhile exercise to take the mindset that your idea is NOT original and try and work through the problems others have had.

Accept failure

It will happen, perhaps over and over again.

The success stories are from people who don’t give up and learn from their experiences. Failure is a necessary part of becoming successful and a perfectly normal part of business. In fact, we strive to fail early if we have to fail at all, as we minimise costs and have enough remaining stamina to try and try again (and again).

I will go on-and-on about getting to market as soon as possible.

Be open to critique

Your ideas will be open to a lot of criticism by the market, and customers can be brutally honest. As we work through the ideas and try and bed down the nature of the product, we will have to be brutally honest with ourselves and push back on every idea, every screen, every button to make sure it stands up to our rigorous standards and high-level goals.

I will push back and critique many aspects of the product to make sure we put effort into areas that matter and avoid spending too much time/money on dead-ends.

Be pragmatic, be flexible

You may have to let go of some of your preconceived notions in order to allow innovation around your core ideas occur. This can be very challenging.

During prototyping and development we may realise that we are solving the wrong problem, and we will need to revisit our basic assumptions and change tact.

Once you are in the market, you can react directly to the real-world rather than second-guessing ourselves and trying to infer what the mythical customer wants. Your ideas and the market are all subject to change and you must be prepared to embrace the chaos and react to the changing demands. This doesn’t mean you implement every whim of the customers, rather you try and get good at recognising opportunities that can help you more strongly define your product.

You will probably want to have a quick look at the Agile and Lean approaches to software development. Agile details a simple set of high-level goals – a guiding philosophy – to keep focused on whats important in a team. I wont try and reproduce the wealth of good material out there around these subjects, but a good starting point

I will almost guarantee that the idea you have now will not be quite the same after a week or two of working together.

Execution > Idea

Ideas are common, good execution is rare.

By execution we mean the way your product is presented to the user, how it performs and how much utility it has. These are very hard things to get just right and its worth workshopping through these at an early stage to re-enforce the good ideas and throw out the not-so-good ones.

Do Less

There is still a prevailing attitude in the software world to deliver products that do everything under the sun. These are often very expensive products that most people only use a small proportion of. A disruptive product could enter a market like this and target that small proportion at a fraction of the incumbents price.

Long feature lists are a bad idea; they will burn up your budget and offer diminishing returns. Try placing your features in order of importance and pick the least number of features that can make a viable product. We can then work on more features for a subsequent release with the benefit of market feedback.

Just In Time

Why do today what can be done tomorrow?

Deliver what you need to deliver and follow up with additional functionality before people need it. A good anecdote is how 37 Signals delivered Basecamp without a billing system – they billed in monthly cycles so had 30-days in which to work out a solution, so there was no need to delay their main product launch.

Money & Time

It’s expensive to build and app (Typically >$40k) but thats not the end of it.

You also need a design and marketing budget to make sure your app has the best possible chance of surviving and gaining traction. Subsequently, you will want to update the app to respond to market demand and you will probably have on-going marketing and hosting costs. These bills stack up and they will generally overshadow what you initially spend on development, so its important to work out a budget you are willing to commit and we can work backwards from there.

I normally suggest that the project should take 3 months or less and 2-4 people on the team. Adjust your project scope to fit, not the other way around. This will help you choose whats most important and allow us to deliver a polished product on time without compromising quality.

Tip of the Iceberg

Usually, apps don’t exist in isolation. There can be several back-end services that provide storage, communications, administration, etc. These services can sometimes be quite large and complex in their own right. If your app needs to communicate with other users, integrate with social networks or use third-party APIs, it will probably need server-side development.

Web apps are a viable alternative

Native apps are attractive because they offer deeper integration with the platform and slicker performance, but they are not always the right option. If you are prototyping an idea or you need cross-device/platform early on then I would suggest you consider starting with a web-based product and build out native versions when you really need it.

Can I pay you in equity?

Probably not.

I cannot speak for all developers, but I would be surprised if any would accept equity over cash at an early idea stage. Putting aside for one moment that the idea is only a small proportion of what makes a good product, this is really a question of the developer investing in your business.

Many developers will choose to invest their risk in their own projects. If they are going to choose to invest their time in your project, then it will cease to be your project to run as-you-wish and a share in control will need to be negotiated. Joel Spolsky wrote a good answer on how to divvy up ownership in a new startup.

For me, the most appealing investment opportunity is one where the members of the team have complimentary skills and a demonstrated ability to innovate, react and most importantly, deliver.

Everyone is different, and your milage may vary.

Crowded App Store

Just because you are in the App Store doesn’t mean you will get a torrent of downloads.

In fact, it is quite usual for not much to happen. There are tactics you can employ to get the attention of Apple and get featured in one of their categories, but maintaining the traffic after these features expires can be tough.

Mentoring & Seed Funding

If you feel you need to get some mentoring to get your business going, you could consider approaching a startup accelerator like AngelCube, StartMate or PushStart. Their schemes vary, but basically they provide you with seed funding (~20k) for a percentage (~10%) of your company and aim to get your product pitch honed within a 3 months and put you in front of as many investors as possible to secure your next round of funding. The interview process itself is pretty gruelling, but if you survive you will be brimming with confidence.

Further Reading

I would recommend reading (or at least flicking through):