A wakeup call for the Drupal community

This is embarrassing. Wordpress won 2009 open source CMS of the year (for those interested in one take on why this shouldn't have happened, check this out). I wish this came as a shock but it doesn't. Here's why:

Your average user (read not a developer) can quickly and easily get a site set up and start publishing content. It's just that simple. Despite being woefully deficient in all other areas, Wordpress wins on ease of use. The punchline: ease of use is all most people care about.

Time to rethink a few things

Contrib

The community contributed module codebase is long past due for a serious enema. There are some real gems in there but with somewhere in the neighborhood of 5000 available modules some housecleaning is in order. Simply put there are too many ways to do the same thing in Drupal, and most of them suck anyway.

My two favorite examples are still (after three years) forums and image galleries.

Even with michelle's heroic efforts Drupal forums still suck, and they're a total pain in the ass to set up. Don't agree? Try setting up user forums with forum moderators, detailed user profiles, private messaging, user statistics, and some kind of rich text editor (in other words clone phpBB). For extra credit have it set up so the user interface is intuitive.

User-submitted image galleries are even worse. At minimum you'll need to install four modules and screw around with CCK for indeterminate periods of time just to get the content type set up. Have fun getting anything to display without setting up custom views and writing a bunch of custom template files (two activities that are utterly beyond your average user).

This is a common theme in the community. You can kludge your way to victory with just about any feature set you can think of if (and only if) you write enough hook_$n_alter() code. can find some contrib modules to pick up the slack, and have a designer who can code php tucked in your back pocket (because, you know, they grow on trees).

What I believe is called for here (and installation profiles are definitely on the right track) are larger full-feature modules that implement 100% of a common feature (forums, image galleries) with no requirement to install a bunch of add-ons. This new class of modules wouldn't replace what's already available in contrib. Instead it would provide a more truly plug-and-play option for people that just need the feature set and don't have time/budget/skillset required to duct-tape a bunch of modules together to get what they need.

Theme layer

Drupal's theme layer is in desperate need of another layer of abstraction. Designers and small web development shops love Wordpress because it's easy to theme. By comparison I've lost count of the man-hours I've spent groveling around helping designers try to figure out what file they should be editing. Hundreds (if not thousands) of man hours spent grovelling for file names? Really?

Based on my observations from several large projects it takes a designer who already understands the basics of coding php at least a month to start coming up to speed on how the Drupal themeing engine works. A month. Just to get familiar enough with the system that they can start googling for answers when they get stuck.

Fortunately I'm very optimistic that big improvements will be made in this space in the next six months. I'm aware of at least one project (currently in it's infancy) that aims to provide the required level of abstraction necessary for designers to theme a Drupal site without writing php or even being aware of the template file naming conventions. Stay tuned.

Overall complexity

Drupal has a learning curve like the Matterhorn. This is widely acknowledged (both within and outside) the community. What may not be truly appreciated is how much of a barrier to entry this really is.

Simply put most professionals don't have a month (much less six months) to waste trying to get up to speed with a new CMS. Considering how poorly Drupal rewards ignorance*, it's pretty safe to say that any serious project starting with Drupal that doesn't have at least one truly experienced member, if not doomed to failure outright, is at minimum in for a VERY rough ride.

Drupal's flexibility is one of it's greatest strengths (it's greatest is probably the incredible community of developers and designers surrounding it). This flexibility currently comes at a cost of vastly increased complexity. This kind of complexity is the achilles heel of many large open source projects, and has been one persistent barrier to such noble goals as linux on the desktop.

Unfortunately I don't think there's any silver bullet that's going to magically fix this one. I'm not even convinced it's a bad thing, per se. But I do believe that additional (optional) layers of abstraction over the whirring clanking bits and a substantially streamlined path to common feature installation could go a long way towards addressing these issues.

* Here's an all to common theme I've witnessed over the last three years: a new website project gets started with at least one dedicated developer and a designer. Drupal looks shiny so they choose that for the site CMS and get cracking. Six months later into a two month project 60% of the site functionality either doesn't exist or the ui is so ass backwards it may as well not even be there, the theme's a mess, there's at least 60 modules installed and the site's an unmaintainable flaming trainwreck. And that's BEFORE you run the performance metrics only to find you've got a six second time to first byte and your front page is generating around 4000 database queries per pageview. Sound familiar?

Media Browser

Wordpress has an excellent media library and browser; I don't see anything like it for Drupal. I suppose Drupal is addressing this in v.7?

Submitted by Kyle Skrinak on Mon, 01/04/2010 - 10:34.
Probably not, actually. The

Probably not, actually. The only change proposed in 7 that I'm aware of that's likely to seriously impact how Drupal interacts with media would be CCK getting moved into core. In the mean time there are contributed modules designed to deal with just about every media format known to man, which is admittedly not the same as having a monolithic integrated solution.

Submitted by freeman on Mon, 01/18/2010 - 17:19.
Zen Templates

Re: Abstraction layers - what's your thoughts on the zen template framework? Is it a good stepping stone to the themeing issue pending a real fix up?

Keeping in mind by contrast - I've tried to theme Wordpress before - I found drupal with zen templates to be considerably *easier*. Wordpress templating gets hairy once you get backstage in my experience.

Submitted by Bastlynn on Wed, 12/23/2009 - 17:42.
Hi Bastlynn, You raise an

Hi Bastlynn,

You raise an interesting point with Zen.

I think it's definitely a step in the right direction but it doesn't really address the underlying problems of complicated template file namespacing and the php issue. Another thing to keep in mind is more often than not folks don't even try to go backstage in Wordpress.

As stated I'm of the opinion that a fully abstracted theme generator (read no coding php, no hand-hacking namespaced template files) would represent a huge improvement to the available theming tools and would lower the bar to adoption substantially for many designers.

Submitted by freeman on Wed, 12/23/2009 - 23:47.

Freeman on web stuff

If it's wrong, bad or
stupid, let me just say that
I am not surprised.

- author unknown

User login

Navigation

More Drupal hotness

Powered by Drupal, an open source content management system