I’ve been an Expression Engine developer since it debuted. SuperGeekery is built on Expression Engine (aka EE). Before EE, I used Ellis Labs’ previous CMS called pMachine, so I’ve been in that camp for quite a while. I’ve built many sites using EE. It’s intuitive for me and I can quickly imagine a solution to most ‘internet problems’ I run into.
Recently I’ve been approached about a number of different CMS projects, often with a preferred choice of CMS, usually WordPress or Drupal. Joomla was mentioned once as well. Since most of my exposure has been to EE, I thought I should spend some time digging into both WordPress and Drupal so I’m ready for what comes my way.
I went to the CMS Showdown (http://cmsshowdown.com/) as SXSW 2009, a competition between WordPress, Drupal and Joomla, and feel confident that any of these platforms can be made to do anything EE can do. The biggest disappointment of that session was that EE was left out, probably because it is not free and open source like the others. EE is not expensive though, and I’ve never encountered software with the level of support that the EE team provides. Getting your client to pay $249 for software with that level of support is well worth the cost.
My impression of the CMS systems that were part of the CMS Showdown was that you had to learn to bend the idiosyncrasies of each CMS rather than the CMS bending to your way of working. That was after an hour though, and I like to try things for myself so I went on my own CMS exploration.
I started my tour with WordPress. My initial impression of it was very positive. It seemed very solid and the design of the interface was lovely. It also has the best templates I’ve seen for making blogs by a long stretch. I did a couple test installations of WordPress using MAMP and my Dreamhost account. I played around with them, customizing them with some of my own graphics, installing various themes and integrating Facebook Connect into one of the blogs. It was pretty easy, but I didn’t create an entirely new theme for any of them. After a week or so, I uninstalled them and continued my journey with Drupal.
I’ve worked with Drupal in that past on 2 sites for Unilever. In those 2 cases, I did not have a developer role. I was strictly the creative director for the projects and never touched the code. Those sites were a couple of Drupal versions ago (version 4, I think) and although the public facing sites turned out really well, I was disappointed with the usability of the interface that allowed our editor to update the site. I felt it was overly complicated.
I went into Drupal with that prejudice. I ended up taking a basic Lynda.com course on Drupal. Having someone walk and talk me through it, something Lynda.com excels at, helped me grok Drupal. I still find the CMS management a little unfamiliar. There is no “Control Panel” area like in EE or WordPress. The editing tools simply appear on the site if you’re logged into it with the proper authorization. That seems odd to me, but I’ll go with it because Drupal seemed very powerful and versatile, like EE, but there are some fairly strict ideas I needed to get comfortable with, the concept of creating blocks comes to mind, before I could use it. Ultimately, I ended up installing 2 Drupal sites just like I did with WordPress. After some play time, I felt like the Drupal veil was lifting a bit and I feel motivated to continue exploring Drupal.
Since you might not be familiar with Expression Engine, I’ll give you my quick take on it as well. I find it easy to understand. The templates it comes with are not great though. The designs won’t impress you like the WordPress template designs. The reason that doesn’t bother me though is because I rarely want to use someone else’s design for something I’m building. Expression Engine theme construction just worked for me. It was basically building HTML and putting in some EE code where you wanted dynamic content to appear. I’ve found the Control Panel interface easy for clients to understand as well. The online forums for Expression Engine are also monitored by paid staff so any questions I’ve had have been answered very quickly.
Overall First Impressions
Anyone who has spent time with any of these CMS’s should be able to build just about anything. They are power tools. I still have my first impressions of them though, and to be fair, my Expression Engine “first impressions” are not fist impressions at all. I went into this with a predisposition toward Expression Engine and I leaving with it as well. It’s the tool I know how to use so that doesn’t surprise me.
I could see using WordPress for building a blog for someone based on one of the existing themes. Using the WordPress control panel is intuitive and clean, but I would probably stick with blog-style sites although I know you can customize it beyond blog sites. WordPress also feels like it’s built with a strong designer’s point of view and it really benefits the platform.
Drupal, on the other hand, feels like it’s built by and for coders. What it might lack in pretty shiny pieces of interface it trumps with sheer power. Although I had to dig a little deeper to find it, Drupal seems to be coming along with strong design as well, it’s just not there in the default installation. Be sure to check out the theme garden link I’ve posted at the end.
I’m left with a very imperfect analogy of these 3 solutions. Expression Engine is to Sun Microsystems as WordPress is to Apple as Drupal is to Microsoft. That has nothing to do with “open sourcyness.” Each CMS is a valid solution. Each has it’s place, it’s priorities and it’s followers. By making that analogy, I’m sure I’ve managed to offend all camps in some way. That’s not my intention though.
Whatever road you go down, here are some great links to check out.
For Expression Engine: