The four quadrants of web apps
by dbasch — 2 Comments »When I think of a successful web application, I picture one that has millions of users and runs smoothly (it works fast and it does not crash). Of course, very few are like this. Perhaps the first example that comes to mind is something like Google Search. In the following chart, Google Search is in the deep south and far east:

The above chart depicts four possible stages of the life of a web app. My guess is that the vast majority of all web apps never leave the northwest. Someone throws some php (or Ruby, whatever) together with a database schema and has a proof-of-concept up in a few hours or days. In many cases this is just fine. Maybe your boss wants some internal tool to keep track of inventory, or perhaps you have an idea that you want to show potential investors to see if it’s worth pursuing.
Some applications are in the northeast. This is usually a bad place to be, because it means that you spent a lot of effort creating a highly scalable application. Perhaps you and your team had long architectural meetings in which you imagined how you would take over the world. Your app would be distributable, you came up with an efficient database design and perhaps a caching mechanism for when you get dugg or slashdotted. As it turned out, you built it and they didn’t come. The uptime command on your server shows a system load of 0.00, and you could invite all your site’s visitors to have dinner at your place.
In the southwest quadrant we have applications like Twitter today, or Friendster a few years back. Because these applications need to grow more or less proportionally to the square of the number of users, things can get out of hand pretty quickly. Regardless, this is a good problem to have, as moving from the southwest from the southeast tends to be easier than moving from the north to the south. You’ve built something that people like, so you may be able to convince others to give you the funds you need to organize the move.
Of course the chart is a continuum. Twitter is still far from the southernmost point, and perhaps it will never get there unless the move to the east goes well. Where is your web app on this chart, and how do you plan to move to the southeast?



Should we expect answers to questions left in comments? This blog is very interesting but you should only have a comment system if you are willing to use it and address unanswered questions left by visitors ;)
Pedro P. — May 21st, 2008 at 6:32 pm
Interesting. After more than a decade of mainstream web app development, there are more patterns and practices than you can shake a stick at that provide scalability out of the box, almost. I keep thinking I’m out of a job any day now because these days it’s so difficult to get it wrong. Hardware issues (i.e. budget) aside, if an app doesn’t scale (no matter the popularity) I’d seriously question the talent (or lack thereof) behind the app.
Michael — May 23rd, 2008 at 7:54 pm