Tiers of Web Hardness

This is my attempt at a crude tiering system for web site complexity. I've defined six tiers with vague time/cost estimates and some handy links. Moving up the tiers in cost means the project's starting point moving down the technology stack [Linux at the bottom, PHP is the middle, the browser's at the top]. Changing a few layouts on Blogger is much easier than custom coding your own stock exchange.

(All estimates are vague, non-binding, almost certainly wrong by an order of magnitude in your particular case.)

Major points:
  • You will get better quality from buying than building. Yahoo/Google/Edicy have more dev time than you can ever buy.
  • Do your own research before you open your chequebook.
  • From a web dev's POV, it's frightening how much you can get done with just a credit card and some HTML skills!
As you move up the cost tiers
  • Costs rise RAPIDLY. If you can prove demand with a simple site, do that.
  • The technology content of your USP should be rising. Or you're in trouble.
  • Project planning starts to matter.
  • The upfront cost becomes less significant than that of ongoing updates.

Also interesting is that projects will tend to migrate to cheaper tiers as web technology progresses. So that idea that was too expensive in 1998, might be a few days work now. Of course, there might also be a thousand competing sites, in which case might have to do unique (costly) things to differentiate yourself...

Cookie Cutters (9 hours, $110/year)

If your site looks like a million others, those millions will have been stamped out by some process that you ought to use too. Most new sites are cookie cutter sites, with original content poured into turn-key hosted applications.

More things are cookiecutter-able than you might think. There are lots of application providers even for quite complex sites. Although the charges can be too steep, these services will often offer a level of sophistication and uptime that an individual site couldn't afford. On the downside, if you need something more original later, it can be hard to move.

Examples: 50 Cent, Simplehuman.co.uk, BankerVision, The Bump Contest @ NestBaby, Crunchboard.com, The Onion Personals .

Look at: GoDaddy, Google Sites, Yahoo Stores, Edicy (REALLY GOOD), Moveable Type, Ning.com, VSocial, name.com, DatingBuzz, eCrater, PersonForce.

Some Assembly Required (15 days, $7300)

Sites that are fundamentally similar to others in their domain model, use-cases and execution. So much so that they can be implemented on top of an existing application codebase by rebuilding parts of the UI and added/forking portions of functionality. Most major sites fit into this category.

These sites are going to need their own hosting and some technology work, but they're just simple adaptations of a theme. This the method behind "$600 Digg-clone" quotes on places like rentacoder.com - they're just re-skinning Pligg + 100 lines of custom PHP.

Because these sites have their own codebase and infrastructure, you have to worry about issues like security patches, scaling, controlling deployments, etc.

Examples: Popsugar, Wikileaks, Dogster, BarackObama.com .

Look at: Clustered.net, Imediasee, Voxel.net, Drupal, Joomla, AMember, Joylent, Invision Power Board, phpBB, Pligg.

Meccano Kits (9 weeks, $27,000)

All the functionality is different to other applications, but the basic web development stack is the same. The site is reasonably self-contained, and does not involve any complex external integrations. All the logic will need writing from scratch, but an application framework will handle most of the underlying non-domain specific functions [persistence, web templating, authentication ...].

You'll have to start managing the load on your site in a formal way. Loads on databases and other resources will need monitoring. Actual infrastructure like Content Distribution Networks might be needed.

Examples: Grouphug.us (v.simple one), Hubdub (at the high-end), Stack Overflow, Propex, AngelSoft.

Look at: Django (much better than Rails), Ruby on Rails (good but not a magic bullet), CodeIgniter for PHP.

Major Construction Works (5 months x 3 devs+, $210,000+)

These sites look similar to the ones above, but they're distinguished by having a mass of infrastructure beneath them. Third-party services, complex workflows, shipping and logistics systems, massive data farms to calculate airline routes, that sort of thing.

(The platforms for cookie cutter sites would generally fit into this category.)

Examples: HMRC Self Assessment, Netflix, Prosper, Smugmug .

Look at: JBoss Seam (I like it, even if my laptop's battery isn't keen!), Amazon EC2, Savvis, Akamai, Maxmind (anti-fraud s/ware), Spring-MVC, ASP .Net, E*Trade .

Wonders of the Web ( ??? )

Things, great and small, that have no precedent. Nothing that's gone before really looks like them, all the functionality is of unknown difficulty. The only real way they can get done is get some smart people who really understand low-level web technology, and hope. And buy pizza. Lots of pizza.

Examples: Meebo, DHTML Lemmings (yes, it's real!), GMail, Skype.

Look at: Erlang, Java DWR, Alt.net, Google Web Toolkit, CCK.