Continuing To Climb: Drupal Does Design

Aug 31, 2009

Is Drupal a bad platform for designers?
If you were paying attention to the Drupal Planet or the twitter feeds of various Drupal community members and designers in the Drupal world, you might think the answer is a resounding 'Yes'. However, while turning designs into Drupal themes can be challenging (the process called Theming in Drupal), especially (it seems) to designers used to working with graphic design and more static websites, Zivtech has never encountered a design we couldn't theme. Sure, some design decisions can lead to a good deal of development time, and there are certainly limits to the underlying technologies (primarily HTML/CSS/Javascript, but also PHP & MySQL), but ultimately Drupal's theming system is extraordinarily robust and flexible and allows anyone to bend Drupal's output and display to suite whatever needs we have.

(Quick note: I'm referring here to Graphic/Visual Design only. User Experience and Information Architecture Design are also extremely important to the overall Site Architecture, but are not skills that, for example, necessarily come from design or art schools.)

Now, I'll be honest. Theming Drupal can be hard; not as hard as module development, or site/application scaling, but for those of us who aren't very comfortable with, or talented in, development it can seem like a daunting task. This was more true of previous versions of Drupal, but it can still be challenging to find good resources on learning the ins-and-outs of the theming layer, and without the help of good developers who can patiently walk you through the process or complete the theming for you, it has the potential to make Drupal seem inflexible and extremely difficult to tame.

Does this mean that Drupal should change to suit the needs of designers who can't or don't want to learn theming? In my opinion: no, not really. I'm not saying that Drupal's theming layer can't use some improvements, as could the default markup of some modules, but in general it's about as easy to learn as I think we should expect from a CMS/framework as robust and flexible as Drupal.

Instead of looking at how Drupal itself can change to meet the needs of design oriented site builders, I believe that we should look at much more personal methods for tackling the issues that designers have.

Learning about theming

On the individual level, I think designers would benefit greatly from increased learning resources dealing with theming. Though it is not terribly difficult in the scheme of Drupal development, I can say from personal experience that theming can give non-developers a hard time. If you want to learn you could take a class, such as Zivtech's Drupal theming training, watch some of the hundreds of videos on the subject,or by using books like Learning Drupal or by reading through Drupal's vast (and improving) handbook.

I believe that there's a lot more that we can and should do in the training area, and we are firmly committed to helping foster more and better training programs. For example, why not try to replicate some of the successes we've had with identifying and engaging developers through the Google Summer of Code and create a student/mentor program for designers and/or design oriented folks? We could even team them with developers so that they could tackle some of the stumbling blocks together.

It takes a team
If learning to theme Drupal is too hard or takes too long, the second thing you can do is hire developers who can help you, or otherwise partner with them. This is the method that I most often take, in fact this business is where it is today because at some point I realized “I'm never going to be a great developer.” Instead of continuing to climb a learning curve that never seemed to get any less steep, I decided that in order to push forward in a Drupal business that I needed to partner with someone with the development chops to match my client management & business/marketing skills. I was lucky enough to find one of the smartest developers I've met and even luckier that she agreed to partner with me, because together I think we've built (and will continue to build) one hell of a team. And the reality is, it does take a team to build a sophisticated website or application, and not all members of that team need to have all of the skills necessary to complete the entire project.

One skill we've only recently started to develop internally at Zivtech is graphic/visual design, which has meant that in the past we outsourced all of our visual design work to freelance designers or design firms (we also tend to get a good amount of work from design firms who don't have in-house developers). The design firms and designers have had various levels of experience with a dynamic and powerful CMS, which has lead at times to confusion and misunderstandings, but we pride ourselves on teaching the clients and partners we work with to understand the medium which they are attempting to make a look for, and in the end we can make a theme for anything that is possible with CSS/HTML/JavaScript (we also make Flash backends).

Understand the medium and be flexible
One of the biggest problems that we at Zivtech have faced when dealing with designers is the rigidity with which some designers approach their work on websites and web applications, and especially with designers with little experience designing for dynamic CMS'. Sure, you can have gradients all over the place, special font graphics in your headers, rounded corners in every possible place, and node text appear wherever you want. But- are those things necessary for the site to be successful and/or good looking? If the answer from the designer and/or client is “yes”, and the design was made without regard to the default output that Drupal and its modules give you, then you should expect that the theming will likely take longer and cost more.

In the same way, if you try and design a building without regard to the constraints the physical world puts onto building design (not to mention the social and political constraints), then you probably don't have a long career in the building industry in front of you. Just as a good sculptor understands the intricacies of working with clay, and a good painter understands the benefits and limitations of different types of paints, brushes and canvasses, so should a web designer understand the intricacies, benefits, and limitations of dynamic and sophisticated web sites and applications.

I completely understand the need to create sites that are not only built to scale, easy and intuitive to use, and relatively simple to extend, but also sites that are visually appealing. What I don't understand is why this is considered hard to do with Drupal. Zivtech and many other Drupal firms build powerful, scalable, extensible, usable and beautiful sites all the time. If you're a designer and you can't or don't want to learn the other skills necessary to work with a robust CMS like Drupal, then by all means hire developers or find development firms to partner with. But please don't claim that “Drupal is bad for Designers”: Drupal developers, designers, shops and the beautiful sites they create prove that this claim is pure Fear, Uncertainty, and Doubt each and every day.