On the State of Drupal Themes and Theming

I was browsing the Drupal Theme Garden a few days ago and was reflecting on how incredibly boring (if not ugly) a large share of the themes looked. Out of all the themes I viewed (over 50), I might consider using only 10 or so on a production site for a quick project that I didn't want to create a theme for.

 No - Yes - Drupal Designs Evaluated

Later on, I read this post on Steven Witten's blog [Acko.net] from 2007, and read through every single comment, because I am extremely interested in the issue of Drupal theming. If you are at all interested in helping Drupal be more themeable and appealing to designers, you must read the post linked to above. Go ahead - read it. I'll wait...

...okay, now that you're back,

A few of the comments in Steve's blog post deserve a mention...

From the blog posting itself: "Not enough Drupal people are savvy enough about theming and design to help out with even small tasks (like a banner) or even give quality tips and feedback on other work. The result is that theming and design receives little attention. Most contributed themes and sites could look a lot better, if they just themed it some more. And getting patches into core that give the defaults a little more oomph is tough, as they are often considered to be useless embellishments.

In the first comment, from Bob IrvingDevelopers sometimes don't see the need for a good design for the interface (I've heard some refer dismissively to design as "pretty pictures"). But information design is much more than "pretty pictures", and even more than just "usability". Color, placement of text, fonts, balance of objects, etc., all play a role in making the user experience not only pleasant, but efficient.

From DaveNotik [sic]: I think there certainly needs to be more knowledge of the theme system in Drupal and its power. Maybe better documentation would help, hopefully the new Pro Drupal Techniques book will help, and certainly more committed and involved users would help.

From Adrian B: Being part a designer I agree with Rick Hood about this. From a designer point of view I couldn't care less about Garland since I would build my CSS from scratch anyway. And from what I've read Garland isn't even a good starting point if that's what you're doing. But Garland is oh-so important for appealing to people in general, it's delicious ("lickable" to use a phrase from Steve Jobs) and way beyond Blue Marine as a face to show Drupal off.

I could probably mix in about 20 more quotes, but you can jump on back to Steve's blog post (I've linked to it three times. It's important. Read it!) to read the rest. There are so many good thoughts mixed in there!

<rant>

I'd like to go off what Adrian (the last quote above) said, though: Garland (and every theme on ThemeGarden) is oh-so-important for 'lickability' and likability. In my opinion, if a theme is not gorgeous, or is not a solid base for making other themes, it should NOT be in Drupal core. I came *this* close to abandoning Drupal based on looks alone, because when I installed it, I noticed there were some other themes available. So, I tried a few of the other included ones. They sucked. (And believe me, I don't use that word much).

Yeah, I'm talking about you, Mr. Bluemarine, Mr. Marvin, and Mr. Pushbutton. You've got to go. I'll go through some other themes that I think are examples of what should not be promoted, and what should, on a very important site like Theme Garden:

Examples of themes that make me cringe:

Some of the above themes were okay, in terms of being presentable and showing some text, but are repulsive at first glance (and sometimes on second glance!) on Theme Garden, and make someone comparing CMSes based solely on 'look' (like managers, marketing staff, etc.) turn away in disgust. And some of them could be much, much better if only they were refined a bit...

If you tell a small business wanting to improve their image, "Hey, I want your website to look something like craigslist," they'll shoot you in the head. And yet that's about what some of these sites look like. It's sad to see so much static mixed in with a few truly great examples of Drupal design.

And, on that note, examples of really good themes that make a guy like me want to think about adopting Drupal (from an aesthetic perspective—meaning I'm a Drupal end-user, and not a backend developer):

(Neither of the above lists are exhaustive; they're just examples I can think of from the top of my head). And, before you start yelling at me for not having a theme of my own... just wait. I'm going to be building one soon enough, following some styles found on www.cycstl.net and www.catholicscoutingstl.org. I hope that won't be my last theme, either (but it takes time!).

</rant>

Theming in Drupal 6

I've worked with Drupal's Zen theme project on two sites, and am working with three other themes (changing aspects of them to adapt them to a few small websites' needs). On one site, I took an HTML/CSS template I created from scratch, and in a matter of a few hours, grabbed all the PHP tidbits and such that I thought I'd need from Garland and stuck 'em into my template where needed. The site looks close to how I want it to look, but there are so many little things broken that I don't even want to attempt doing something like that again.

I'm no expert at PHP, and I don't particularly want to be one. But I love Drupal's ability to be so adaptable and extensible. I know nothing at all very little about how CVS (the system Drupal.org uses to track projects and themes) works, and I'm about 7% through trying to learn how the whole Drupal.org website/websites work.

Theming in Drupal 6 is... okay at best. There's a lot of gooky PHP you'll have to deal with in .tpl.php files to make even relatively basic 'good looking' designs. And most designers I know don't want to deal with a ton of PHP. To make a theme designer prosper, give him CSS classes and IDs, and he'll prosper with his wonderful little .css files.

Drupal 6 is okay in this regard, but there are certain parts of the puzzle that are holding back certain people from making awesome Drupal themes. Luckily, progress continues...

An Eye Towards the Future: Drupal 7

If you download the -dev version of Drupal 7, you'll notice a new, ugly theme in core, called Stark. However, it *should* be included, because it's ugliness serves a very, very important purpose: it shows a designer the default html output of Drupal's core.

In my opinion, CSS-only themes are now on the horizon, and this is a very good thing for the Drupal community. People like me, who think PHP is "gooky," will start trying their hand at developing themes if they don't have to deal with all these arcane .tpl.php files. And they'll love it. And new, but more importantly, beautiful, designs will start coming in. We need to advertise this fact, though. Also, we might need to find a few bucks to pay a professional designer or two to make some really kick-ass themes to start things off. (That's something I hope the Drupal Association does at some point).

Anyways, I've been hanging out in #drupal on IRC lately, reading encouraging postings from Drupal core maintainers, and have been getting started with the process of making patches and retooling ('bike-shedding') the page.tpl.php and other core .tpl.php files to make them more designer-friendly. And I'm excited!


Links to more on this topic:

Comments

Jeff, thanks for your post. It's definitely important, and I'm glad that you think Stark is a good stepping stone towards a better Drupal. (I cringed when I saw you mention it, at first, but finally exhaled when you noted its actual purpose!)

Examples to copy-and-paste-and-hack-from are a big deal, IMO. And getting core's HTML cleaned up to the point that it can be tweaked and ready to use (rather than tossed and re-built from scratch) is a really important step. Any input you have during the process -- whether it's input on the page.tpl.php changes, ideas on how to better split up drupal's core stylesheets for easier overriding, or (heavens) a CSS theme you think could improve the situation... Anything is appreciated!

I'm certainly no designer, but I'm really passionate about getting folks with design chops and an eye towards usabile, beautiful themes empowered in the community...

@ Jeff Eaton: Ha ha! I'm glad you kept reading long enough to know I wasn't angry about Stark... some lesser people would simply quit reading after my <rant> section, and storm off in disgust. I'm really hopeful for the future of Drupal theming!

I am and always have been a big fan of WP as a content management system. However, I recently started researching Drupal as possible replacement. When you compare the available free and paid WP themes to the available Drupal themes, its like night and day. The look and feel of most current Drupal themes was enough to steer me away from Drupal for a number of months. However, a friend of mine uses Drupal exclusively and has been trying to convert based on all it's pluses and features. I would be a much easier convert if there were nicer looking themes (both free and paid). I hate trying to hack up a theme and alter it to meet my needs (partly because I suck at doing it). Better themes would get me on board much quicker.

@ Bradley - there are a few initiatives in the Drupal community to get more GPL-licensed WP/Joomla/etc. themes ported over to Drupal. Progress is kinda slow, but hopefully that will also help alleviate some worries as to Drupal's free theme library.

Whenever I have free time I try to read either periodical or blog articles <spammy link removed>. Thus, thank you for your being here and for your great posts.

i really like the train theme and i think that on some websites like rent a car or something it can also blend in if replaced with a car theme.
----------------------------------------------
Allesandra Inchirieri Masini in Bucuresti

I recently posted the following comment to a Reddit post about this blog post (talk about meta...):

My, how far we've come... I was looking through some of my old blog posts from the Drupal 6->Drupal 7 era, and it's amazing how far the Drupal community has progressed in just a few years.

Instead of trying to justify front-end design, period, we are now overwhelmed by the energy radiated by the front-end developers flocking to Drupal as a result of Drupal 8's multiple design initiatives: D8UX, Twig, HTML5, Mobile/responsive layouts, etc.

As a former front-end developer who still enjoys tinkering on the user-interface and design from time to time, I feel pretty good about where we are today, and where we'll be when Drupal 8 launches.