This is the first question you should ask yourself: “Why?” As the old saying goes:
“Find the why and the how will follow.”
- Improve your own skills?
- Try out some new technology?
- Write an app that you want to use?
- Make some extra pocket money?
For me, it was all of those things (making money was never the most important thing for me, more of an afterthought). I do think having more than one motivation always helps to keep going when things get hard. Things are going to get hard. Buckle in!
How to Pick an Idea
If you are trying out new tech or trying to improve your own skills, start with something you are interested in. That will take you a long way and keep you motivated and if you already understand it then the requirements will be straight forward. I chose poker because it’s a hobby I enjoy and understand and this helped me no end. This took out the worry of functional requirements for me and meant I could concentrate on the tech.
If you want to create an app that you want to make money from, then make sure people actually want it. I warn you now all your friends will tell you just how awesome your idea is. I promise they will, even your most honest friends. I highly recommend this idea validation from the App Brewery. Yes it will cost you a little bit of money, but time is money, right? I had a few ideas a couple of years ago, thinking “everyone wants this”. 10s of thousands of people saw my ad, and this translated into 10. One Zero people who were actually interested. I didn’t do the app and saved all that time of developing an app that no one wanted.
So You Have An Idea?
Great you have an idea! Now we need to do more thinking. How will most people use your app? Will they use it on mobile, desktop? When will they use it? What technology do you want to use?
It’s also OK if you get this wrong and then start again. I started by thinking I wanted a standalone desktop app and I wanted to use Electron. After asking a few people who played poker, it turned out they also wanted my app on mobile. I also felt like I’d “lost control” over my app. Once I’d given the install files, it was gone and I couldn’t just make a quick bug fix or see easily if it was being used or what feature they were using (of course there are ways around this), but for me, the easiest thing was to turn it into a webapp.
Can I Code Now?
No. Hold your horses, one minute. We’re still thinking. Get a pen and a piece of paper or create a Trello board. List all the things you want to do and then work out what is the absolute MVP. The absolute minimal viable product. I have recently seen the term MVP misused, so let’s be clear about what we mean. Something that gives some value and works on its own. Creating a form that does nothing is not MVP, creating a form that only takes one field and saves it, can be.
Then look at your MVP again and see what you can take out to make it the smallest piece of functionality you can think of. (Don’t throw away the full list of all your ideas yet, you will need those later).
I recommend keeping a Trello board and make sure you have a “done” column because there is nothing more rewarding than moving items you’ve completed. It helps keep that motivation going.
Is it Coding Time Yet?
You still have loads of motivation at this point, so now is the time to investigate all the unknowns. Obviously, stack overflow is your friend, and if you’re going to be using a new technology you are going to be here a lot. Just remember to be critical of all the answers, and read the little footnote comments, sometimes some of the best advice is hidden there. Medium has some great articles, if like me you’ll be just scanning for the GitHub link to see the actual code, but don’t just follow it blindly, actually read the article. (No GitHub links in this article — sorry!).
One of the most valuable “resources” I had, was my friends (who work in software, that is). I can’t emphasise this enough. Just saying things out loud sometimes can help and you never know, they may have some great ideas. One of my friends told me about WebAssembly, and I am oh-so-pleased they mentioned it. It’s the best thing in my app. In fact, now I think about it I had a million good ideas from my friends, from little animations to adding a feedback form.
So Now We Code, Right?
Anyone would think I’m trying to avoid writing code here. As the cliché goes, “if you fail to plan, then you plan to fail”. (Yes I’m rolling my own eyes at that one, too.)
If you really are desperate to start coding at this point, then go on, do a little. But do come back to this point soon. Sketch out how you want it to look. Doodle on paper, or get out your professional drawing tools if you like. Just put your vision on paper somehow. One of my all-time favourite tools for prototyping a mobile app is pop. Whilst you don’t need anything special I did buy some stencils to help me design an app, (mostly because it was fun).
Yay, I’ve finally said it. Get your MVP done! Try, and I say try, not to get distracted by other things and just do this bare minimum. Don’t worry if you feel like you’ve hit a brick way. Walk away, do something else if you need to. You would not believe how many times I felt like I hit a brick wall and thought “I’m never going to be able to do this”, but you know what? Every time I managed to solve the problem and move on. You will too.
Then let people see your MVP.
Do not underestimate how difficult marketing is. People are not going to magically stumble onto your app. You need to shout about it. Then shout some more. It is estimated that 90% of apps on the app store are zombie apps. No one has ever looked at them. I’m tempted to move this paragraph to the top, but if you are like me you never would have got this far if you saw a marketing section at the top. Why to the top? If you plan to sell your app then you should be thinking about your marketing strategy right from the beginning.
Can you get a small group of users together to give you feedback on your MVP? Maybe post in a Facebook group related to your app, to ask for help or anywhere else you might find interested users. Ask them their opinion. That’s a start. Then tweet, insta etc etc etc. Think about SEO. So many things to look up and google. Always trust the top result when looking into SEO because they know what they’re doing.
This one surprises many people but it’s sometimes important to consider the technology you use for marketing purposes. What? Wait? For example, I learnt whilst doing a swift course, that swift apps have a greater chance of being featured on the app store and being featured means many more downloads of your app.
Rome Wasn’t Built In a Day
Start small, get feedback on your MVP, develop a little more. Keep shouting about your new features. Your app isn’t suddenly going to get millions of downloads on it’s first release. (If it does please let me know how you did it). Be patient, keep going, keep re-evaluating. Most importantly don’t give up!