This Author Sees A Long Drupal Slope

Anyone who follows the community will know much is made of a developer/designer divide. To be honest, I still don't quite get why this is. I don't personally feel it.

Photo of Greg Harvey
Fri, 2009-08-28 11:11By greg

I'm prompted to write a post that is a bit less technical and more of a muse on the state of the Drupal project.

I *do* agree there is a divide in the community, in so far as there are definitely folk who seem to have an easier time of making stuff happen than others, not always for the right reasons, and some voices are far louder than they ought to be. But that's life and life isn't fair. I certainly don't see it as developers vs. designers.

And commercially I find no divide. Within my business the developers and the designers are on the same side and we work together, within the constraints of the product, to produce the best work we can. We do some nice work too. I have worked in places (advertising agencies, to be precise) where departmental organisation effectively pitches designers and developers against one another, but it wasn't constructive or pleasant. Not in my yard, that's for sure.

It's all about trade-offs and mutual respect. The designer wants to do something, the developers says we *could* but it will take a week, whereas if we do it like this it will take a day, the designer says ok, but not like that because it destroys the whole concept, how about this, will it be easier? etc. The need for compromise due to, budgets, goals and product limitations affect the entire team, but we turn that in to a positive thing. "Ok, the system isn't perfect but we can find a solution. So how are we going to solve this together?" We find, that with a bit of give and take, Drupal pretty much keeps us all happy. So I was rather surprised to read these tweets on Twitter yesterday:

modulist: #drupal Trolling for functions or snippets for theming is an *enormous* waste of a designer's time and a real profit suck.

Then: modulist: #drupal Unless you're a developer, digging for snippets and functions totally fucks with the economics of using Drupal.

Slightly confused, I replied and asked:

greg_harvey: @modulist Why would a *designer* be trolling for snippets and functions? Surely you design it and leave that to the devs? =/ #drupal

To which Claudio replied:

modulist: @greg_harvey The whole reason we embraced Drupal was because it empowered us to build ambitious sites without partnering w dev firms.

Woah. Let's back up there a second. Build "ambitious" sites without partnering with a dev firm? You want to build complex applications without talking to a developer? I'm exaggerating to make a point, but what that *sounds* like is you want to be able to build Facebook with just a UI and a bit of HTML know-how? That's a fine goal, but there isn't a CMS on the planet that will do that. Furthermore, I would never presume to be able to make a really pretty website without hiring a designer.

I would expect a website I designed to lack that certain "je ne sais quoi". God knows, I've tried. My designs are always ok, but never quite right. I always end up hiring a professional designer. Why, then, would a designer presume they don't need a professional developer to make their grandest ideas work effectively?

I replied again:

greg_harvey: @modulist Depends on your definition of "ambitious" but I'd never expect it (or anything) to do that. Custom requires development. #drupal

And that was that. Until someone I follow, @omega8cc, re-tweeted this blog post by the same person:

The author starts out by talking about some of the strengths of the Drupal community, including it's code management (I remain to be 100% convinced - I think the systems are good, but...) He also makes the totally valid point that right now Drupal is managed far too closely by developers. The balance is all wrong. These points I personally accept, however, shortly after that he loses me. He goes on to make numerous points that he claims makes Drupal alienate designers. The problem I have is the points feel like they've been written in criticism of Drupal 5.x. I believe many of them would've been true a year ago, but aren't any more. The article seeks to highlight points that are either already addressed or very publicly being addressed, which makes it potentially misleading to a reader from outside of the community.

Firstly there is the implication that you can't achieve anything in Drupal without using a boat load of PHP. Huh?? I beg to differ... Drupal's templating layer is brilliant for this. It got way stronger in Drupal 6.x and there are even cooler changes to come in Drupal 7.x: The whole point of the templating layer is to provide a set of files that are predominantly HTML (come on now, if you can't work out what print $content; means or how an if statement works, you really *need* a developer). The template variables are well documented (and even inline in some of the better starter themes like Zen) and if you don't like mark-up, layout, etc. you can just change it. Easily. With Drupal 6.x theme functions in PHP are all but gone. Forget about template.php - you barely need it.

Practical example? My own company website (while not the prettiest or most adventurous Drupal site in the world) uses almost no custom PHP. It uses a theme based on the Zen starterkit, some CSS changes and a carefully selected group of modules that I configured correctly. In fact, I deliberately did not do any PHP development work because I did not want to create a website that would become a nuisance for me to maintain.

Want more? Then I would urge Claudio to sit in on the Sony Ericsson presentation at 9am on Friday 4th September at DrupalCon (or watch it later if he can't be there) for a fine example of why I think he is totally wrong. Synopsis is here. I can't wait, personally:

There is, of course, a caveat. Bad module developers have always been able to make it difficult for themers and designers and that will never change, but that's not a Drupal problem. That's a people problem. And it's fair to say that all of the major contrib modules respect the rules and make sure that practically all produced mark-up, from Drupal 6.x onwards, is encapsulated in template files.

If you want to *change* how a module works, alter a workflow, add a step to a form, etc. then sure, you need a developer. But that is *development* work. It is new features. It is fundamental changes to the intended purpose of a module. If that's what you need to do, then you're not theming any more.

If you want to change design, really theme, then the tools are there and they work well. It is not fair to say there is a high skill level required for theming. In Drupal 6.x there is a *low* skill level required for theming (nearly everything can be done in TPL files and CSS) and a *moderate* skill level required for changing the functional behaviour of modules. If you want to change functionality, we're not even in the same ball park. You can't do that with theming, in *any* CMS. You need to be able to make the mental distinction between what is a design change and what is a functional change.

And as for PHP code snippets, in my experience they went the way of the dinosaurs the moment the Views module came out of beta. It has totally removed the need for them. I haven't used a code snippet in a block for *years*. Add Panels 3 to the equation and they're gone man, solid gone.

Secondly, there is the implication that designers have to get involved in CVS. For a kick off, they don't. What on earth would a designer want a CVS account for? It makes no sense. If you're a designer, you won't be building modules. If you're a designer you're probably designing themes, which is all cool, but building themes? Nah. Not likely. If you need to build a theme, and if you have any sense and you don't know any PHP but you know a bit of CSS and mark-up, you're going to download a starter-kit theme like Zen and do it that way. Only a designer who's a masochist would try to develop a theme from scratch without the assistance of a developer. Hell, we don't even do it and we *are* developers. So why, oh why, would you want to touch CVS? Don't. It's horrible. Forget about it.

It's also really easy to bash the CVS repository Drupal lives in, because CVS *is* pre-historic. But Drupal is now over 10 years old, there is a huge infrastructure and masses of data and inter-dependencies relying on that CVS repository. The webmasters are probably tired of pointing out to people who say "Why don't you use {insert_version_control_system_of_choice}?" that if *only* it were that simple, they would.

Finally, there is the argument that the design of is a put-off. That may be true, but we all know full well that Mark Boulton is working very hard, right now, to address that, so to use that as a stick to beat Drupal with is misleading. Someone who does not know anything about the community would say "hell, yeah!" But someone who *does* know that search on has just recently been totally overhauled to improve experience, that design is in the pipe and will be released imminently and that real, serious efforts are under-way to turn that tanker would find that an unfair point to pick up upon.

Yes, we know could be a helluvalot better, so let's leave that one. It's being worked on and you know that, I'm sure.

If you find Wordpress easier, fine, use Wordpress. But remember, you are clipping the wings of your website. Wordpress is not a CMS any more than vBulletin is. It's a blogging engine with bits bolted on. It cannot do what Drupal can do, but if it does what you need, that's cool.

I'll sign off on a final point about the whole designer/developer thing. It works both ways - the creative community needs to embrace developers as well and accept that you can't do everything on your own. If you start from the standpoint of "I selected this product because it means I don't need developers", which it would appear from Claudio's tweets that he does, then I don't believe you can have a healthy relationship with a community that relies on a symbiosis between the two disciplines of design and development. To answer Claudio's question, "Has Drupal peaked?" - clearly I don't think so. Not by a long shot. I think it's only just getting interesting. But don't believe me, ask a designer. Ask Morten. =)

mortendk: I know im putting my love into the right community: #drupal -fuck yeah! offcourse theres gonna be some frictions between the front/backend