Is There Such a Thing as a Good Content Management System?
Content Management Systems are everywhere. But are they truly useful?
Stephen and I were having a conversation last night on what makes a good, usable, CMS. Is it scalability? Is it features? Is it complexity? Is it simplicity? There are so many different packages to choose from, what makes one better than the other? Is it the language used to build it (some may have limited hosting capabilities)?
I know that many times designers will use a CMS to get their job done (many of my friends do). Expression Engine seems to be one of the favorites used to deploy a website. I worked with a friend on a site built with EE and found the following frustrations (as a developer):
-
Everyday tasks for me were buried under another layer of abstraction, therefore adding complexity to an otherwise simple task. Personally, I don’t need an interface to backup databases — and many times I want to do specific things that simply aren’t available through their one click process. This is good for a client or designer — but rather useless to me.
-
Dealing with styles seemed very convoluted. Again, adding things like CSS or manipulating a page layout was buried under several layers. Im used to having the CSS, and then having a view (template) to work with. Things can be updated in a matter of minutes. Using their process, it was several steps and several screens to nail everything down.
-
Support for the product. We ran into an issue when deploying a site, and I began troubleshooting the issue. Troubleshooting took longer than normal because of unhelpful error messages. Therefore, I was left to dive into their code to figure the issue out. Then, when I located the problem and fixed it — I was told by their developers that, basically, it wasn’t their fault — it was the fault of the database we were using. Getting real help from the developers (Without having an available API) wasn’t an easy task.
This is just one example, and I am not picking on EE — I think it is a great tool and works for many. That brings me to my point about CMS’s — it is different for different people? Sticking a CMS in front of a client does not guarantee they will want to use it or take the time to learn it. In my experience, people would rather pay to have quick updates than to try to learn a CMS. I feel that there are different feelings that come from a CMS, and you have different personality types to deal with. Here are a few I have seen:
-
The company that doesn’t want to touch anything, and would rather pay you to make the changes. They know they don’t have the knowledge, and they don’t want to learn something new — they want to keep their hands out and let the designer or developer do the work. They leave the work to the professionals in the field.
-
The company that wants to have full control, but never actually use that control. They get a full blown CMS (EE, Plone, PHPNuke, etc), but they never add content to the site. It is more of a reassurance that they have the capability if they want it. Their website fails miserably in that it is never changed or updated.
-
The company that wants to have full control, and will quickly find a way to ruin an otherwise good website. Give them a
textarea, and their website can now look like the worst MySpace website. They like that they can add animated gifs, that they can make their type really big, bold, and green, and that they can even use something calledblinkto make the text blink! They dive right in editing things left and right, and no matter how much control they actually receive — they will find a way to ruin things. -
The company that tries to manipulate a given CMS to be something it’s not. For example, Wordpress. I love Wordpress (it’s used for this website currently), but it is not a CMS. I know you have the ability to add custom fields and tags — but I feel that ultimately you are shoehorning data into something that doesn’t make sense. There is no organization for the data, therefore cross referencing things or narrowing down searches becomes more of a task (especially as the website scales).
Company goals are all so different, can a CMS (complex or simple) really meet all of their needs and business goals?
7 Comments Add your comment
Felix Geisendorfer October 4th, 2006
I've mostly ended up with companies that either:
"Wanted to have full control, but never actually use that control. "
or
"Wanted to have full control, and ruined the otherwise good web site with it. "
This has been a really frustrating experience and I'm not sure what's the solution to it. Especially since my work as a PHP programmer is to create exactly those kind of systems ; ).
Nate Klaiber October 4th, 2006
Felix,
Looking at your work, you are an EXCELLENT PHP programmer and you work well at creating usable tools inside of the CakePHP Framework.
As a PHP Programmer myself, I have found my niche is more in create usable and accessible websites - without a major need for custom administration of every little aspect. The maintenance is left to me, as well as building custom modules. NOW - you are doing a great service by extending an already well done Framework - so I think you do a great service to developers, maybe not as much with clients.
I think we often time spend the time to create systems for them to use, only to find they don't use it (or think its as cool as we do). Ultimately, its cool that we can do it - but most of the time it goes unused. Does that make sense?
Aaron B. October 4th, 2006
It definitely depends on the project and client, but I think it most cases it is better to talk a client out of wanting a CMS.
Of course, that means that you as the developer aren't going to make as much money. ;)
Nate Klaiber October 4th, 2006
Aaron,
My personal goals have changed over the years. A few years ago I would dream up applications that would be awesome, and users would have all of this control to manage their website/interact with others. Truth is, there really (from what I have seen) isn't a need for applications like that.
My passion is building applications that achieve a specific business goal or purpose (or niche), that may not mean putting the control in others' hands - but building something that is functional. At Barbour we have a content manager that I work hand in hand with. We have a good relationship and understand the boundaries of each - he provides the content, I control the flow, relationships, and the back end system. He thinks up new ideas, we work together to implement them into the bigger picture. (Note: the current Barbour site is not reflecting some of the changes we have coming after the first of the year.)
So - I am not so much worried about the money aspect, my personal goals are not to create the next CMS (or putting control in a clients hands when they have no idea what they are doing).
Just like I wouldn't expect an electrician to come in, halfway wire my house, then tell me I have control to do the rest - it takes a professional to get tasks done properly (even if that does mean a LIMITED amount of control depending on the objectives).
I have more thoughts, I just dont want to be so verbose online and talk myself in circles, so ill stop with that. hehe.
Stefan October 6th, 2006
Nate give a try to Clever Leap CMS (demo at: www.cms.cleverleap.com). It has simple architecture, you can create content by putting content items on the page. This CMS doesn't have a lot of features but it does one thing well - creating and editing of content items. It is also easy to create new content items. If you will try it, please write me your opinion. I am very looking forward to your opinion.
Brandon Livengood October 13th, 2006
Nate I think it really depends on what the clients wants when it come to a cms. The best thing that a cms can offer is not modules or all the bells and whistles, its how easy is it for the client to use. You can built this magnicifiant cms that can do anything and everything, but if the client is over whelmed when they try to update there site, then they will just seem to not use it. I do agree with you that letting clients have control they destroy the look and feel of a wonderful site you designed and created.
Nate Klaiber October 13th, 2006
RE: Brandon
We are definitely in agreement. I think if you OVER-DO it, it will ultimately confuse the client (which is common in many packaged CMS's). However, if you build something specifically for their usage - it is received with a much better response. That's what I am getting to - building for your needs, not trying to shoehorn your needs into an existing CMS - it just doesn't work that way.
Now, controlling HOW and WHAT they input may take a little extra effort (and a large amount of regular expressions. ha.)