Andrew Hosgood

OO PHP Web Developer specialising in User Interface Design and User Experience

What Content Management System do you REALLY need?

16th July 2014

Way way back, long before Kanye interrupted Taylor Swift, when you couldn't physically fit an "Android" in your pocket and "twerking" and "selfie" were just funny-sounding nonsensical words, we updated our websites using an IDE to write and compile XML or HTML with its component CSS and JS, and uploaded our new files to a web server using FTP before maybe updating the mySQL database to reflect any changes. Luckily for me and my job this is still roughly what happens now, except that I am writing web apps that enable you to do it yourself.

In days gone by this sort of process would (and could) only be done by a seasoned web developer, as the complexity needed to perform such tasks was beyond the reach of most people (although looking back at web design, I do sometimes wonder). Nowadays of course, we have the effortlessness of Content Management Systems (CMS) which allow us to log in using an email address and password to a web-based system that works on nearly any computer with an Internet connection so that we can update our websites using a gorgeous, intuitive interface.

Choice

There are of course, countless CMSs out there, each with their own unique feature set. While we have all heard of the big boy on the block, Tommy "The Gent" WordPress, there are several other large players that you may or may not of heard about, namely Tony "Two Thumbs" ExpressionEngine, "Legs" Joomla and Leeroy "The Greek" Drupal. Of course, for your e-commerse needs there is the main man, "Wild Bill" Magento.

However, have a quick fumble around on somewhere like GitHub for repositories containing "cms" and you'll get a list of about 20,000+ projects (July 2014) — and these are just the ones that are on GitHub. Google will give you (literally!) hundreds of millions of results when you search for "best cms". There are several fantastic CMSs out there that you will unfortunately never get to hear about because the market is just far too saturated.

"Choice. The problem is choice."

— Neo, some terrible film

Decisions

For the general populous, something like WordPress ticks all the boxes and has some left over to tickle that part of you that goes "ooooohhh" when you play around with a pretty interface. You may be surprised to know that WordPress is used by some big names such as The New York Times, eBay, Sony, CNN, Forbes and UPS.

It has a plethora of plugins from every corner of the Internet, some less secure than others, that can offer you a huge range of functionality from the absurdly useful to the utterly useless.

Despite its impressive list of prestigious alumni and the wide range of expandability options, WordPress probably has a lot of features that you just don't need and some that are either too complicated or not intuitive enough. For example media management is a pain in the neck which is hopeless if you have a media-heavy site. It has a terrible interface, there is no TRUE tree view for your site's pages and the admin system isn't responsive. It's possible this may not be an issue for you but you need to consider such things when choosing a CMS.

Your Needs

We recently encountered a client's site that was built using a CMS called TextPattern. While TextPattern is probably a very good CMS, it is designed for people who already know HTML, CSS and JavaScript and was somehow selected for the client even though they had no idea what they were doing. Added to which there were several inherent TextPattern problems which made the site very difficult to update, even for the web developers here at Logo.

It seemed like the original developer chose a CMS that would suit their needs rather than the needs of the client and herein lies the problem. The right CMS has to be selected to fit the needs of both the developers and the end users. After all, the CMS defines how the website is ultimately build and how the users will administer it.

Generally, as a CMS becomes more powerful it has to become less specific to fit a wider range of need. This leads some CMSs to use mumbo-jumbo terms such as "modules", "areas", "feeds", "blocks" or "channels" rather than just calling them "pages" or "sections" (which they should, because for the most part that's what they are).

Imma' let you finish, but I don't believe any CMS is bad, it's just been written for something other than your needs. At Logo, we have created Wahoo; a CMS that we have stripped back to its basics and aimed at users who don't need the complications and complexity of larger CMSs. There's no complicated jargon and it is sized perfectly for new and smaller businesses. If all you need is to edit the structure and content of your site then Wahoo is the perfect solution for you.

"To the man who only has a hammer, everything he encounters begins to look like a nail."

— Abraham Maslow

Compromise

Whereas WordPress may be fine for a small blog or news-centric site, it just isn't up to the task of a site that requires specific bespoke functionality as it imposes limits on developers. Similarly, I have personally always felt that ExpressionEngine offers developers the power to make larger sites but at the expense of simplicity and usability. ExpressionEngine, Drupal and Joomla are better suited for larger, more complex sites with users that have the time and skills to manage them. Anything more specialist would require a bespoke build.

Purpose-built CMSs needn't necessarily be expensive. If all the dynamicity you need on your site is a blog then why use something like ExpressionEngine or Drupal to achieve it? All you need is an area to log into and a simple form to administer your blog. In most cases this allows the designer and developer more freedom for the front end of the site, as they are now no longer restricted by the CMS that sits underneath. Thus making the site more cost-effective and easier to use. Bespoke CMSs will ensure you don't end up using a pile driver to drive in a tent peg.

Developers

I read a fantastic response on Reddit recently to the question "What do you look for in a CMS?":

"One important thing for clients (that they will never tell you) is the un[mess]up-ability of the CMS. That is if a client logs and and wants to edit an article, is there a chance that the article's layout will be destroyed? Is there a chance that the article will be irrecoverably overwritten? These things are hard to anticipate though some have obvious solutions.
The CMS needs to be flexible so that the designer/dev can restrict client functionality while the client still needs to be able to edit all content.
99% of the clients I have spoken to have never understood that it might be their fault for not following instructions when these things happened. They just blame it on "the computer". Therefore it is also our job to make sure that these issues don't happened."

— MahdiM

Making a powerful, expandable and user-friendly CMS is difficult for developers. I should know, as a colleague and I are in the process of writing our own as a side project – LavishCMS. But just like every other CMS, it's not a fix-everything solution. If it goes to plan it will sit nicely in between the easy-to-use Wahoo and the more complicated CMSs, providing power for the developers and simplicity for the users.

If you talk to developers or account managers here at Logo, we will want to find you the best CMS solution for you rather than just using the most popular…