The Joomla! Epidemic
March 20th, 2008 by Dave - Reality Hosting
The web design world has taken a massive leap forward in the past few years, as companies have started shifting the focus from building static websites where customers have to contact the developer every time they want to update the site, to a new type of site driven by what’s called a “content management system”, or CMS for short. This is an excellent step forward for anyone who needs a website, as it allows a user to instantly update their website with the most relevant information, instead of calling the developer and paying them to put it up when they have the time.
As a result of this shift, almost every website development company has jumped on the bandwagon to make sure they are offering their clients CMS systems with their website development, in order to stay competitive. At Reality Hosting, we decided to develop a proprietary CMS system that was designed from the ground up to be extremely powerful, yet user friendly. This is not the only way to go, but in our opinion it’s the optimal way to provide a client with the best possible solution.
That being said, we’ve noticed an alarming trend among developers in the area and all across the web. For some reason, a very large number of companies are embracing an open-source CMS system called Joomla! for the back end of their websites. While I’ll be the first one to step up and support open-source software, there are appropriate and inappropriate applications of any software package. Joomla! has some serious problems that can cause you much heartache down the road, and for this reason is best avoided.
Why is Joomla! so bad?
1. Usability
The administration section of Joomla! is a usability nightmare. It’s extremely counter-intuitive and difficult to use. So, not only does it take a lot of training and practice to get up to speed with updating and changing the content on your site using Joomla!, but if you have a change in staff (I know, this never happens! heh heh), the new staff member will have to go through that steep learning curve all over again. In the long run, this costs your organization lots of lost time, which results in lost money paid in wages.
A CMS system should be intuitive and very easy to operate without sacrificing powerful functionality. A user should be able to sit down and have a basic understanding of the CMS system in 5 - 10 minutes maximum. This is a completely realistic goal with some careful forethought and planning.
2. Search Engine Friendly URLs
As the Internet becomes more prevalent in our society, consumers will increasingly turn to search engines to find companies. More and more users are looking for businesses in their local area ( i.e. “Flower Shop in Brantford Ontario”) on search engines, and making sure your business shows up on page one of those results is very important.
By default, Joomla! has ugly URLs that aren’t very search engine friendly - if you look at the address bar in your browser when on a Joomla! site, you’ll see something like this “index.php?option=com_content&task=section&id=1&Itemid=2″ , when ideally you want a much cleaner URL structure, something that looks like “Home/53/0″. If you can control the keywords that show up in the URL, all the better, as this will help to better optimize your site for top search engine rankings.
3. Extending Joomla! is a nightmare
If you need to add functionality to your website that isn’t included in Joomla! by default, prepare yourself to break every major software engineering rule. This can result in lengthy debug sessions to track down issues with the code that are difficult to find. What does this mean to you as an end user? All the extra hours your developer spends wrestling with Joomla! will end up on the bill you pay at the end of the day, inflating the price you pay.
When using a proprietary system, the company developing your site has built the CMS system from scratch themselves, and therefore they know the software inside and out and can easily extend the functionality to meet your needs.
4. You can’t own Joomla!
The Joomla! CMS system is basically open-source software that’s freely distributed by the GNU GPL - basically, that’s a fancy acronym that means the system is freely distributed and will always be free no matter how much you customize or change it. This is bad for developers, as any work they put into the Joomla! system to develop a site for a client becomes completely open-source and can be distributed or sold by anyone who has purchased a copy of the software.
As a site owner, this can be bad for you as well. If a developer ads some functionality to Joomla! that you have envisioned, they can turn around and release it as a free add-on to Joomla! to allow anyone to download and incorporate that functionality into their website. You can do nothing legally to stop this, due to the nature of the license that Joomla! is released under. Edit Note: This is inaccurate, please see Elin’s comments below for a full explanation.
5. Poorly Coded
Any competent web developer who is familiar with the language Joomla! is written in will tell you that the source code (or the instructions that make up the program) is what’s called “Spaghetti Code“. On a large scale, poorly written code like that which is found in Joomla! can cause a lot of issues… It can slow the operation of your site down, as it won’t run as efficiently as it should, and if you have problems with your current developer and move to a new one who isn’t extremely familiar with the Joomla! system, it will take them much longer to sort through the code.
If a car dealer tried to sell you a car containing a poorly built engine with lousy efficiency by saying “Eh, it runs…doesn’t it?”, you probably wouldn’t be convinced. Joomla!’s “guts” are the equivalent of that poorly built engine.
