« Tips for Trevor: The Skills Disincentive Project | Main | Ofni is now Info »

Why Content Management Systems Suck!

Content management systems suck(TM).

That's a line noone's heard before. But regardless, I get asked whether building a content management system in the current market is a good idea.

Here is what I think.

1. "All content management systems suck"

And that is why we need another one. The result is when you are shopping for content management systems, there are a million to choose from, and they do all suck (with exceptions).

And so people build another content management system, that sucks, the the circle of life continues around again.

2. "You need a CMS!"

I believe that a large number (not all) people who build content management systems are under the impression that the world needs content management systems.

So in sales pitches, you hear "look! you can change the text on your home page! Think of the money that will save in not having to hire a designer to change your home page!".

The harsh reality is that the typical person in a company has better things to do than change the text on the home page, like run their company. Going to the time, money and effort of installing the typical CMS is like fitting wheels to a tomato - time consuming and completely unnecessary.

If you don't believe me, ask your clients when last they changed their home page. Tell me if any of them don't say "you can change your home page?".

Most people don't need CMSes. The odd once in a flood that they need to change their home page, they send an email to a web designer and say "change my home page". Small cost, as needed, no problem.

3. "Our CMS Will Fulfil All Your Needs!"

No it won't. Accept this, and move on.

If you don't believe this, see point 1 "all content management systems suck".

No content management system will ever be the beginning and end of content management, simply because content is so diverse. You can do one or two things well, but you cannot do everything well.

4. "But There Are Parts Of The Site That Need Updating!"

Now we are getting somewhere, the key word is "parts of the site". Not the whole site.

As soon as we zoom in more deeply, we find CMS systems that work surprisingly well and are very effective, but these systems all assume "part of the site" needs to be updated.

The classic example of this is an image gallery. This is a specialised CMS designed specifically to display images and image descriptions, on those parts of the site that need an image gallery.

The reason this is important is because end customers are picky. They may like the "press release" module for a CMS package, but hate the "image gallery" module.

"Oh, but our CMS only works with modules that are written for our CMS". Bzzt. You are outta there. As soon as you try and be the "all inclusive" CMS, your software starts to suck.

5. "Ok, We Have Specialised Content"

Again, we're getting closer.

The most extensively used CMS systems solve a very particular problem, and one of the most popular applications is blogging.

Everyone has an opinion, and lots of opinionated people want to air their views, and they don't want website design to get between them and publishing glory, they have an opinion damnitt!

And so Wordpress and Moveable Type have cleaned up the blog software market, with many others following behind.

Blogs solve a very specific business need, which is to render a website that works like an online newspaper. As blogs became more popular, the newspaper format, and the added value services that grew out of the model, like RSS feeds, entrenched "the way blogs were done".

This means blogging is a well defined solution, which means few major market players, creating software that does most of what end users want. By and large, blog software doesn't suck.

6. "But I'm a Website Designer! Don't I need a CMS?"

Yes, website design tends to involve the same tasks: page layout, boilerplate work, template creation.

If Everyone Used The Same Platform(TM) we would not have this problem - we could just deploy the content using The One True CMS(TM), and If Everybody's Tastes Were The Same(TM) we would be able to reuse the templates and just change the stylesheet. How cool would that be?

The reality is that people don't use the same platforms. Some platforms are less hassle than others, which may be more powerful. Other platform choices are religious. Website owners also want to differentiate their website from the competition (with the exception of bloggers, who just want to get their opinion across damnit!!!).

So as nice as the Utopian common website template is, it just isn't going to work.

7. "Ok Wiseass, What Does Work Then?"

According to this designer, you need to combine the best tools that solve your particular need, and "glue" them together into a coherent unit.

Then, your web designer, with good old fashioned HTML skills, will be able to create a common look, where practical, across the different components of your website.

One of the best examples of this in action is http://www.apple.com and http://lists.apple.com. The first URL is the main website, but the second URL is a specially customised version of GNU Mailman, the mailing list manager.

From the user's perspective you wouldn't notice, because both sites contain a common navigation bar across the top. But if you know Mailman, it's pretty standard stuff.

In this example, Apple wanted to take a best of breed mailing list manager, and incorporate it into their site. If they followed traditional CMS marketing, they would have used the "mailing list" module of their favourite CMS, and missed out on the features they needed that Mailman provides, including the best feature of all: "It works like all the other mailing lists on the net".

So what is the point of this treatise? I was asked what I though of CMSes, and so what started out as a short email turned into this perl of wisdom.

And like all bloggers, I have an opinion, damnitt!!!


TrackBack URL for this entry:


You have a certain way of verbalising the concepts and thoughts I have in my head.

So yes, I agree to a large degree. But I also disagree on some points:

1. Yes, they all suck, just like all search engines used to suck. Yet some techies out there had the gall to believe they could do it better than the big boys. There are probably hundreds of other techies out there who tried the same thing and failed. I will probably be one of those techies who will fall flat on my face. Try not to laugh too loudly when I do. But I believe some risk and experimentation is necessary, and I happen to have some rope to try and hang myself. I believe something better will eventually emerge from the line-noise, whether I give it a shot or not. At the very least, I'll learn a lot, from you, and my failures.

Technology progresses, improvement is made when we learn from the mistakes of our predecessors, instead of being put off by them. A lot of the mistakes I can learn from are put forth in your post above, and I thank you for pointing them out.

2. Clients don't know what they want. They want to be able to change their website without developer intervention. We all know that's not entirely the case, but you can't refuse a client something he insists he NEEDS. This is how IT sales people WORK.

6. "So as nice as the Utopian common website template is, it just isn't going to work."

And you could make a pretty penny creating custom templates, and doing custom deployments. You can do this pretty well on existing CMS'es too. This is something I haven't solidified in my mind, is it all worth it? That's the million dollar question.

For now, I see specific needs that aren't being met. A niche, if you will. And I'm exploring it.

I just love the torrent of feedback I've been getting. Please, continue bashing, it exposes flaws in my reasoning.

"Clients don't know what they want. They want to be able to change their website without developer intervention. We all know that's not entirely the case, but you can't refuse a client something he insists he NEEDS. This is how IT sales people WORK."

This was true a few years ago, back when the net was young and sales people were selling ideas left right and centre. It's now a few years later, and clients who have deployed CMS systems are seeing the downsides.

The biggest downside is that it was easy to convince a client they want to change their website without developer intervention, but over the last five years, they only changed their homepage once. When they did want to change the site, the person who knew how to do it had resigned, and nobody had the password or information on how to use the CMS. In frustration, the client called the developer and said "just change it for me please, I don't want the hassle".

The bottom line is that clients don't want to change their homepage - they want to just send someone an email saying "make the homepage say blah", and get on with running their business.

So come to them with the same CMS sales pitch, and the client says "I have no need for that feature, and I don't want to pay for it, no thanks.".

I believe the secret to writing a content management system today is to change the target audience.

A CMS should cater first for the needs of the website developer, not the end client.

In other words, a good CMS should allow the developer to change the site quickly and easily, under the instructions from the website owner.

The reason for this approach is from what we have learned from history. Clients don't do things themselves, they ask others to do it, so the client is going to ask the developer to do the change anyway.

So, if you were brainstorming the development of a CMS, ask the question "the client is going to ask me to make change foo, how can I arrange the software to change the website with the minimum fuss possible?"

I'm a small home-based Web developer who has lost clients because they wanted CMS's. Something we don't provide. We do offer admin sections but they are costly. Most of the clients who want CMS's don't really need them based on the number of previous updates done to their sites after they are finished. The admin sections we have done for clients end up not even getting used because the clients find it easier just to send me an email with the desired update. I think they just want the security of knowing they could make a change on thier own if they really needed to. Anyway, I'm glad to find this page. I just needed a sanity check to make sure I'm not losing my mind or have a bad business model. Oh, yea - one of my clients is a guy who bought a CMS and now pays me to figure the thing out. He's got over 250 web pages, many auto generated via a dbase. I'm a programmer and I'm just now figuring the thing out. He told me he could print out the instruction manual which is 3 times the size of his phone book. Now how crazy is that. Martina

Graham, buddy, you got a good start here. You've described why CMS's suck "on the surface". I would be much obliged if you sorta went ahead and got under the hood a little, mmmkay? Beccause under the hood the suck doesn't just continue. It increases! Exponentially! Good examples are Joomla and CMSms. For some unknown reason, every 1st year CS student thinks it would be uber kewl and totally sweet to write a crappy module/extension/insert-some-other-retarded-lingo-here.
Why!? For everything that is good and holy in this world, why!?

And so I am sitting here, hacking away trying to unsuck the CMS suckiness and there is no end to it.

I find the couple of CMS I have dabbled in needlessly complex, expensive, and ALWAYS buggy.

I can't help but feel, save for a very large corporation/newspapter etc., that these have no use in a small to medium sized company.

If you can learn to use a CMS, you can learn the very basics of Dreamweaver and have a designer create your templates for you, you just "type" and insert X images when needed.

For the most part, CMS appear to be programs to breed dependence on developers.

"Oh you want to move that box down there, that's $2000 in development time!"

When if it was simply a template in good old dreamweaver, it might be $100-200 bucks AT MOST.

They still suck. The complexity of a CMS is 10 fold that of the typical website it's building. That would be fine if more than 90% of that complexity was hidden, but it's not. When I know exactly how I'd solve a problem if I had access to the HTML and CSS but I have to learn the cms instead, I lose.

The back end of a cms is only for someone that is willing to spend a long time learning it. So the owner of the company needs to hire someone anyway. If the cms helps the guy building the site, great. As you said, the cms is a tool for a techy, not a business owner.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)