Have an Idea!! Where to start?

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

Iterative loop.
Minimize total time through the iterative loop.

Validation

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.

Technology

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.

Web Development
Key aspects of web application development

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.

Imagine your idea involved videos being deployed for the users. You might make the mistake of tightly integrating you r website with the database of videos, and each video might be returned decorated with JavaScript, HTML, etc. to make it look perfectly the way you want. Now if you want to use the same videos in your mobile app, this all can do anything.

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.

Investment

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.

Bonus content

If you are starting out on web development then here’s a nice video to start out with