You have a killer idea for some app (web or mobile or anything), but don’t have a clear idea where to start.
You know the signs. You can’t stop thinking about it as you fall asleep at night. Your mind wanders back to it when you know you should be doing your assignments. Sometimes even watching movies feels like a distraction. You can’t help but you feel like there is something waiting to be done by you, there is some space for you reserved on the internet waiting to be deployed by that killer idea. You have the killer idea but you can’t put it to rest until you build it. You have only a little idea about development and have no idea how to get started.
The important thing to remember is that whatever you feel inspired to build, you should build it now. Just start. – Execute
Well, the most important thing I think that you should start out with is validating your idea. Before you even think about spending a whole lot of time on it, you should first ask yourselves the question that how unique your idea is? Does it really solve a problem? Does it make someone’s life easier? Before you get too excited and start spending your time and resource, you should first validate if there’s really a need for it.
The best way of doing that, according to me is sharing it with as many people as possible. Don’t ask people who are definitely going to appreciate it no matter what. Ask people who will be true to it, and preferably the people who will be influenced by the idea. You can also create a landing page for your product or service and see how many people sign up and are really interested in it. That might give you a rough estimate of the validity of idea.
The category of App
One more thing that needs to be clarified is that “what the app is about?”. How are people going to use it? Is is going to be a web app, an android app, an iOS app or all at once? Its usually difficult to design considering all at once. You should concentrate on one platform, but keeping in mind the possibility to branch in future as it might affect your design.
The next question comes out to be, what technologies am I gonna use to build it? This will drastically affect how you are going to proceed. If your app is going to store any data on the web, then you should consider service oriented architecture. What that means is that you develop your system such that information and functionality are available over the web as service calls that any app or program can make and use.
If you are considering a web app, you can go with the conventional LAMP stack, or the newer MEAN stack, or any other option that exists. The decision is important and should be taken in the beginning as it would be difficult if you decide to change the platform later.
Instead, the better approach would be to break down the data into simple format (usually JSON) and serve that to whoever wants it, whether it is web client, mobile app, or game console, or whatever. Also if you expect your database to grow exponentially, then you might wanna consider NoSQL database such as MongoDB.
There is only a little bit of investment involved that wouldn’t hurt you. You definitely need a computer to code. Better computers make it a bit faster but not a big deal. If you want to go into iOS app, then you need a Mac. Other than that the toold used for development are usually free. Registering and hosting apps on web or app store costs you some amount of money per month or per year.Google Play charges you a one time fee of $25. If you know that your idea is great then it should be of least concern to you.
Now, grab a cup of coffee and start development!!
After you have decided what you going to make and what you are going to use to make it, its time to start out on the project. You might wanna consider getting help from other people who are already good at these skills. After setting your goal and timeline for the development, start the implementation on some version control system (I would suggest git). Now its time to show the world what you have got!! Happy journey ahead.
Let me know in the comments section below if you have made something cool.
If you are starting out on web development then here’s a nice video to start out with