Websites used to be things. Sites, even big sites, used to consist entirely of a single Movable Type installation, or a Drupal setup, or your own little big homegrown solution. But that’s hardly ever the case anymore, not for big sites anyway. Your hypothetical news emporium may have blogs that run on WordPress, but you also maintain a couple of wikis, readers respond using Facebook Comments, your online advertising is taken care of by DoubleClick, analytics by ChartBeat, classifieds using a custom-built Django app and that special project the newsroom did last week got its own microsite.
Patchwork websites can be pretty messy: you kind of have to hope that all these different applications and widgets will mesh without much issue, and not look like they were just thrown together. But the alternative is pretty messy in its own way, too. Imagine a monolithic system that tries to handle blogging, ad handling, analytics, video serving, live chats, commenting and special-purpose mini-apps all by itself. What you end up with is a CMS that tries to be everything but is good at nothing. And few things sap the life out of product managers and programmers faster than a big old system that’s breaking under its own weight.
So the challenge when building a website in 2011 is not to select the best CMS and then tweak it to perfection. Instead, it is to find the kind of components that together will make up a good experience. And that’s hard.