Why Drupal, Joomla, Wordpress and similar software are so popular and 20 things to look for

What are Drupal, Joomla, Wordpress and similar software?

Drupal, Joomla, Wordpress, Gallery, Plone/Zope, Postnuke (and other nuke variants), Dotnetnuke, mediawiki, Alfresco and other similar types of software are Content Management Systems (CMS).

What is a CMS?

One of the key disagreements about CMS is what is a suitable definition of one. I define a CMS as a system (including software) that separates style and content systemically for ease of use (by both content creators and users), and manages content, users, maintenance and output on a consistent basis. Or to put it another way, CMS are systems to manage and produce content that is easy to find and use. CMS can be for the web, or not.

An example of what a CMS does is that most CMS automatically generate navigation and store content in order to allow you to find material. You create content (say a webpage) and a CMS makes it look like other content generated by the CMS that is similar (e.g. same look as other webpages) and it automatically shows up in the navigation system as you and the CMS have defined it.

What problem are CMS designed to fix?

Lots of users (or an area or publishers) can generate difficult to find content with varying styles, formats and ease of use. Relying on people to make sure that everything that gets published is consistently styled is resource intensive and prone to deviation. Also, maintenance and security can be an issue (including inadvertent changes/deletions to the systems by user(s) with inappropriate permissions). CMS are designed to fix this by separating content from style and automating a lot of administrative tasks such as navigation, style, user access levels, search, maintenance and security.

Why are Drupal, Joomla, Wordpress and other CMS so popular?

About five years ago an enterprise CMS could easily cost hundreds of thousands of dollars. Now there are some open source CMS that have better initial functionality than these that can be downloaded for free. CMS like Drupal, Joomla and Wordpress allow users to publish content consistently well, in a way that was not contemplated five years ago. You can get your message out to the world, photos to your family, build a community or do business internationally, all in an organised and efficient way with a CMS that may well be better than those that cost hundreds of thousands. If content is king, CMS can be disciplined royal press corps.

But just because there are quality tools available to manage your content, does not mean that the end product will be good. CMS such as Drupal, Joomla, Wordpress and others can be excellent tools, but the raw materials that they work with can be sub-optimal. In other words, if your content is ordinary, it doesn’t matter how good the CMS is, your content is still ordinary. Also, poor process will not be fixed by a good CMS.

20 things to look for in choosing a CMS.

  1. Coverage -A CMS can’t be all things to all people as there is no perfect solution for every case. Most things can be classified as content (text, email, music, software, video, images etc). Some CMSs are designed for (target) specific content uses. For instance, gallery is a CMS that targets online photo management (it also can be added to other CMS such as Drupal via a module). This site uses a content management system called Wordpress which targets blogging. There are a large number of website creation targeted CMS. Some examples are Joomla which appears to target designers and high ease of use, Drupal which appears to target large communities and Zope/Plone which seems to target big or specialised systems where coders are employed. Mediawiki is the software behind Wikipedia - the popular community based encyclopedia. If a CMS targets your intended use, it can be quicker and better to set up your use with that CMS. Note that some CMS are not well coded for any use, and that some CMS can be used for multiple uses. So a key thing to look for is - does the CMS cover the intended use well? Examples of the CMS in similar usages are a good way of checking them.
  2. Does it do what you want? Rather than having a million features, does the CMS do what you want? Do you have a clear idea of what you want the content to look like? Things that might be important include, allowing authoring by people who don’t know much about the system (such as by a ‘what you see is what you get’ (wysiwyg) editor), the time of publication and expiration of content (does the CMS have that information and functionality and is it easily used), supported languages, authentication of users, calenders, email integration, file and image management, metadata (data about data, such as who created the file and when) and tags (classification of data into categories), version control and granularity of content (for example, do you want each link, word or picture stored separately and can you show just the summaries?).
  3. Is it easy to find things? Google’s popularity has provided excellent evidence of how important it is to be able to find things. A good CMS should provide for logical content structure (information architecture), well thought out navigation requiring little or no explanation (including clear signals of where you are, such as breadcrumbs - a usable trail that indicates where the content is that you are looking at, e.g. section > subsection > article in a consistent clear place, and search facilities that are easy to find, intuitive to use and produce relevant results quickly. The use of tags is also aimed at finding things, where users, authors or editors classify content by topic. Tags can work well depending upon how they are used.
  4. Is it value for money? This is different to - is it expensive? Does it do what you want at a price that is proportionate and affordable to you? There are some free open source content management systems such as Drupal, Plone, Joomla, Gallery and Wordpress, but value for money should include your time to learn the system, not just the cost of the software. It should also include the cost of other people’s time if relevant, including development and support for the CMS. Is everything you need included in the price, do you need special hardware, software or services (such as hosting)?
  5. What underlying technology does the CMS need? Do you need specialised hosting or expensive software or hardware (and expensive support or training) to get your CMS up and running? Are there specialised underlying requirements or does the CMS use common components?
  6. Is the content consistent and reusable? Does the CMS work as you would expect? Does it allow you to reuse material if you want? For instance you might want to have a page title, a subtitle, an author, a summary, the body of an article, the content category used and be able to search by each. You might want to order content by popularity, alphabetically and by time of alteration or creation. You might want to provide a version of the content for mobile phones or some other device.
  7. What else do you have to get, change or do? Do you have to change the way you or your organisation work(s) (this may not be a bad thing)? What time have you allocated to working out how a CMS can make life easier for you (paying a consultant without a planned approach of your role and theirs is asking for trouble)? Do you have to pay more if the CMS is heavily used (e.g such as by the number of processors used or by the number of uses/hits)? What is the time and cost commitment of maintenance of the CMS? How much training is involved? What compromises are you happy with to use the CMS?
  8. Is the content easily usable by you and users from the start? A good test is, is it easy to install? Is the CMS efficient, such as how many clicks do you need to get to content even where you don’t know the CMS well? Does the CMS have breadcrumbs (do you know where you are and is the structure logical, for instance on a web site can you go up a level without using the back button on a browser?) Is input of content easy? Can you work on drafts in the CMS and then publish things later? Can a user be granted access to some things but not others? Should some of the features be turned off to increase usability?
  9. Does the CMS look generic, does it look like what you want? A lot of early CMS’s all looked the same (and worked the same). Huge amounts of money, time and effort can be used to make something distinctive. Presentation can make a huge difference to people’s confidence in the content, or it might not matter if the CMS is used internally to store printer drivers.
  10. Is the content easy to find? Some CMS can damage your ability to promote the use of content (such as by affecting search rankings of websites) through search unfriendly features (such as providing URLs for a website that are illogical, temporary and long, e.g. http://site.com/6729827163115648948312992216486648548363.php?session4712.htm). Try using that from a letter, email, user guide or advert. Some CMS’s are much better at providing logical and useful references for content e.g. site.com/112. Standards can enhance accessibility by allowing everything and everyone to get to your content.
  11. Does the CMS track usage and provide decent reporting? Knowing what is popular with users can help you fine tune your content structure and delivery if you want. You can also have a good idea of who is doing what (x produced y content at z time). Even knowing what area the majority of users are from can help tailor content. Perhaps spending time on the most popular content might be useful?
  12. Can new bits have to be added or old bits subtracted easily (is the CMS structure good)? If everything or one thing changes (such as a computer hard drive fails or a new content structure is more appropriate) do you have to rebuild the thing from scratch or is it modular enough to make change easy? Can you tweak the content easily after testing or in response to feedback?
  13. Can you change technology, services and support over time and remain with the same CMS? Are you able to change hosts, outsource the site, insource the site, do you have to relearn everything in a few years if the CMS is not around? Does the licensing constrain you? Is there a big pool of developers and are you likely to have an additional component built by an external developer at reasonable cost if you need it? Is it important to use the CMS with other systems and are they compatible (e.g. do you need to use the numbers from your CMS in your accounting program)? Some of these things won’t matter to you, but some might.
  14. Is the CMS extensible without major development? Can you easily add functionality/features that you are likely to need in the future? Are basic features well supported (in ‘core’ code)? Can you let x only do y on the site (restrict user roles) without altering the fundamental software (which has security and upgrade implications)? Is the CMS and are a lot of the additions to it modular? Does it automate some of your routine tasks, like link-checking, making thumb-nails of images, and spell-checking? A well chosen CMS can improve the usability of your content without you thinking about it.
  15. Fast access? Is the CMS going to be fast enough for easy use by content creators and users? Is it going to be attractive to use at that speed? If the content, CMS or supporting infrastructure are slow to use, then people will lose interest very quickly in the CMS. Attention spans matter to a successful CMS.
  16. Is it a low maintenance solution? Life is too short to continually upgrade and maintain CMSs. How much work is it to update the site (low modification of the CMS is easier to update than more modifications of the CMS)? How much attention is paid to the security of the CMS? Does any CMS update break existing functionality? Are unwarranted radical changes made to different versions of the CMS?
  17. Is there good support? Is there good instructions on installation, manuals and other documentation? Are the forums helpful, are other users generally helpful, can you find information on what you want? What issues are not dealt with quickly? Is the surrounding community active and/or growing fast enough for your purposes? How long has the CMS been actively supported and is it likely to be supported in the future?
  18. Is the technology robust? I did not use a CMS for my main website for years because the CMS’s I had used for that purpose were not mature enough for my usage. Stability of the CMS affects usability. Stability should be compared with existing alternatives, not future planned releases as they may not eventuate. For instance, the html language (browser language) was much more stable than the CMSs that I was looking at, so I stuck to html.
  19. Does the CMS save you time and/or produce a better end result? All the comparisons in the world do not matter if the CMS does not save you time and/or work better. A test use of a CMS and an assessment of an existing project that is similar to what you want can be worthwhile.
  20. Is there appropriate redundancy? Does the CMS have appropriate backup, versioning, auditing and archiving? Is the CMS and underlying content likely to be quick and easy to get back up if a tree falls on a critical piece of hardware or your software becomes corrupted?

Be particularly wary of:

  1. Workflow diagrams - vendors pushing roles dealing with content that don’t reflect what you want.
  2. Features that don’t help you.
  3. Excessive technical jargon that is not related to your activities.
  4. Fees that don’t transparently relate to the activity that you are paying for.
  5. Similar reference projects using the software and /or services you are evaluating that don’t work or are not what you want.

Useful references

CMS info - CMS news

CMS matrix - compares CMS by feature.

CMS Report - lots of CMS news.

CMS Review - provides CMS reviews.

CMS Wire - CMS news

CM Pros - organisation for CM professionals

CMS News - CMS News

Open Source CMS - use open source CMS demos on the site

What do you think makes a good CMS? - post from open source community.org

Don’t let your CMS get a bad rap - post from CMS Watch

Goodbye vBulletin, Part 1: Reasons to Switch - post from a padded cell

Making a better Open Source CMS - post from Jeffrey Veen

Open source CMSes prove well worth the price - article from Infoworld

I’ve never met a boxed cms i like - post from Sitepoint

Seven criteria for evaluating open source management systems from Linux Journal

Jargon buster - terms you might come across in looking at CMSs

API (application programming interface) - a defined method for software to communicate with other software and/or hardware. Organisation, modulartity, ability to use custom code if needed and flexibility are possible benefits of a good API.

CSS (cascading style sheets) - a web standard applying to presentation. This is generally a good thing, as it allows separation of form and content that is supported by most browsers. Even if a CMS does not produce internet content, many applications including CMSs still use a browser as an interface.

LAMP (Linux operating system, Apache server software, MySQL database and PHP programming language). A common mix of software that is needed for many CMS.

Core code of the CMS is generally the base level of software in the CMS package that is distributed. While core can normally be supplemented by add-on software, usually core software is heavily reviewed, should be the most polished code and should therefore perform the best of any code.

About the author

I welcome comments as I’ve almost certainly missed things.

I’ve used at least five CMSs in different contexts. From my point of view, the CMS software can be hosted, in a box or downloaded. While I use open source examples, these comments would apply equally to closed source CMSs.

A lot of commentary is written with only coders or sales of a specific CMS system in mind. I understand some web languages and have designed and used some databases but I am not a coder and I don’t sell any CMSs. I write this from a user perspective. This is why there are not as many acronyms in this post as there could be.

Measures of Success.

I’ve been thinking for some time now about measures of success.

When you first start something the measure is how much can you do? For example, Bob can build a wall which is x metres by y metres.

As you become more proficient, the measurement of success changes to one of ‘what have they missed’. For example, Bob builds walls all the time but he built this huge wall with a brick near the top right is slightly out of alignment.

I suppose the key thing is the criteria for success, is it to go in vogue or hold up a shed roof?

operating systems (OS’s)

I should make clear from the start that I’m talking about consumer level operating systems, not server level which I know bugger all about. Also, like everything on this site, all of the opinions are my own.

What should they do?

  1. They should work fast (perhaps pre-emptive multi-tasking) with lots of hardware and be reliable (perhaps with memory protection). For years. And OS’s should not require continuous updating of hardware. The odd software update where they say what it does and why it does it is OK. Bugs should be fixed regularly, particularly critical ones. Updating should also be easy. A security update and a security plus features update could be an option.
  2. They should be intuitive. This means that they should not have a massively steep learning curve for each iteration, and each version should operate transparently (without having to use command line). User interface is important for productivity.
  3. An OS should play nicely with others. Network compliance, open document standards, free-easily downloaded and installed-viewers with copy and paste functions available to all at least.
  4. It should be easy to port applications to the OS. This is cruicial to survival of an OS, as most people don’t want to know what the OS does, applications are the focus.
  5. The OS should be open enough to allow for productivity stuff to work out of the box (you know, stuff like having contact phone numbers and a calendar update automatically sync to a phone according to the most common settings unless you alter it or turn it off).
    Double entry of data is really annoying. When people buy a computer it is for what they can do with the applications. I want to edit family videos and produce DVDs with them and photo slide shows for not a hell of a lot of money. If something does that well, allows the editing of the odd document, and has a decent connection to the internet (including allowing me to do some web editing), then I’m pretty happy. At the moment, anything but very expensive processors seem to drop too many frames and video editing is therefore not up to scratch on home pcs.
  6. Anything that has extensive DRM systems on it that lock down funtions that I would expect to have for use on my own content or that requires me to delve too deeply into Copyright law is a disincentive to use the OS.
    I know people that have bought legitimate and pirate versions of the same software (that they own a legitimate copy of) because being legitimate after a disk crash (through no fault of their own) was too hard. DRM should be about making it easier for users to stay legitimate, not harder.
  7. The OS should be extensible by anyone whilst retaining the rest of the things above.
  8. They should have transparent settings such as ‘higher quality but slower’ or lower quality but quicker where appropriate (eg. compression and rendering).
  9. You should be able to have the OS preinstalled on hardware when you buy it. This would reduce the amount of dramas with installation of systems.
  10. You should have the option of at least paying for support for about 5 years from release. This allows businesses to get something to work quickly.
  11. Diagnostics should be automatic, so when you ring a support line you should be able to say, ‘the printed report that spat out when my computer froze shows that my accidental spillage of a cup of tea into the keyboard was not optimal’.
  12. It should not hog system resources unnecessarily, with my current setup which has a gig of ram, there is bugger all left for apps to use and it is fairly hard to uninstall stuff.
  13. The essential stuff should be separate from apps. You should not easily be able to render the OS inoperable because the essentials should just work out of the box and should be hard to change. Things like saving should just be automatic (every 2 mins for all work). Warnings should be able to pop up when you get within x percentage of crashing the system.

Some of the things that others consider essentials, I don’t. But I would still like to see some of these features (like seamless distributed computing and seamless distributed file system databases in operating systems), once the basics are done ok.

What are the three main alternatives?

  • Microsoft flavours (currently mostly XP but 98SE has a large userbase),
  • Mac OSX (a modern version of UNIX), and
  • Linux flavours (clones of UNIX that are distributed under open source licencing).

The first two are (at least primarily) closed source, the latter is open source. I have previously chosen MS because the hardware was cheaper, the apps were more available and it was good enough. But there is a price for flexibility (and the compatibility that goes with using the most popular operating system), and now the security updates are becoming a joke, the thing crashes a lot and most of the apps are now available for free online, such as web based mail and one click CMS’s (content management systems for easily altered and scalable websites where content and style are separated). The stuff that I use is not particularly esoteric.

If you want to reduce your support issues (ie. you get called on for support) you’d go with Mac OSX (eg. older relatives) because everything that you are allowed to do just works. This is because it is a robust OS to start with (unix) with a very nice user interface but with a limited choice of (more expensive) hardware. But there are issues with it.

For the ultimate in flexibility due to the open source licencing, Linux is the go. But, installation and compatibility with consumer devices is an issue.  Also, with great power comes the ability for great problems, ie. hardware that is locked and won’t even boot. There is a difference between getting an app to work and locking up the whole system, surely this can be worked out.

Applying the ‘does this do what I want’ test seems fairly pragmatic. I’ll wait a bit and then probably use something like ubantu (a user friendly version of linux). But before I go there, I’ll probably wait until it is a little more mature and I’ll have a look at the video camera compatability chart.

Conclusion

A good operating system, be it closed or open source, dissapears into the background if it works properly. I think people would be willing to pay for it if value were perceived by them. But the concentration on bells and whistles by many market players makes most people less loyal than if the total value proposition were followed.  

Links to relevant articles:

 

website

I’ve had a rant about mobile phones before, making it clear that I want a phone first and foremost, with decent sized buttons that does not look too big in your pocket (one of the one’s than fold over. The most useful additions (beyond a decent battery) from my point of view are:

  1.  something that synchronises with my pc, that works seemlessly (preferably with a cradle), so that there is no double entry for contacts and a calendar,
  2. backlighting,
  3. a worldwide coverage for the phone (triband at least), and
  4. a silent mode button which is not hidden behind seven menus.

But now I think the most difficult thing (work has just issued me with a phone that has most of these things) is restrictive IT policies that mean that I can’t use the phone to update contacts and my calendar (can’t synchronise with the PC). This is very annoying, particularly when the thing has a camera on it which I can use (with a stupid plastic lens).

I suppose that I should be happy that the battery works (at the moment), but I can’t help thinking that the IT dept has focussed on the wrong thing.

hurdles in job hunting

The number of hurdles in job hunting (I’ve been helping someone apply for a job) are huge. I’ve been trying to think about this logically, how do you really know if someone is good? The real answer seems to be that you have a trial period of say, three weeks to 9 weeks. If you can’t tell about the person in that time, then you should take a good look at yourself.

All of the preparation for applying for a job is about there not being any reason not to give the job to you. You are a bit in the lap of the gods as to whether you get it or not, but it should not be an own goal that you don’t get it. Pretty much anyone that can get an interview should be able to do the job on paper, but the interview is where people start to apply the ‘can I work with this person’ test.

malaise on Friday afternoon - jobs

Who would have thought it but I have Friday afternoon-itis. I cannot get excited about anything at the moment and just want to get through my work and go home.

However, I did like one of the lines used for a job application for a major web hosting company/open source development house, i.e. ”The first test is reading comprehension and the ability to follow simple directions.”

I’ve been thinking a bit about jobs lately and the process of getting them as well as employing people. There are four real components:

  1. The written application;
  2. The oral interview;
  3. The referees; and
  4. The interviewer(s) and their knowledge of the job.   

When I look at management, they all seem to be talkers, whereas in my experience, the people who are most valuable are the doers. The two main areas where I’ve seen organisations fall down are a) they treat all but the interview as a necessary prerequisite and really use the interview to ‘pick the winner’ (hence the number of talkers around) and b) where the panel don’t really know much about the actual job thereby not knowing how rare the real skills are. So they generally are not employing anyone particularly useful and the organisation has to do the whole thing over again.

Two more quick thoughts. It is important for the panel to have a good feel for who the referees are if their opinion is to be given appropriate weight, and also, experienced interviewer(s) seem to dig a little harder looking for real knowledge whereas inexperenced interviewer(s) just ask the questions and get out.

The caffine has kicked in so it is time to work again.

Technology for blogging

I’ve used a number of different technologies to run this site. First I got spammed bigtime and there did not seem to be too much I could use at the time to clean up my Moveable Type site at the time. Then my web host had reliability issues. Now I’ve changed hosts and am using a different technology called Wordpress. It seems damn user friendly.

 For anyone looking at changing hosts I would recommend using a webhost that has something like Fantastico, as it is damn useful being able to install all of these things, like Wordpress, with one click (Fantastico’s praises are sung here at webmaster stop).

For a portal, something like wordpress is probably not enough, something like Drupal has a lot more options (and can get you into a lot more trouble). I’ve used an array of content management systems including postnuke and they are way more fiddley to set up than this.