Upgrade Your Drupal Skills
We trained 1,000+ Drupal Developers over the last decade.
See Advanced Courses NAH, I know EnoughTheming Philosophy
In my webinar yesterday with Acquia I talked about my theming philosophy. The webinar had over 900 attendees, so there wasn't a lot of room for discussion. I thought I'd kick off a series of blog posts where we can discuss some of the topics I covered in the talk. First up: my theming philosophy.
Regardless of whether I'm just a lazy front end developer, or a worker bee who values the contribution of the whole hive, I tend to do as little custom work as possible when building my themes. Instead, I pick the best base theme for the site I'm building, create a minimum viable theme (touching the least number of tpl.php files possible) and then theme the remainder of the site based on the user experience. Having a strong user story is really important for this style of theming. You must know every page a visitor will see and ensure that the pages all look right (or at least right enough for your time/money budget).
When building out my themes I focus on three main goals. Even though I see each of them as related to web design, they are not part of the actual design of the site. For example: I don't include user goals or business goals because these are goals that relate only to the theme itself (which is built after those design decisions have been made).
- Budget-Appropriate Web Design
-
- Know your Drupal toolkit. Know your budget.
- Focus on the biggest elements first.
- Work closely with your designer and your client to make sure you get the important things right.
- Theme with the markup you have, not the markup you'd like to have. (This is via Laura Scott.)
- Pixel perfect design is for print. Get over it.
- Accessible Web Design
- “Accessible web design refers to the philosophy and practice of designing web pages so that they can be navigated and read by everyone, regardless of location, experience, or the type of computer technology used.”
Australian Human Rights Commission- Know your guidelines (508 or WAI).
- Use a checklist.
- Use an automated testing suite.
- Test with users.
- Responsive Web Design
- “Any approach that delivers elegant visual experiences regardless of the size of the user’s display and the limitations or capabilities of the device” zeldman.
- Use: http://drupal.org/project/omega (Although I expect all base themes to be responsive by mid-2012 if not sooner.)
If you'd like to hear more about each of these points, you can view the recording of the webinar here.
This is definitely not the only approach to theming. My guess is that others may put more emphasis on semantic markup, or future-proofing theme files for layouts that don't exist yet. What approach do you take when building your Drupal themes?
About Drupal Sun
Drupal Sun is an Evolving Web project. It allows you to:
- Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
- Facet based on tags, author, or feed
- Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
- View the entire article text inline, or in the context of the site where it was created
See the blog post at Evolving Web