Tuesday, February 14, 2006

Reprise: Why does everyone write their own CMS? (and the New ACCU website)

Back in November I agonised about this question. Well, things have moved on and I’ve had the chance to think about the question.

At the time I was grappling with 2 websites - both with proprietary CMS technology. Shortly afterwards, wearing my ACCU hat, we took the decision to dump the sub-contractor and their CMS technology. (A full report is on my website if you are interested.)

We replaced the sub-contractor with Gnomedia who have done an excellent job using the Xaraya CMS system. In just two months Xaraya, Gnomedia plus some ACCU volunteers have built a new website that has gone live this week - see www.accu.org.

While I’m talking about that site I have to thank the team: Tim Pushman at Gnomedia, Tony Barrett-Powell (the ACCU website editor) and Jez Higgins.

Throughout this time I’ve continued to wonder: why with so many commercial and Open Source systems out their do so many people write their own CMS?

Still, I think I’ve started to understand why.

First, it isn’t really clear what a Content Management System is. In fact, talking about Content is itself wrong. When was the last time you bought Content? You don’t go to Blockbuster to rent Content, you don’t visit Borders to buy Content. There is no such thing as Content.

Content is a collective term covering anything but we usually mean text documents. This can be presented as Word or PDF and may be styled as a manual, an FAQ, a How To or many other things. But content also includes sound recordings, video recording and just about anything that can be digitised.

The whole idea CMS is mixed up with Websites, Knowledge Management Systems, Learning Management System and even Learning Content Management Systems. I think many people just want better tools to manage what is on their website.

Then, there is the whole issue of Content management regardless of the web. It is increasingly possible to create text, videos, sounds, whatever, and use that in multiple places.

For example, technical authors working for a software company may write release notes, manuals, internal documentation and training documents. The same topics may be covered in all of these so why duplicate the work?

It turns out there are systems like AuthorIT for just this scenario. So when you talk about CMS are you talking about managing your raw materials or managing what appears on the web.

Bottom line: a CMS does not necessarily manage a website.

Third, a common requirement of a CMS system is to target information at different people. So, on the ACCU website members can log in and access extra documents. On a corporate website different customers may see different information. It turns out that the role of identity is quite important in CMS systems.

And it turns out that identity is itself a hard problem. Sure you can do it small scale on your PC, and even medium scale on the office network, but as you move from tens to hundreds and even millions of users the problem of who should see what gets increasingly difficult.

My friend John Merrells can talk about this for hours. In fact he’s now CTO of a company trying to fix this problem - http://www.sxip.com/.

Finally, as Jonathon Sefton has pointed out to me online and in conversation we just don’t understand the domain of CMS systems. I think this explanation actually covers everything I’ve said so far. The domain is big, the subject mater is unclear and the set of problems is hard.

Yet it appears so easy doesn’t it?

So, everyone’s set of problems is a subset of the whole. It therefore seems easiest to solve your own set of problems. The systems out there all try and solve t0o many for you today so look too complicated.

I think I’ve started to understand why people write their own CMS systems. I have to say, having seen what Xaraya can do, I think anyone writing a CMS is making a big mistake.