How to choose a CMS in 4 steps
For many, choosing a Content Management System (CMS) is a no-brainer - work with what you are familiar with and prefer. However, choosing the right CMS for the right job is very important. There are a few things you need to consider when choosing your content management system.
1. Who will be using it?
The advantage of a CMS is that it does not require knowledge of coding to change the content displayed. However some CMS interfaces almost need a degree in computer science to understand them.
Make sure that the person for whom you are setting up the CMS can use it easily and isn't put off by the interface.
2. How popular is it?
The popularity of a CMS is important simply because a client may want the peace of mind that they can take the project to anybody else to work on it. I recently spoke with a client who had a Dot Net Nuke website and wanted a developer to add some features, only to discover that no developer wanted to touch Dot Net Nuke. She would settle only for Wordpress, probably the most popular CMS available today - due to its popularity amongst developers.
Don't choose a CMS just because you think its nice to develop with. Choose something that other developers can pick up and work with without too much trouble.
3. Is it extendable?
As a developer, I don't want to waste my time messing around bending the CMS to my will. Instead it should provide interfaces and hooks to allow full customisation of everything. If no custom functionality is required however, its still nice to know that the CMS is extendable if the client decides they want "feature x" in the future.
Don't lock yourself in to the featureset of the CMS, make sure it is relatively easy to develop with.
4. Does it do too much?
Joomla is a very popular CMS as it provides every function imaginable. In other words, it's bloated. Every Joomla website I have used has been cluttered, confusing and generally just a pain to use. The administration interface is also confusing and not nice to work with.
Don't choose the CMS with the most features! Remember the words of poet Robert Browning and designer Ludwig Mies van der Rohe:
Less is more.
What do I use?
For most websites a custom installation of Wordpress is great. Developing extensions for Wordpress is not so much fun due to its fairly messy codebase, but the huge library of extensions available and the widespread usage of Wordpress makes it a great option.
For websites which require fairly custom functionality I have been very happy with the recent developments of PyroCMS. The main advantage of this CMS as a developer is that it is based on the Codeigniter PHP framework, which many developers are familiar with. In addition PyroCMS provides fairly basic CMS functionality on top of which I can build upon any custom functionality without cluttering the interface with functions irrelevant to the client.
There is no one CMS that solves every problem, so take the time to choose the right CMS for the right job.