A few days ago an old friend of mine called me with a question that I’ve been asked many times before. It typically goes something like this: “I have an idea for a great app, but I don’t know anything about programming. How can I find someone who can develop that app for me? And, I don’t have much money to spend on it”.
Jane (the friend of mine) is a physical therapist with over 20 years of experience. She is great at her craft, but has zero knowledge about building software, outsourcing, and building apps. I wasn’t completely sure where to start when answering her, because there are actually a lot of questions behind the question here, and to answer all of them in detail would require me to practically write a book! In this post I will attempt to answer this very question without going into every detail so I can keep this at a blog post appropriate length.
Let’s start with asking a simple but profound question: is your idea really worth investing the time? There are millions of apps out there and far too often just a few minutes of research will bring you to the disappointing conclusion that your idea has been already implemented many times in many ways. And if your first few minutes of research did not result in an exact copy of your idea it is important that you dig further and continue looking. The tools for finding apps are fairly limited and it may take a while before you stumble upon something that will make or break your day.
Do not to get too disappointed if you realize that your idea is already taken. First of all this research might have saved you from making a poor investment decision, plus you can actually get the app that you needed for just $1.99 instead of spending lots of time and money on getting it built. With that said, finding an existing app does not necessarily mean your idea isn’t worth its salt. You might find that you could do a better job designing the app and be able to market it more proficiently.
Consider that: just recently Mark Cuban released his own version of a chat app designed to compete with Snapchat. He believes that his version of the app will kill all the competitors, and it just might, because so far he has turned everything he touches into gold. So don’t get discouraged. Instead, take a serious look at the competition and see if you can offer anything exciting, or anything of value that will sufficiently differentiate you from the competition. In fact, there is a silver lining in competition – it validates to a degree that there is a need for such product in the market.
Let’s assume that your idea is sufficiently unique. It still doesn’t guarantee that your app is worth investing time in. What you need to understand next is whether anyone will buy it. We have a tendency to fall in love with our ideas and miss all the imperfections or outright flaws. Ask yourself: How big is your potential market? For example in Jane’s case, how many physical therapists are out there? How many of them face the same issues as Jane? If the app is available will they spend the money to buy it? By the way, keep in mind that while people have no problem paying from $200 to over $600 for their smart phone they will have a real problem parting with $0.99 for an app. I have no idea why this is the case, but it’s just the way it works.
OK, so your idea is great and the market is big enough. Now it’s time to think about marketing. How will you get your app in front of potential buyers? Placing your app on iTunes is not going to magically put it on the iPhones of your prospects. This is where marketing comes in. Marketing helps you sell your app. Unfortunately, marketing your app could be far more complex, time and money consuming, and riskier than building the app itself. Look at potential sales of your product through that lens and adjust the numbers. According to the United States Department of Labor’s Bureau of Labor Statistics, there were approximately 198,600 Physical Therapists employed in the United States in 2010, earning an average $76,310 annually, or $36.69 per hour, with a 39% growth in employment projected by the year 2020. That’s a great market, but Jane doesn’t have the ability to reach the entire market. After some considerations we figured out that even with a somewhat optimistic outlook, considering reasonable investment in marketing, she could only reach about 20,000 physical therapists in a few months, and that’s if she worked incredibly hard. That was a real killjoy.
The next step is to drill into the question of whether people who learn about your app would actually buy it. If your app is addressing a particular problem or a need of the potential buyer you should validate that it is indeed a “need” and not a “want”. I want to drive Tesla… but do I really need it? When it comes to addressing business issues, inconveniences, problems, etc. people are likely to buy only if they “need” to address the issue, not just if they “want” to. In most cases what you going to find out is that it’s not one or another but some combination of “need” and “want”. It is important to find potential buyers of your product and ask them, and then challenge their answers (“Why would you say that?”), and ask again and again. Unless you have tons of money to experiment you need to be certain that there is enough of a “need” in the mix or that there is a substantial gain in productivity, profitability, etc. that your app would provide.
On the other hand, if your product is in the entertainment space, then “want” is far more important. That’s the factor behind the astonishing success of some games and other small and not so small indulgences. The problem with “want” products is that they are usually successful only if they are “hit” products (think of a hit song as an example). And for every hit there are hundreds if not thousands of non-hits, flops or just mediocre ones, and unfortunately there is no formula that will allow you to ensure that your app is a hit. It’s always a gamble.
Now let’s assume that your idea has passed your initial assessment in flying colors. Then it’s high time to think about financing your app development project. First, you need to determine how much money you need, and that depends on your idea, and ranges anywhere from a few hundred dollars to a few hundred thousand. Most of the initial versions of apps would fall into the $1,000-$10,000 range. As a matter of fact if you are new to app development I would strongly discourage you from doing anything bigger than that.
You need someone technical to get you the initial estimate. Ask them for a ballpark estimate or for something “between breadbox and bus.” If you don’t know anyone I can tell you right now that if you are building an app that will not need to connect to any other systems, doesn’t need a supporting website, has a limited number of “pages” or “screens”, doesn’t have unusual bells and whistles, doesn’t use extremely high quality rich graphics… you are probably under $10,000.
There is a somewhat popular method of estimating the cost and time it would take to develop your app: posting a project on Elance, oDesk or some other freelancing website. There are a several shortfalls in that approach, the main being that you can quickly ruin your reputation if your post projects that you never finance.
So, where do you get that money? There are a lot of ways you can approach raising funds for your idea. Let me just briefly mention them, as each can easily become a large blog post on their own.
- Crowdfunding through companies like www.kickstarter.com or www.indiegogo.com. Crowdfunding is a fantastic way to raise funds. Plus, in addition to providing you with startup money it will also give you a validation or a rejection of your idea (if you can’t raise the money – chances are you won’t be able to sell the app anyway)
- Various types of angle investors including and probably starting with your friends and family. Be really careful about getting your friends and family involved – the failure rate in app development is pretty high with corresponding odds of losing the money. Investing in the app usually means that you get the money in return for offering some portion of ownership in your product or revenue stream. However, unlike in the case of borrowing money, you do not guarantee that you will ever pay back. Investors usually need substantial motivation in order to take that risk, and most people commonly anticipate a large return on their money.
- Traditional money borrowing, ranging from credit card debts, to asking friends and family, to going for a small business loan. You will need to return the money in this case, and with interest, so please keep in mind the odds of being successful before you max out your cards.
- Pre-selling. This is a great form of collecting the funds as it also provides you with validation. That only works if you are planning to charge a substantial amount for your app as it will take a lot of people to commit at $0.99 per head.
- Barter. Swapping your services for services of a developer could be a great way to your first app without taking hard earned cash out of your pocket. I’ve seen many successful apps that started this way.
- Various forms of joint ownership. For example you can find developers who will develop the app without charging you, but in return will expect a portion of revenue from the sales of the app.
After you have identified the source of financing you need to flash out your idea enough that you can pitch it to potential investors. The best way to do it is with visuals – creating a series of pictures that represent your app starting from the initial splash screen and going through every major flow of the app. What happens when the user clicks on this button or that button? A deck of pictures speaks much better than words. They could be pictures on the back of a napkin or (better) screen mockups in some kind of computer program, e.g. power point. Pick the tool you feel most comfortable with.
Frankly, that could be a rather involved process, and if you are new to it you may find yourself drowning in details. Try to stay at relatively high level, for example a mockup of the first splash screen could be just a box with app name in a middle, a screen with a few dozen fields could be presented as a box with high level definition of the data (e.g. “name and address” instead of “first name, last name, address, city, state, zip, phone, etc…”). If you are absolutely new to designing apps the best thing to do would be to use standard 3’’ by 5‘’ notecards. For more advanced designers I suggest using tools for creating wireframes, see a long list here or prototyping tools like www.fluidui.com
The process of flashing out your design doesn’t need to be overly complex and extensive. What you need to produce should be enough to explain your idea in layman’s terms to potential investors or partners. You do not need to have everything perfect, just take a look at a few Shark Tank episodes, and that should give you at least some idea. Before presenting your idea to potential investors pitch it to a few friends and see whether you are ready, if not go back to the drawing board. Each type of investor may need various additional artifacts, e.g. you may need to create a “pitch deck” to present your idea to angel investors. If crowdfunding is your approach of choice you need to look at a good number of successful campaign, especially a few that are close to your idea.
OK, you’ve got the money (you have been successful in fundraising using approaches 1 through 4 above). Congratulations! You are probably one of 10,000 people who had an app idea and got that far. Remember the original question – “…how can I find someone who can develop an app for me?” It’s only now that you can realistically start looking for developers. And while there are many venues to consider the best ones in this case would be going through freelancer marketplaces such as oDesk and Elance.
Finding developers on marketplaces and working with them is a complex topic that deserves a book on its own, so let me just hop over the most important steps. Keep in mind that if you have no history of working on the marketplace you will need to work much harder to persuade good developers to work with you – reputation of buyer (you) is pretty important.
- Register on the marketplace of choice. Put at least some effort into defining your profile.
- Create a simple definition of your project – 200 words or so. You don’t need to disclose lots of details at this point.
- Create a new project and invite developers to bid on it. I recommend not going for an open bidding where everyone can bid to work on your project. Instead, find developers that you like and invite them. How do you know who to invite? Most marketplaces provide you with tools to zero in on the right candidates. You can select them by rating, number of references, region, and many other criteria.
- Some of the developers will reply with an initial bid. Select a few and tell them more about the project in order to get more precise bid. How should you shortlist your candidates? Once again, it’s a complex topic. Just a few pointers here – pick those who have read your project, offered some interesting thoughts in their response, and those who have a good portfolio.
- After you have received definitive bids you need to select the best (not the cheapest!) developer and commit yourself to the project. You absolutely need to interview them. Even if you have zero technical skills you can’t skip that process. If you can’t get anyone technical to help you to vet the developers, use your intuition. It’s not much but it’s still better than a coin toss.
That’s it – no more selection. You and your developer are on the same team, meaning you are tied at the hip. Your goal now is to deliver the app with the acceptable quality, as soon as possible, while staying within your budget. And that is by no means easy. We’ll talk about it shortly, but first let me clarify an important point. So far I talked about a developer as a person – a single person. That is often not how the development is done. There are a lot of different skills that are required to create an app, and here are the most important:
- Business analyst/application designer – this is a person who takes your requirements (aka business requirements) and translates them into technical specifications in one form or another. This is a person who you are likely to work most with.
- Graphic designer/UI or UX specialist – this is a person who creates images, often is responsible for screen layout, and other aspects of app-to-human interactions
- Programmer/developer/coder – this is a person responsible for writing the application code.
- Tester/QA engineer – a person responsible for testing the application.
- Project Manager – a person responsible for coordination, communication and ultimately getting things done.
On small projects you can have a one-person team where all the roles mentioned above are performed by one person, but more often you will get team with a few people at least in some of the roles. And in many cases you will need to put yourself in some of these roles.
OK, you are moving forward and it’s high time to build the app. Figure out who does what on the team and decide what roles you will play – at least to a degree. The Tester is probably the one role you can’t avoid. And of course you are the customer, and thus you always right. And that is one of the biggest app development traps. Most customers, your humble servant included, have a tendency to ask for things that are practically impossible to achieve given the budget and time constraints. We want our product to be perfect and to have all those bells and whistles that will make them successful, and often we end up spending too much effort on items of low importance, and overspending or running out of budget before the app has been validated by real users.
It’s extremely important to aim at what’s called a Minimal Viable Product (MVP) – an app with a bare minimum set of features that nevertheless provides value to the end user. This approach is beautifully described in The Lean Startup that I strongly advise you to read before you spend a single dollar on your app.
The approach to building the app should follow a so called agile development methodology. Think of it as drawing a picture – you start with a pencil outline, then add details, more details, then add colors, and so on. You work on the entire picture instead of just one corner of it. And with every pass at the picture you have a notable level of refinement. Your app should be developed in a similar manner in small increments – such as a week.
By the end of each increment you should have a next level of refinement (new features implemented), and ideally a working app – something you can play with and test. It may lack features or colors, but it’s a working app. Work with your developer on a plan that identifies what features will be working in the app by the end of each week. Then at the end of each week spend some time working with the current version of the app, and verify that the developer understood your requirements correctly, identify issues, and record new ideas.
In that process you may find that some ideas and features that you had are not as great. You may find that you are missing something profound, or that some features are far more complex than your developer has anticipated. All that is normal. Work with your team to reshuffle your plan. Keep in mind that each new idea will have a “price tag” attached to it and you will need to sacrifice some features to implement others. It’s a complex dance in a very limited space, with dimension of the space determined by your time constraints and budget. Keep The Lean Startup on the top of your desk and aim for the Minimal Viable Product.
Hopefully, in just a few (maybe quite a few) weeks your app will be ready. The next step is a submission of the app to the iTunes app store. That may take a few weeks, or even longer if the app is not approved for some reason. And then, auto-magically, the app appears in the store…
Let’s now briefly touch upon two forms of joining forces with developers instead of paying them for developing the app – barter and various forms of joint ventures. As I’ve mentioned I’ve see many successes that were born that way. Unfortunately, I’ve seen far more cases that did not work out, in particular, when that joint venture started from a friendship or another type of a relationship. As they say, a friendship built on business is much stronger than a business built on friendship.
Nevertheless, if that is the route you decided to take, consider searching for developers on sites like craigslist.org. Put together an honest ad that explains the terms of the venture and go from there. The good news is that the risk of teaming up with a poor developer in this case is pretty low.
Of course I have not even touched upon many things you would need to do to prepare for launching your app, and so many other things that you will need to accomplish to make your launch a success, but that is a whole other story :)
That has been a long post and we touched upon so many aspects. Barely touched in some cases. Here are a few books you may want to consider to strengthen your knowledge and get better prepared to creating your first app.
- Idea to iPhone: The essential guide to creating your first app for the iPhone and iPad
- How to Build a Billion Dollar App
- The Ultimate Beginners Guide to Outsourcing: Learn How to Outsource Any Job Online on Fiverr and Elance or Hire a Virtual Assistant to Save Time and Money.: … Includes list of 75 freelancers you can use
Please feel free to share your thoughts, ideas, concerns and suggestions. I’d love to see them as well as other readers. Thank you!