The Travelling Programmer

Tools of the Trade      How to Make a Website

Home

Archive

 

Location:

Perth, Australia

 

Next:

?

 

Jobs:

Programmer

Teacher

 

Go Build a Website

What people are saying

Subscribe in a reader

Ohloh profile for andyjdavis

28 May 2008

Joomla Problems

Today Ive been doing some contract work.  Some flash development and some work on a Joomla site.  Im rapidly learning to dislike both pieces of software.  At the risk of enraging some people Ive detailed why Joomla in particular is bothering me in the hopes that we can all learn something.

Design for Usability Not Architecture

Joomla config screens each map to one table.  I haven't looked in the code to figure this out.  I can tell.  I can tell because if my article, for example, needs to be put in a category that doesn't exist yet I have to abandon my article, leave the article screen, go to the category screen, create my new category, then return to the article screen.

While Im sure this keeps the code very clean and concise it really sucks for the user.  Relying on the users to know the prerequisites of the thing theyre trying to create and to have already created them all is a profoundly bad thing.  Ive been using Joomla on and off for a few weeks and I still wind up abandoning half created articles and contacts on a regular basis to go create new prerequisite objects.  In some instances Ive had to abandon them two or three times because Im missing a section or category or something else.  This is amplified by sections and categories not being shared between users, documents and articles which Im grouping along departmental lines.  Im forever creating category X in one spot and forgetting to do it in another.

This emphasis on clean design over the user experience is like designing chairs to be easy to stack for storage even if it means theyre uncomfortable to actually sit on.  If something needs to be done let the user do it right there and then without abandoning their partially completed work.  The user's experience trumps every other concern.

Provide Good Error Messages

An error message should consist of the following two things:

  1. What is wrong
  2. What the user should do

I get error messages like "Directory error" and "check directory and/or directory permissions" far too often.  Check directory permissions?  I can infer that they mean check the user the web server is running as has read/write access but Im forced to guess.  Youre locking out a whole bunch of users who wont know what you mean and who will just get frustrated and go elsewhere.  Even for those of us that stay vague error messages that don't tell me what to do create a general sense of the software being buggy and hard to use.

If you can't tell the user what they have to do then why are you telling them anything?  "Something happened, you dont have to do anything as its already been handled, so just ignore this big red error message and relax" messages are always bad.  They frighten users and exist only to assure the programmer that his software is working correctly.  Figure that out by testing and not by piping debug info to the user interface.

Test and Document Common Platforms

Due to set in stone requirements from the client the site Im building will run on a Windows box.  Linux is my OS of choice these days but tough.  Windows it is.  That really sucks.  Not because Windows is bad or anything but because the software and all of its documentation and online resources assumes a linux platform.  I have the feeling no one actually involved with the project has tried setting up a Windows Joomla install.  Let alone a remote Windows Joomla install.

I've had all manner of permissions problems because of this.  To make having the problems worse when I try and look for information to help me guess what could be wrong all I can find is people telling me to SSH into the server and chmod stuff.  Its a remote Windows server that I only have access to within the browser.  No chmod.  No desktop, remote or otherwise.  Company policy.  To get to a desktop so I can manually go through each directory checking permissions I have to physically drive across town.

You might think that Im complaining about a problem specific to my own project but my circumstances are far from unique.  Companies want websites.  Companies are sometimes Windows only by executive fiat.  Companies routinely dont allow anything that even resembles remote desktop for security reasons and physical access isnt always convenient or even possible.  If your CMS cant work within these constraints you are ensuring that most of the businesses out there cannot use your product.  The software must cater to the requirements of the user.  Not the other way round.

Ok, I think thats it.  I hope that if anyone who is involved with Joomla reads this theyre able to take some constructive feedback from it.  Its not intended as an attack however Joomla has given me more than my fair share of wtf moments during this ongoing project.  Im now off to a meeting with the client to go over the list of areas in which Joomla is stubbornly refusing to work in an acceptable fashion.  If you need me Ill be between the rock and the hard place.  *sigh*