What are Web Apps?
WikiPedia describes web applications as:
Basically, any site on the web can be seen as a web application that displays text. Although in general, there needs to be a little more intelligence before we can really speak of an application. For instance, users need to log in and can perform certain tasks.
Typical examples are GMail and Mint.com.
Why Create Your Own?
There are many reasons. Money can be one, but it shouldn’t be of primary importance. There are easier ways to make money.
- For the challenge: You like to get to understand how the Internet works and you want to try it out yourself.
- Because you need something that doesn’t exist: Say you want to track your stamp collection but can’t find any program that does what you want? Do it yourself.
- You want to help customers: Customers are a two-edged sword. Dealing with a few annoying customers can be cumbersome, but the many grateful ones will make it all worthwile.
Before anything, you will want to have a very clear vision of what you’d like to achieve. If you’re just doing this for yourself, it’s time to get started.
If you would like to attract customers, first try to validate the idea and verify that there is a market for it. Ask a few people if they have a use for the application. Ask how they think your application should work. And listen.
Another way to validate your idea: Check the Internet. If every one is doing it, you’re probably a little too late. If no one is doing it, chances are no one is interested or you stumbled upon something truly unique.
No idea? No problem, there are thousands of ways to generate them.
Start Small, Stay Small has a great chapter on idea generation and validation. And on top of that you get an entire book on creating and running your own web app.
Develop the App
There are thousands of ways to create a web application. And all are equally valid. But first, you’ll need to learn a programming language.
If you already know a programming language, pick that one. No need to learn a new one.If you have no idea, you may want to take a look at this language overview.
For your very first effort, keep it simple. Although PHP is not seen as a “good” programming language, it is an easy language to start with and there’s a huge amount of documentation around to explain how everything works.
Once you set your first steps, pick up a book on writing PHP well, such as PHP in Action. It will show you that even PHP programs can be well written and easy to maintain.
When you start developing: Always start with the simplest thing that could possibly work and test it on yourself and on real users. Try to create a usable web app as soon as possible. There will be enough time to add features later on. And in many cases, the features you were planning for will prove to be less relevant than the ones that your users are asking for.
Run the App
Now that you have created a web application, you need to put (host) it on a server. Usually, you don’t have your own server because this is too costly.
If you decided to go for PHP, the options are limitless. For a start, I suggest a cheap shared hosting plan. Although you will not get a premium service, it will suffice to test the waters. You can always decide to upgrade later on.
I’ve had great experience with Lunarpages and WestHost. Both offer very affordable and pretty reliable shared hosting plans. If you have any problems getting your site up and running there, feel free to contact me.
Other options include:
- Many shared hosts now also support Ruby on Rails and Python. But check first before you make a payment. Lunarpages offers both Ruby on Rails and Python in their shared plan (they currently offer 15% off with coupon code “aff15off“). WestHost only has Python.
- If you picked Java and don’t mind bending to the rules of Google, AppEngine is a fine choice, otherwise check out these other options.
- For Node.JS, look no further than Heroku. You can get started for free.
Getting the Word Out
There are many ways to get the word out, but one nice way is article marketing. By writing articles for various sites around the Internet, you can spread the word on the benefits of your web app.
Other popular option these days is going through social media. For instance, a Facebook fanpage and a Twitter account.