Building a Web Application: The Idea
Some would say that the first step in building a web application is the requirements. But there's a very important step that needs to happen first. You need to determine the need. What problem are we trying to solve? Once you know what the need is, it's simple to develop the requirements.
What problem am I trying to solve? If you read part 1 then you'll have a sense of the need that I'm trying to fill: Setting up and managing a web site for small to medium sized organizations who don't have the infrastructure or staff to manage their own site.
That might have sounded a little too 'structured' of a statement. I certainly didn't wake up one night and blurt that out. But it's a vision that became clearer over time. I would see companies that just couldn't afford to put out the large sum of cash required to get and maintain a CMS.
My idea is to build a CMS service. People would pay a monthly fee to host their site. With that, they would get access to an application with some enterprise level functionality. Cost effective for sure and a constant revenue stream for me. Am I just in it for the money? Maybe a little! But I actually think that I can build 'a better mouse trap'.
Is the idea feasible?
The great thing about building a web application is the low cost of entry to build one. All you really need is a computer and the time to build it. But more importantly, is it worth your time to build it? Want to build a web-based email program? If you don't plan to do anything different than Hotmail then it's probably not worth it. Google differentiated themselves with Gmail and they are a success because of it! You have to find your niche and go after it.
One important step in determining if your idea is reasonable is to survey the market. For web applications, it's quite easy to know who your competition is. Just do a search on the web. Find out who they are and what they've done.
Before starting this project, I surveyed the land and as it turns out, the CMS market is flooded. Most agencies seem to have built their own at one time or another after having come across the same realization that I did. There's numerous open source systems along with a number of enterprise level systems (with their enterprise level price tags!). Without a doubt, it's a crowded market!
Will my idea work?
So why am I still going to do it? Differentiation. I'm going to go after my niche. It's going to be easy to use; uncluttered but informative. Automate what can be automated.
Only time will tell if I made the right choice. In the end, there's really only one way to find out and that is to try.
Read the next installment, Requirements Gathering.