Documente Academic
Documente Profesional
Documente Cultură
ter
,Fast
er,Cheaper
:
ThemeOpt i
onsfor
DrupalDevel
opers
AWhi
tePaperbyTopNot
chThemes J
une2009
T h e m in g : T h e D r u pa l
D e v e lo pe r ' s C h a lle n g e
Creating a client-pleasing Drupal theme requires both
programming and design talents — a mix rarely found in one
person. This paper examines theming options available to
developers, discusses the benefits and drawbacks of each, and
helps you determine which theming solution is best for a given
project.
The stakes are high, and are reflected by market demand. The 2007 Web Design
Survey by A List Apart Magazine 2 found that four of the top seven job titles for
Web professionals were design-oriented, comprising 40.1% of respondents. (The
other three titles were “Developer”, “Webmaster”, and “Other”.) The message is
clear: Developers need partners with visual arts strengths to make their work
shine.
As a result, many developers run into difficulties when the time comes to
recommend (or develop) a client's theme. This paper gives you the tools to
determine which theme option will help you complete a given project
well, quickly, and on budget.
1
One measure of Drupal's growth is found in Dries Buytaert's July 14, 2008 blog post, “Drupal download
statistics”, http://buytaert.net/drupal-download-statistics-2008
2
http://www.alistapart.com/articles/2007surveyresults
Busy Drupal pros. 86% reported working on several projects per year,
with 29% working on 10 or more (see Figure 1).
3
http://www.topnotchthemes.com/blog/080928/got-a-few-minutes-share-your-thoughts-drupal
Many Drupal themes fail. Fully a third of all developers felt that the
quality of themes available for Drupal was “Poor” or “Below Average”
when compared to those of other content management systems.
Developers need more from themes. The top four areas for Drupal
theme improvement cited were for a larger variety of designs (53%),
higher-quality graphic design (48%), flexibility for different types of
content (46%), and better documentation (43%).
There seems to be lot of mediocre stuff out there, and it takes as much
time to fix as rolling my own solution. There are few reasonably
priced/free themes that are NOT terrible in quality.
Developer frustration around theme challenges is visible from a tour of their own
sites: eight of 20 randomly selected independent Drupal consultants on Planet
Drupal 4 use the default Garland theme, and almost all the others use a free theme
that’s only been slightly modified. While most of them are capable of creating a
passable theme, the truth is that good theming is hard, and experienced Drupal
developers know that their time is better spent in areas of their expertise.
While developers can get by with generic themes on their own sites, they realize
that clients often make vendor choices based on a project’s look. A 2006 Carleton
University study 5 found that Internet users rate a Web site’s visual appeal within
the first 1/20th of a second — far too short a time to consider any functional
elegance that the developer created. That goes for clients as well as the public: As
Web designer Adam Hayes said, “The visual appeal of your site is key to keeping
the user long enough to even see if your business can solve their problems 6.”
4
http://drupal.org/planet
5
Lindgaard, G., Fernandes, G., Dudek, C. & Brown, J. (2006). Attention web designers: You have 50
milliseconds to make a good first impression!, Behaviour & Information Technology. 25, 115-126.
6
http://www.ahfx.net/weblog.php?article=57
Making a half-way decent theme still involves too much work: PHP
snippets here, modules there, CSS everywhere, and then getting it all to
look the same in each browser — it's all doable, it's just still a pain.
Christopher Pelham, Director, crsny.org
7
http://www.themegarden.org
8
http://www.drupal.org/project/Themes
9
http://drupal.org/project/zen
What's in a Theme?
Drupal theming is a hybrid of design and development, requiring in-depth
knowledge of CSS, design practices, Web standards, and image editing, as well as
a strong understanding of Drupal's structure and theming layer.
The theme's template files. These are written in PHP, and as such are
within the purview and expertise of a knowledgeable Drupal developer.
The fact that a theme has a lot of template files doesn’t necessarily
mean that it’s of high quality: If they’re poorly implemented, those extra
files could add complexity without benefit. But templates can be used in
clever and helpful ways, for example to manage multimedia efficiently,
control the appearance of the maintenance page, or format search
results.
Most free themes include few or no settings beyond those that come
built into Drupal; custom or self-created themes typically include only
those that would be of use to the specific client, and must be added at
the developer’s hourly rate. Premium themes tend to include a higher
number of settings.
Cascading Style Sheets (CSS), included with both the theme and
contributed modules. While it's possible to create Drupal sites with
minimal CSS usage, most modern sites rely on it heavily for both layout
and typography.
CSS files comprise perhaps the most visible sign of theme quality, for
poor CSS is apparent both to the developer (who has to fix or work
around the designer’s errors) and the site visitor (to whom the page just
10
See “Advanced theme settings”, http://drupal.org/node/177868
With CSS, you can have very nonlinear moments where changes to one
CSS area make other places blow up. That's where I can see paying
money to [a theme provider] with a good reputation — to avoid those
nonlinear traps. I want to know that someone’s already thought them
through, or at least documented them.
The first criterion is, of course, the theme’s appearance. However, appearances
can be deceiving. A theme might look terrific on the vendor’s site, but fall apart
when you try to adapt it to your own purposes.
The theme should play well with Drupal and your custom code.
That takes an understanding of Drupal programming standards —
something most often found in designers who work with Drupal day in
and day out. Does the designer implement Drupal’s API 11 correctly?
Does the theme take advantage of markup from commonly installed
modules? Drupal knowledge that’s weak or out of date could prevent
you from exploiting all that Drupal has to offer.
Themes from [one vendor of premium themes] are pretty well laid out:
They give you a lot of theme-specific settings to control things like node
settings and SEO, all through /admin/build/themes.
11
http://api.drupal.org
12
http://www.w3schools.com/browsers/browsers_stats.asp
13
http://drupal.org/project/pathauto
Available skill set. If you have access to design, PHP, and CSS skills,
together with knowledge of Drupal, you can probably produce custom
themes most economically yourself. If not, consider the cost of time
your team would need to acquire the skills it lacks.
Whatever your choice, keep in mind that the theme should support your code.
You worked hard to create that code: A little extra work in selecting an appropriate
theme option will let it shine through.
14
After Zen, the popular “starter theme”, as of February 2009
Code quality Varies widely, Consistent with Consistent with Sample theme
depending on developer’s designer's or demo
the designer's standard, but standard, which available before
skill and limited by can be judged implementation;
resources; knowledge of by past Drupal reputation
theme available theming projects typically vetted
for inspection techniques, and by customer
before Drupal testimonials and
implementation standards and references
practices