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.
(And it’s turtles all the way down: those individual components themselves are likely each built using a database, caching layer, message queue, various third-party and internal webservices, a full-text search engine, load balancing and, oh yeah, the app itself. Lots of loosely coupled components.)
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. As good as many of those third-party widgets are, like Apture or Zemanta or Disqus or CoverItLive or the twitter streams that seem to pop up everywhere… they often keep the underlying data to themselves, making it impossible to use your very own content in any other context than the one the third-party vendor provides. Most of those apps and widgets aren’t even themable, making it impossible to create a uniform user experience on your site. The result is sometimes eerily similar to your average Geocities website, for those of you who still remember what that looked like.
We’re in a weird transition phase, where a growing amount of people are aware that CMSes, by themselves, just aren’t doing what we want them to do, but we’re still exploring the alternative and sometimes it works — I really like how NPR combined Django and WordPress for their Argo Network – but sometimes it doesn’t.
You log in on one subsite and are suddenly confronted with the fact that your usual login details don’t work. You search for any topic and only find a fraction of the content you were expecting to see because apparently blog content, anything from twitter and livechats aren’t indexed. You click on the Sports tab and are surprised to find yourself on an entirely different website.
And it’s annoying for the people actually creating all that content, too: suddenly they’re faced with having to use ten interfaces, whereas one used to get the job done.
We need more bright techies thinking about how we can do modern, confederated websites well. More people like Ian Bicking.
And we need more of those whiz-bang widget developers to start thinking beyond just making something that looks pretty, because what we really want aren’t shiny tools that stand out, but interchangeable components that blend in seamlessly, both visually and technically.
Hopefully, in a couple of years, we’ll be able to reap the benefits of confederated websites without having to swallow the negatives too. Then, we’ll be able to build websites containing only the very best pieces of software instead of trying to shoehorn functionality into platforms that can’t support the weight they’re being asked to carry. No more worries about being stuck with a system you can’t experiment with, no more having to choose between two CMSes that each only have half of what you really need. No more upgrade nightmares, no more compromises. Maybe then we can finally stop complaining about our crappy CMS.

3 comments
Nice piece again, Stijn. I think you identified the trend well. In particular, this stands out:
Good points all around, Stijn. I've been thinking on this a lot too. Websites are certainly more than just a collection of pages, they are a collection of content, and interactions with that content. The problem is that up until recently the interaction with the content has been completely defined by the CMS or service that holds the information.
This is changing little by little with the greater introduction of APIs. The APIs allow us to interact with our data in ways that the SaaS vendor didn't originally intend. In the case of Twitter, it allowed them to rapidly grow into a huge platform, offloading development of key features and even innovations in the interaction to the community of users. But at the moment, only a handful of companies have really embraced a high level of openness in their APIs. I suspect this is because vendors see the data as theirs (or at least partially theirs) once it enters their system. I suppose that makes sense, as we, as users or customers, hold them accountable as best we can if something goes wrong.
What would be nice is if every vendor had something akin to the Data Liberation Front project that some Google employees started. However, convincing the SaaS vendors out there that it is in their best interest to do so might be a tricky proposition.
Didn't it all used to be so simple? Even beyond journalism I feel this is how it used to be...
I recently attended an ONA event in Denver and although I am not a journalist, I love the written word, am a longtime blogger and work in the industry so I was amazed at the stories of frustration while journalists tried to work with technology, to now do their jobs. It's changing so much and I can only imagine how difficult it could be.
Another tool or part of the "interchangeable components" you speak of could be Kapost - the company I work for where we provide an online newsroom tool for online publishers to help manage their contributors and content. Thought it might be relevant right into the topic you have so eloquently shared. Thanks!