So you’ve got an idea for an app that you think needs to exist. Or not, but in any case, you want some info on what to do with said idea.
What things need to happen to make your idea exist?
There are two major questions that you need to consider:
- Who is going to make it?
- What do you want your app to do?
Let’s start by answering the first question.
Who is going to make it?
There are two kinds of people in the world, you and people that aren’t you. Statistically the latter is probably going to be the one to build it, but let’s be diligent and consider both.
You could build it yourself. Even if you have no experience in programing, there has never been a better time to learn. There are tons of courses out there, and almost all of them are free. Heck, I have no formal training in app development, I learned it all on my own. This section could be an entire post in itself, in fact, it’s an entire degree. But do seriously consider this option, it is real and extremely powerful.
You can also get someone else to build it. This has tons of advantages and disadvantages.
You can find a technical co-founder. Someone who would become tightly integrated into your team. You could just hire developers, or you can find contractors.
If you can find a technical co-founder, more power to you! Since software work is so in demand this decade, developers have become much more savvy about how startups work, and they may have already been approached at least once. Be careful not to come off as “I’ve got an idea for the next facebook, all I need is a coder!”, because the answer will be no.
Of course, hiring full time developers is prohibitively expensive unless you have a massive amount of funding, so that really only leaves contractors. There are tons of great resources for actually finding contractors. There are tons of job boards, and if you know someone that already makes websites, they probably have someone that they can refer you to.
What do you want your app to do?
What about that second question? “What do you want your app to do?” The answer is probably, “A bunch of stuff!” Ideas are free to put together, they can be as big as you want. Unfortunately, apps don’t play by the same rules. As things that exist in reality, work needs to be put into them and the larger they are the more energy they need in order to begin existing.
You need to describe your app.
And not in words, not to your friend, but to a piece of paper. Not that you shouldn’t share your idea with others, but talk is cheap. What things does your app need to be able to do?
Lets think about a popular app as a case study, say Twitter.
Twitter: An App that lets you ‘tweet’ to friends, and read what they’ve tweeted.
This definition is nice, concise, and gets to the core of what Twitter is. As a human, we can guess certain things. Tweets are a kind of content, probably not very large. Maybe users can mark what other users post things they want to see, and they can see them all in one place.
The problem now is that every single one of those things are assumptions. Reasonable assumptions, assumptions that a typical young American might make in 2018, but that’s not a thing that everyone is. Everyone is going to interpret a high-level vision differently. In fact, those contractors we mentioned? A big part of why they cost so much is because it is really hard to extract specifics out of people with an idea.
All of this information leads us to this kind of understanding:
What can we do to improve this situation? What if we could move those contractors from the bottom left to the top left? How can we put effort into moving contractors closer to our own understanding of what we want to build?
We make a formal specification! We need to be able to explain what we want so precisely that no-one can mess it up. What do we need in order to make this happen?
How to build a Spec:
- Find an app that’s similar to your idea
- Write down all its parts
- Take out the parts you don’t want
- Add in the parts that make your app unique
- Show the interaction between the parts
There’s a great question that comes out of this:
Why should I bother? Which is an excellent question! These steps, although time consuming will help you speak developer. It will also reduce friction, because it can help provide a firm basis for what you want to put together.
No matter what, keeping these things in mind will help smooth over relations with your developers, and keep your project on track.