How to Develop a Real Website in 2009 (and how not to)
In 2001 I had a great business idea that, like so many of my great business ideas, withered on the vine even after I had spent a lot of hours working on it. It was a case of not committing fully, really. My life at the time was full of other events and obligations.
The idea was a hotel reservation system for small, independent inns in Korea called yeogwan. Football (by which I mean soccer) fans will remember that 2002 was the year that the World Cup was jointly hosted by Korea and Japan. I knew that a lot of people would have a hard time finding reasonably priced accommodations in Korea and would search the web for them. There was not a lot of competition, and I knew that yeogwan, usually priced at around $30 a night at the time, would love the chance to automatically fill their rooms with foreigners paying triple that.
The first step was to build the web application, which I did using MySQL and PHP. It was pretty slick, and I had a keyword-rich domain name -- hotelkorea2002.com. I knew that it would be a cinch to dominate search results for "hotel rooms in Korea," "2002 World Cup hotel reservations" and the like with a domain like that.
Anyway, long story short, we never went out and sold the yeogwan on the idea. As I was also working on a Master's thesis at the time, it just happened that I didn't have time to go out and sell the idea. By the time I did have time, the ship had sailed.
The point of this post is to show how far things have come since 2001. Back then, it took me weeks of coding to get the system just right, and I didn't even get it just right. It probably would have crashed under the heavy traffic it would have received, and with only my eyeballs on the code, it probably was not as secure as it should have been. But it worked well enough that if we had actually executed the rest of the plan, it would have made me a multi-millionaire.
Now things are different. Now I would be able to get a sweet graphic design from a professional designer, slice it into a custom Drupal theme in one day, and implement a dynamic reservation system the next morning before lunch. The reservation system would be far better than my own little custom solution because of the thousands of talented coders in the Drupal community who inspect and improve the code every day. One solo programmer, or even a team of them, just can't compete, unless they're the best programmers in the world, and those guys are all working for Google.
That is why all the real websites in the world today are running on a robust development platform like Drupal or Plone or some of the others. I'm not talking about Wordpress or Joomla or hobbyist CMSs like them, although even those are preferable to custom coded PHP in most cases for small sites.
Don't believe me about real websites using real CMS? Try this short and incomplete list of big, busy, multi-featured sites running Drupal:
- Harvard University's School of Science and Engineering (If they think Drupal is better than what they can deliver in-house, well... maybe you need to re-think your little custom CMS.)
- Stanford (you know, where the Google guys went) Law -- quite a few Stanford sites run on Drupal.
- MTV UK
- The Onion
- Sony Music
- Beyonce, P!nk, and a whole big long list of music stars, thanks to Drupal's many awesome multi-media, ticket selling, and list building modules
- Fast Company
- Fed Ex
If you're still "custom coding," you're a stubborn fool because this is 2009, and no matter what kind of hotshot programmer you might think you are, you're not as good as the guys at Harvard, and they choose Drupal to run their web application.
This sampling only represents Drupal and just a small number of big sites using it. Every major website in the world except maybe Google itself is running on some sort of established platform, not a "custom solution," which is a waste of time and a completely ignorant way of doing things. Seriously, if you're still doing things the old fashioned way, you need to pull your head out of your ass and get with the times. If your web services provider is still doing things the old fashioned way, you need to get a new one. (I'm available... sometimes.)
I only wish Drupal had been around in 2001 to free me up from those weeks I spent coding. I'd be rich.


Let me revise a bit...
There is one case when it might make sense to do things from scratch: If you are developing a complex application and have funding, hire some excellent programmers and build. If you think you have the next Twitter and you've convinced venture capitalists to kick in $10 milllion, build from scratch.
For 99.99 percent of you pondering whether to build on an established foundation or from scratch, everything I said in the post above still applies.
Post new comment