SlideShare a Scribd company logo
Don’t design websites.
 Design web systems!
 Creating a Drupal-optimized design




Todd Nienkerk and Aaron Stanush
DrupalCon Copenhagen | August 24, 2010
Personal introductions
Todd Nienkerk
                         Co-founder, designer, and developer
                         Four Kitchens

                         todd@fourkitchens.com

                         @toddross




Photo: Kristin Hillery
Aaron Stanush
Co-founder and designer
Four Kitchens

aaron@fourkitchens.com

@aaronstanush
Designers are powerful!
“With great power
 there must also come...
 great responsibility!”
                                     —Stan Lee
               Amazing Fantasy #15, August 1962
                     (The first Spiderman story)




Photo: Mary Catherine via Wikimedia Commons (CC BY-SA)
‣   As designers, we communicate a site’s
    functionality to developers through sitemaps,
    wireframes, and comps
‣   We are site architects
Designing a web system
Step 1:
Stop! Close Photoshop!
You wouldn’t paint a house before
building it...
So how can you design a website
before architecting it?
Before you design, ask:
‣   What’s the purpose of the site?
‣   What kind of content will the site contain?
‣   How will content be organized?
Define the site
“What’s the purpose of the site?”
List your goals

                   Build a
                 community                         Raise
  Generate
                                                 awareness
    buzz
                  Make
                 money!         Make
                               money!




 Make money!                                Make money!
                           Make
                          money!
                Make                     Make
               money!                   money!
Business and technical
requirements
   Brand          Target audience        SEO
 guidelines                          requirements


                                      Browser
  Accessibility
                                    compatibility

         Performance         Success factors
Define the content
“What kind of content will the site contain?”
‣   In Drupal, di erent kinds of content are called
    content types.
‣   Content types are usually defined by the di erent
    information they contain.
Blog post        Product
Title            Name

Author           Description

Date published   Price

Body             Options (sizes, colors)

Lead image       Images
Create a sitemap and
wireframes
“How will content be organized?”
Sitemaps
‣   List all sections of the site
‣   Illustrate how content is organized within the
    sections
Home
page

  Primary menu
                                                             Most
   Science       Sports           Business        Arts
                                                            popular


   Blog post     Blog post        Blog post     Blog post   Blog post




  Secondary menu
   About us        Terms of use          Contact us



  User tools
  My account        Search
Wireframes
‣   Illustrate page layout and functionality
‣   Demonstrate how a user will navigate the site
‣   Identify dynamically-generated content areas
‣   Use placement of key components to reinforce the
    goals of the site
    ‣   Shopping cart icon, Revenue-generating ads
My account | Log out
           Blog Logo
                                                                Search

Science
Sports
                                                             Most popular
Business
                                                                posts
Arts


                                Content


                                                             Advertisement




Copyright 2010 BlogCorp, Inc.             About us | Contact us | Terms of use
Brainstorming should happen using
wireframes, not design comps or
mockups.
Balsamiq Mockups
‣   balsamiq.com
‣   Cross-platform, lots
    of plugins
‣   Free license for open-
    source “do-gooders”
‣   Drupal components:
    bit.ly/drupal-balsamiq
Step 2:
Translate the wireframes
into “Drupalspeak”
Most Drupal themes are comprised of
just a few, basic components.
‣   Content
    ‣   Usually a node, view, or panel
    ‣   Can also be a user profile or admin interface
‣   Blocks
    ‣   Can contain virtually anything: user login, menus,
        lists of content, custom HTML, views...
    ‣   Appear in regions (usually sidebars, but
        sometimes in the header or footer regions)
‣   Menus
    ‣   Added to the page as blocks
‣   Primary and secondary links
    ‣   Special kinds of menus
‣   Logo
‣   Search box
‣   Site slogan
‣   Mission statement
‣   Footer message
Step 3:
Design your site
(You may now open Photoshop!)
‣   Now you can make informed decisions about how
    to create a compelling and e ective design
‣   Use your wireframes as blueprints
‣   Let the theme components inform your design
CASE STUDY


Spatula City
Spatula City is launching their first website. It will be
the largest spatula e-commerce site ever built!
Define the site
Goals                          Requirements
‣   Build awareness of         ‣   Follow branding
    the Spatula City brand         guidelines
‣   Be the Amazon.com          ‣   Short page load times
    of online spatula retail       during high tra c
‣   Make money!                ‣   SEO-friendly
Define content types
‣   Product               Product
‣   Page                  Name
    (e.g. About, Legal)
                          Description
‣   User profile
                          Price
‣   Frequently asked
                          Color options
    question
                          Image
Create a sitemap
Home
page

  Primary menu
   Spatulas           Spatulas        Build-A-
                                                     FAQ         Contact us
   by type            by color        Spatula

                                                           Question
       Spatula page
                                                            page



  Secondary menu
  Retail locations         About us       Terms of use


  User tools
  My account           Shopping cart        Search
Create the wireframes
Logo                                                      Menu (block)
                                                        My account Shopping cart Log out
         Logo                                                         Search box
                                                                        Search
                                   Primary links
Browse by type   Browse by color   Build-A-Spatula       Contact us               FAQ

                   Content (node)                                         Block


                                                                        Top rated
                                                                         content

                       Content
                                                                          Block

                                                                         Promo


         Footer message                                         Secondary links
Copyright text                                       About us    Retail locations Terms of use
Design it
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Logo                                                      Menu (block)
                                                        My account Shopping cart Log out
         Logo                                                         Search box
                                                                        Search
                                   Primary links
Browse by type   Browse by color   Build-A-Spatula       Contact us               FAQ

                   Content (node)                                         Block


                                                                        Top rated
                                                                         content

                       Content
                                                                          Block

                                                                         Promo


         Footer message                                         Secondary links
Copyright text                                       About us    Retail locations Terms of use
Logo                             Menu (block)

                                  Search box

                 Primary links

   Content (node)                    Block




                                     Block




Footer message                   Secondary links
CASE STUDY


Expeditionary Learning
What happens when all of the planning and
designing has been done for you?
Working with a provided
design
‣   Expeditionary Learning partnered with Thinkso
    Creative and Four Kitchens to relaunch their brand
    and website
‣   Thinkso Creative provided the site design
‣   They had never worked with Drupal before
Sitemap by Thinkso Creative
Sitemap by Thinkso Creative
?




                  Sections



Sitemap by Thinkso Creative
Primary
                              menu items
          Sections
                               Contexts




Sitemap by Thinkso Creative
?




                    Section
                 landing pages


Sitemap by Thinkso Creative
Panels?

        Section                Views?
     landing pages

                              Secondary
                                menu




Sitemap by Thinkso Creative
Design by Thinkso Creative
Logo




Breadcrumb   Search box
Primary links




Secondary links
Menu (block)
Block?



Block?




Block?




Block?
                  Block?
Design by Thinkso Creative
Panel!




Design by Thinkso Creative
Design by Thinkso Creative
Page
                             node




Design by Thinkso Creative
Primary
                              menu item
           Section
                               Context




Sitemap by Thinkso Creative
Section              Panel
      landing page




Sitemap by Thinkso Creative
Secondary
                              menu items
          Section
         subpages
                              Page nodes




Sitemap by Thinkso Creative
(More on this case study later...)
Better. Faster. Cheaper.
How to accelerate the design and theming phases
of your project
Don’t start at zero.
Start at Drupal.
Understand and leverage default Drupal behavior
Default output and styling
‣   Know what the default markup and CSS look like
‣   Stark theme: drupal.org/project/stark
Drupal 6 Stark theme: drupal.org/project/stark
Default blocks and menus
‣   Default blocks
    ‣   User login, Recent comments, Who’s online,
        Who’s new, and more...
‣   Default menus
    ‣   Navigation
    ‣   Primary and Secondary links
Core modules
‣   Do you really know what Drupal’s core modules
    can do?

              ‣   Aggregator ‣ Menu
              ‣   Blog       ‣   Poll
              ‣   Book       ‣   Profile
              ‣   Comment    ‣   Search
              ‣   Contact    ‣   Taxonomy
              ‣   Forum
Understand Drupal’s
theming system
Theme defaults
‣   Regions
    ‣   left sidebar, right sidebar, content, header, and
        footer
    ‣   Assigning content to regions:
        drupal.org/node/171224
‣   Variables printed in the template files
    ‣   $content, $logo, $submitted, $terms, $links...

‣   Available variables are listed at the top of each
    template file
    ‣   Pages: /modules/system/page.tpl.php
    ‣   Blocks: /modules/system/block.tpl.php
    ‣   Nodes: /modules/node/node.tpl.php
    ‣   Comments: /modules/comment/comment.tpl.php
Theme settings
‣   Upload a logo and bookmark icon (favicon)
‣   Add copy: site slogan, mission statement, and
    footer message
‣   Show and hide node authoring information by
    content type
‣   Enable user pictures (avatars) in nodes and
    comments
Use template suggestions
‣   You’re not limited to a single template
    ‣   Each content type can have its own node.tpl.php
        file
    ‣   Example: node-blog.tpl.php overrides and a ects
        only “blog” content types
‣   Learn more: drupal.org/node/190815
Subtheme
‣   Subthemes inherit resources from its base theme
    ‣   Zen: drupal.org/project/zen
    ‣   Fusion: drupal.org/project/fusion
    ‣   More! mogdesign.eu/blog/19-base-themes-for-
        drupal
‣   Structure and inheritance: drupal.org/node/225125
Use a grid system
‣   NineSixty: drupal.org/project/ninesixty
    ‣   Drupal port of the 960.gs grid system
    ‣   Zen NineSixty: drupal.org/project/zen_ninesixty
    ‣   960 Robots: drupal.org/project/ninesixtyrobots
‣   Blueprint: drupal.org/project/blueprint
    ‣   Drupal port of the Blueprint CSS framework
Use contributed modules
Modules can often take the place of complex and
time-consuming theming
Monster modules
‣   Content Construction Kit (CCK):
    drupal.org/project/cck
    ‣   Add virtually any kind of data to nodes
    ‣   Isolate and control user-added data
    ‣   Individually theme each piece of data
‣   Views: drupal.org/projects/views
    ‣   Create lists of content
    ‣   Arguments allow views to be dynamic
‣   Nodequeue: drupal.org/projects/nodequeue
    ‣   Create manually curated views
‣   Panels: drupal.org/projects/panels
    ‣   Create rich layouts without using multiple page
        templates or extra regions
    ‣   New layouts are easily added at the theme layer
Themer’s helping hands
‣   Devel and the Theme Developer modules:
    drupal.org/projects/devel
    drupal.org/projects/devel_themer
‣   Administration themes make the admin UI pretty
    (so you don’t have to)
    ‣   Admin: drupal.org/projects/admin
    ‣   Seven: drupal.org/project/seven
Wrangling navigation
elements
‣   Menu attributes:
    drupal.org/project/menu_attributes
    ‣   Add IDs, classes, rel, target, and other attributes
        to menu items
‣   Context: drupal.org/project/context
    ‣   Enables you to define “sections” and enforce
        active menu trails
‣   Menu Block: drupal.org/project/menu_block
    ‣   Drupal’s primary and secondary menus only
        support two levels
    ‣   Create robust, multi-level menus
‣   Context Menu Block:
    drupal.org/project/context_menu_block
    ‣   Integrates Menu Block with the Context module
‣   Custom Breadcrumbs:
    drupal.org/project/custom_breadcrumbs
    ‣   Makes breadcrumb navigation usable
Little modules can save
you hours of theming
‣   Someone else has probably run into your problem
    before... and solved it
‣   The trick is finding the module
‣   The problem: CCK outputs values one-by-one in
    their own divs
‣   The (theme) solution:
    ‣   Override the CCK field’s template file
    ‣   Write PHP to output each field separated by a
        comma
‣   There’s got to be a better way!
‣   Text Formatter: drupal.org/project/textformatter
    ‣   Lets you output CCK fields as lists or comma-
        separated strings
Configuring Text Formatter
After Text Formatter




              No theming required!
Design for change
Minimize templates
‣   More templates mean more maintenance
‣   Consistent styling across templates creates a
    better user experience
‣   Create a robust default template
    ‣   What happens if a site administrator creates a
        new content type without creating a new
        template?
Accommodate content of
any length
‣   Your design should be robust enough to handle
    short and long content
‣   What happens if your title wraps to two or three
    lines?
‣   What about the menu items?
Anticipate expanding
navigation
‣   What happens if menu items are added?
‣   How does your design handle multiple levels of
    navigation?
The site you design today
will change tomorrow.
Credits
‣   Spatula City is based on an idea by   ‣   The items listed above are exempt
    the great Weird Al Yankovic,              from this presentation’s Creative
    internationally renowned accordion        Commons license.
    virtuoso.
                                          ‣   This presentation was created and
‣   The Swedish Chef was created by           delivered by Todd Nienkerk and
    Jim Henson. Or someone who                Aaron Stanush, co-founders of
    worked for him. Whatever the              Four Kitchens.
    case, we didn’t invent him.

‣   Expeditionary Learning sitemaps,
    mockups, and screenshots are
    copyright Expeditionary Learning
    Schools and/or Thinkso Creative.
All content in this presentation, except where noted otherwise, is Creative Commons Attribution-
ShareAlike 3.0 licensed and copyright 2010 Four Kitchen Studios, LLC.

More Related Content

PDF
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
PDF
All starrs 9-12-11
PDF
Information Markets - A Workshop Approach
PDF
Building a Prototype Without an Engineer
PDF
Website Architecture: Sitemap & Wireframes
PDF
Ap Ams Bill
PDF
Chapter 2 | Website design & development - pf
PDF
Chapter 2 | Website design & development
From Photoshop to Drupal Theme (DrupalCon San Francisco 2010)
All starrs 9-12-11
Information Markets - A Workshop Approach
Building a Prototype Without an Engineer
Website Architecture: Sitemap & Wireframes
Ap Ams Bill
Chapter 2 | Website design & development - pf
Chapter 2 | Website design & development

Viewers also liked (20)

PDF
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
KEY
Building Responsive Websites and Apps with Drupal
PDF
Making drupal beautiful with web fonts
PDF
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
PDF
The Web Chef Cookbook
KEY
The state of web typography
PDF
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
KEY
Designing future proof websites
PDF
The type revolutionary's cookbook
PDF
Open-source and no-cost tools for collaboration
PDF
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
PDF
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
PDF
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
PDF
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
PDF
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
PDF
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
PDF
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
PDF
Drupal theming using the 960.gs grid system
PDF
TIC MAGAZINE Edition N°07
PDF
VIEWLEX # 08
Don't Design Websites. Design Web SYSTEMS! (UT Austin Drupal Users Group)
Building Responsive Websites and Apps with Drupal
Making drupal beautiful with web fonts
Don't Design Websites. Design Web SYSTEMS! (Dallas Drupal Days 2011)
The Web Chef Cookbook
The state of web typography
Don't Design Websites. Design Web SYSTEMS! (BADCamp 2011)
Designing future proof websites
The type revolutionary's cookbook
Open-source and no-cost tools for collaboration
Accelerated grid theming using NineSixty (Dallas Drupal Days 2011)
Accelerated grid theming using NineSixty (DrupalCon San Francisco 2010)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2010)
Don't Design Websites. Design Web SYSTEMS! (DrupalCon London 2011)
No RFPs! Why requests for proposal are bad for business (and how we can stop ...
Accelerated grid theming using NineSixty (DrupalCamp LA 2011)
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp Stockholm 2011)
Drupal theming using the 960.gs grid system
TIC MAGAZINE Edition N°07
VIEWLEX # 08
Ad

Similar to Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010) (20)

PDF
SEO and Your Website; What's Possible
PDF
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
PDF
Introduction to Search Engine Optimization
PPTX
eCommerce Master Class
PDF
Search Engine Marketing (SEM)
PDF
Selling You & Your Services Drupalcon 2009
PPT
Process for Online Visibility: From Information Architecture to Killer Content
PDF
MITEF - Bootstrapping Freeconomics
PPT
Building An Online Marketing Strategy
PPTX
Blogging For Business
PPT
Web Design & Internet Marketing Basics - Brody Dorland, Something Creative, Inc.
PPT
what makes a good website February 2011 North Manchester
PDF
Communicating with Web 2.0
PPTX
Search engine optimization (seo) process
PDF
Digital Marketing For Startups
PDF
Marketing & Sales - Founder institute Brussels
PPT
Content That Converts
PDF
101005 cipr
PDF
How to Price Quality Content
PPTX
Managing your web content successfully
SEO and Your Website; What's Possible
Don't Design Websites. Design Web SYSTEMS! (DrupalCon Chicago 2011)
Introduction to Search Engine Optimization
eCommerce Master Class
Search Engine Marketing (SEM)
Selling You & Your Services Drupalcon 2009
Process for Online Visibility: From Information Architecture to Killer Content
MITEF - Bootstrapping Freeconomics
Building An Online Marketing Strategy
Blogging For Business
Web Design & Internet Marketing Basics - Brody Dorland, Something Creative, Inc.
what makes a good website February 2011 North Manchester
Communicating with Web 2.0
Search engine optimization (seo) process
Digital Marketing For Startups
Marketing & Sales - Founder institute Brussels
Content That Converts
101005 cipr
How to Price Quality Content
Managing your web content successfully
Ad

More from Four Kitchens (11)

PDF
Four Kitchens Presents: Future of the CMS
PDF
Four Kitchens: We make BIG websites
PDF
Big Websites for Small Screens: ICANN.org Case Study
PDF
UX design for every screen
PDF
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
KEY
Intro to Drush
KEY
Teaching Drupal
KEY
Big Websites
KEY
PHP for NonProgrammers (DrupalCon SF 2010)
PDF
Accelerated grid theming using NineSixty (DrupalCamp Dallas)
PDF
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)
Four Kitchens Presents: Future of the CMS
Four Kitchens: We make BIG websites
Big Websites for Small Screens: ICANN.org Case Study
UX design for every screen
Don't Design Websites. Design Web SYSTEMS! (DrupalCamp LA 2011)
Intro to Drush
Teaching Drupal
Big Websites
PHP for NonProgrammers (DrupalCon SF 2010)
Accelerated grid theming using NineSixty (DrupalCamp Dallas)
Accelerated grid theming using NineSixty (Drupal Design Camp Boston 2009)

Recently uploaded (20)

PPT
WHY_R12 Uaafafafpgradeaffafafafaffff.ppt
PPTX
areprosthodontics and orthodonticsa text.pptx
DOCX
actividad 20% informatica microsoft project
PPTX
building Planning Overview for step wise design.pptx
PPTX
DOC-20250430-WA0014._20250714_235747_0000.pptx
PPTX
ANATOMY OF ANTERIOR CHAMBER ANGLE AND GONIOSCOPY.pptx
PDF
Integrated-2D-and-3D-Animation-Bridging-Dimensions-for-Impactful-Storytelling...
PPTX
Wisp Textiles: Where Comfort Meets Everyday Style
PPTX
Special finishes, classification and types, explanation
PPTX
joggers park landscape assignment bandra
PPT
Machine printing techniques and plangi dyeing
PDF
The Advantages of Working With a Design-Build Studio
PPTX
6- Architecture design complete (1).pptx
PDF
Facade & Landscape Lighting Techniques and Trends.pptx.pdf
PDF
Emailing DDDX-MBCaEiB.pdf DDD_Europe_2022_Intro_to_Context_Mapping_pdf-165590...
PPTX
Entrepreneur intro, origin, process, method
PDF
Urban Design Final Project-Site Analysis
PPTX
Complete Guide to Microsoft PowerPoint 2019 – Features, Tools, and Tips"
PPTX
rapid fire quiz in your house is your india.pptx
PDF
UNIT 1 Introduction fnfbbfhfhfbdhdbdto Java.pptx.pdf
WHY_R12 Uaafafafpgradeaffafafafaffff.ppt
areprosthodontics and orthodonticsa text.pptx
actividad 20% informatica microsoft project
building Planning Overview for step wise design.pptx
DOC-20250430-WA0014._20250714_235747_0000.pptx
ANATOMY OF ANTERIOR CHAMBER ANGLE AND GONIOSCOPY.pptx
Integrated-2D-and-3D-Animation-Bridging-Dimensions-for-Impactful-Storytelling...
Wisp Textiles: Where Comfort Meets Everyday Style
Special finishes, classification and types, explanation
joggers park landscape assignment bandra
Machine printing techniques and plangi dyeing
The Advantages of Working With a Design-Build Studio
6- Architecture design complete (1).pptx
Facade & Landscape Lighting Techniques and Trends.pptx.pdf
Emailing DDDX-MBCaEiB.pdf DDD_Europe_2022_Intro_to_Context_Mapping_pdf-165590...
Entrepreneur intro, origin, process, method
Urban Design Final Project-Site Analysis
Complete Guide to Microsoft PowerPoint 2019 – Features, Tools, and Tips"
rapid fire quiz in your house is your india.pptx
UNIT 1 Introduction fnfbbfhfhfbdhdbdto Java.pptx.pdf

Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)

  • 1. Don’t design websites. Design web systems! Creating a Drupal-optimized design Todd Nienkerk and Aaron Stanush DrupalCon Copenhagen | August 24, 2010
  • 3. Todd Nienkerk Co-founder, designer, and developer Four Kitchens todd@fourkitchens.com @toddross Photo: Kristin Hillery
  • 4. Aaron Stanush Co-founder and designer Four Kitchens aaron@fourkitchens.com @aaronstanush
  • 6. “With great power there must also come... great responsibility!” —Stan Lee Amazing Fantasy #15, August 1962 (The first Spiderman story) Photo: Mary Catherine via Wikimedia Commons (CC BY-SA)
  • 7. As designers, we communicate a site’s functionality to developers through sitemaps, wireframes, and comps ‣ We are site architects
  • 9. Step 1: Stop! Close Photoshop!
  • 10. You wouldn’t paint a house before building it... So how can you design a website before architecting it?
  • 11. Before you design, ask: ‣ What’s the purpose of the site? ‣ What kind of content will the site contain? ‣ How will content be organized?
  • 12. Define the site “What’s the purpose of the site?”
  • 13. List your goals Build a community Raise Generate awareness buzz Make money! Make money! Make money! Make money! Make money! Make Make money! money!
  • 14. Business and technical requirements Brand Target audience SEO guidelines requirements Browser Accessibility compatibility Performance Success factors
  • 15. Define the content “What kind of content will the site contain?”
  • 16. In Drupal, di erent kinds of content are called content types. ‣ Content types are usually defined by the di erent information they contain.
  • 17. Blog post Product Title Name Author Description Date published Price Body Options (sizes, colors) Lead image Images
  • 18. Create a sitemap and wireframes “How will content be organized?”
  • 19. Sitemaps ‣ List all sections of the site ‣ Illustrate how content is organized within the sections
  • 20. Home page Primary menu Most Science Sports Business Arts popular Blog post Blog post Blog post Blog post Blog post Secondary menu About us Terms of use Contact us User tools My account Search
  • 21. Wireframes ‣ Illustrate page layout and functionality ‣ Demonstrate how a user will navigate the site ‣ Identify dynamically-generated content areas ‣ Use placement of key components to reinforce the goals of the site ‣ Shopping cart icon, Revenue-generating ads
  • 22. My account | Log out Blog Logo Search Science Sports Most popular Business posts Arts Content Advertisement Copyright 2010 BlogCorp, Inc. About us | Contact us | Terms of use
  • 23. Brainstorming should happen using wireframes, not design comps or mockups.
  • 24. Balsamiq Mockups ‣ balsamiq.com ‣ Cross-platform, lots of plugins ‣ Free license for open- source “do-gooders” ‣ Drupal components: bit.ly/drupal-balsamiq
  • 25. Step 2: Translate the wireframes into “Drupalspeak”
  • 26. Most Drupal themes are comprised of just a few, basic components.
  • 27. Content ‣ Usually a node, view, or panel ‣ Can also be a user profile or admin interface
  • 28. Blocks ‣ Can contain virtually anything: user login, menus, lists of content, custom HTML, views... ‣ Appear in regions (usually sidebars, but sometimes in the header or footer regions) ‣ Menus ‣ Added to the page as blocks
  • 29. Primary and secondary links ‣ Special kinds of menus ‣ Logo ‣ Search box ‣ Site slogan ‣ Mission statement ‣ Footer message
  • 30. Step 3: Design your site (You may now open Photoshop!)
  • 31. Now you can make informed decisions about how to create a compelling and e ective design ‣ Use your wireframes as blueprints ‣ Let the theme components inform your design
  • 32. CASE STUDY Spatula City Spatula City is launching their first website. It will be the largest spatula e-commerce site ever built!
  • 33. Define the site Goals Requirements ‣ Build awareness of ‣ Follow branding the Spatula City brand guidelines ‣ Be the Amazon.com ‣ Short page load times of online spatula retail during high tra c ‣ Make money! ‣ SEO-friendly
  • 34. Define content types ‣ Product Product ‣ Page Name (e.g. About, Legal) Description ‣ User profile Price ‣ Frequently asked Color options question Image
  • 36. Home page Primary menu Spatulas Spatulas Build-A- FAQ Contact us by type by color Spatula Question Spatula page page Secondary menu Retail locations About us Terms of use User tools My account Shopping cart Search
  • 38. Logo Menu (block) My account Shopping cart Log out Logo Search box Search Primary links Browse by type Browse by color Build-A-Spatula Contact us FAQ Content (node) Block Top rated content Content Block Promo Footer message Secondary links Copyright text About us Retail locations Terms of use
  • 45. Logo Menu (block) My account Shopping cart Log out Logo Search box Search Primary links Browse by type Browse by color Build-A-Spatula Contact us FAQ Content (node) Block Top rated content Content Block Promo Footer message Secondary links Copyright text About us Retail locations Terms of use
  • 46. Logo Menu (block) Search box Primary links Content (node) Block Block Footer message Secondary links
  • 47. CASE STUDY Expeditionary Learning What happens when all of the planning and designing has been done for you?
  • 48. Working with a provided design ‣ Expeditionary Learning partnered with Thinkso Creative and Four Kitchens to relaunch their brand and website ‣ Thinkso Creative provided the site design ‣ They had never worked with Drupal before
  • 49. Sitemap by Thinkso Creative
  • 50. Sitemap by Thinkso Creative
  • 51. ? Sections Sitemap by Thinkso Creative
  • 52. Primary menu items Sections Contexts Sitemap by Thinkso Creative
  • 53. ? Section landing pages Sitemap by Thinkso Creative
  • 54. Panels? Section Views? landing pages Secondary menu Sitemap by Thinkso Creative
  • 55. Design by Thinkso Creative
  • 56. Logo Breadcrumb Search box
  • 60. Design by Thinkso Creative
  • 62. Design by Thinkso Creative
  • 63. Page node Design by Thinkso Creative
  • 64. Primary menu item Section Context Sitemap by Thinkso Creative
  • 65. Section Panel landing page Sitemap by Thinkso Creative
  • 66. Secondary menu items Section subpages Page nodes Sitemap by Thinkso Creative
  • 67. (More on this case study later...)
  • 68. Better. Faster. Cheaper. How to accelerate the design and theming phases of your project
  • 69. Don’t start at zero. Start at Drupal. Understand and leverage default Drupal behavior
  • 70. Default output and styling ‣ Know what the default markup and CSS look like ‣ Stark theme: drupal.org/project/stark
  • 71. Drupal 6 Stark theme: drupal.org/project/stark
  • 72. Default blocks and menus ‣ Default blocks ‣ User login, Recent comments, Who’s online, Who’s new, and more... ‣ Default menus ‣ Navigation ‣ Primary and Secondary links
  • 73. Core modules ‣ Do you really know what Drupal’s core modules can do? ‣ Aggregator ‣ Menu ‣ Blog ‣ Poll ‣ Book ‣ Profile ‣ Comment ‣ Search ‣ Contact ‣ Taxonomy ‣ Forum
  • 75. Theme defaults ‣ Regions ‣ left sidebar, right sidebar, content, header, and footer ‣ Assigning content to regions: drupal.org/node/171224
  • 76. Variables printed in the template files ‣ $content, $logo, $submitted, $terms, $links... ‣ Available variables are listed at the top of each template file ‣ Pages: /modules/system/page.tpl.php ‣ Blocks: /modules/system/block.tpl.php ‣ Nodes: /modules/node/node.tpl.php ‣ Comments: /modules/comment/comment.tpl.php
  • 77. Theme settings ‣ Upload a logo and bookmark icon (favicon) ‣ Add copy: site slogan, mission statement, and footer message ‣ Show and hide node authoring information by content type ‣ Enable user pictures (avatars) in nodes and comments
  • 78. Use template suggestions ‣ You’re not limited to a single template ‣ Each content type can have its own node.tpl.php file ‣ Example: node-blog.tpl.php overrides and a ects only “blog” content types ‣ Learn more: drupal.org/node/190815
  • 79. Subtheme ‣ Subthemes inherit resources from its base theme ‣ Zen: drupal.org/project/zen ‣ Fusion: drupal.org/project/fusion ‣ More! mogdesign.eu/blog/19-base-themes-for- drupal ‣ Structure and inheritance: drupal.org/node/225125
  • 80. Use a grid system ‣ NineSixty: drupal.org/project/ninesixty ‣ Drupal port of the 960.gs grid system ‣ Zen NineSixty: drupal.org/project/zen_ninesixty ‣ 960 Robots: drupal.org/project/ninesixtyrobots ‣ Blueprint: drupal.org/project/blueprint ‣ Drupal port of the Blueprint CSS framework
  • 81. Use contributed modules Modules can often take the place of complex and time-consuming theming
  • 82. Monster modules ‣ Content Construction Kit (CCK): drupal.org/project/cck ‣ Add virtually any kind of data to nodes ‣ Isolate and control user-added data ‣ Individually theme each piece of data
  • 83. Views: drupal.org/projects/views ‣ Create lists of content ‣ Arguments allow views to be dynamic ‣ Nodequeue: drupal.org/projects/nodequeue ‣ Create manually curated views
  • 84. Panels: drupal.org/projects/panels ‣ Create rich layouts without using multiple page templates or extra regions ‣ New layouts are easily added at the theme layer
  • 85. Themer’s helping hands ‣ Devel and the Theme Developer modules: drupal.org/projects/devel drupal.org/projects/devel_themer ‣ Administration themes make the admin UI pretty (so you don’t have to) ‣ Admin: drupal.org/projects/admin ‣ Seven: drupal.org/project/seven
  • 86. Wrangling navigation elements ‣ Menu attributes: drupal.org/project/menu_attributes ‣ Add IDs, classes, rel, target, and other attributes to menu items ‣ Context: drupal.org/project/context ‣ Enables you to define “sections” and enforce active menu trails
  • 87. Menu Block: drupal.org/project/menu_block ‣ Drupal’s primary and secondary menus only support two levels ‣ Create robust, multi-level menus ‣ Context Menu Block: drupal.org/project/context_menu_block ‣ Integrates Menu Block with the Context module
  • 88. Custom Breadcrumbs: drupal.org/project/custom_breadcrumbs ‣ Makes breadcrumb navigation usable
  • 89. Little modules can save you hours of theming ‣ Someone else has probably run into your problem before... and solved it ‣ The trick is finding the module
  • 90. The problem: CCK outputs values one-by-one in their own divs
  • 91. The (theme) solution: ‣ Override the CCK field’s template file ‣ Write PHP to output each field separated by a comma ‣ There’s got to be a better way!
  • 92. Text Formatter: drupal.org/project/textformatter ‣ Lets you output CCK fields as lists or comma- separated strings
  • 94. After Text Formatter No theming required!
  • 96. Minimize templates ‣ More templates mean more maintenance ‣ Consistent styling across templates creates a better user experience ‣ Create a robust default template ‣ What happens if a site administrator creates a new content type without creating a new template?
  • 97. Accommodate content of any length ‣ Your design should be robust enough to handle short and long content ‣ What happens if your title wraps to two or three lines? ‣ What about the menu items?
  • 98. Anticipate expanding navigation ‣ What happens if menu items are added? ‣ How does your design handle multiple levels of navigation?
  • 99. The site you design today will change tomorrow.
  • 100. Credits ‣ Spatula City is based on an idea by ‣ The items listed above are exempt the great Weird Al Yankovic, from this presentation’s Creative internationally renowned accordion Commons license. virtuoso. ‣ This presentation was created and ‣ The Swedish Chef was created by delivered by Todd Nienkerk and Jim Henson. Or someone who Aaron Stanush, co-founders of worked for him. Whatever the Four Kitchens. case, we didn’t invent him. ‣ Expeditionary Learning sitemaps, mockups, and screenshots are copyright Expeditionary Learning Schools and/or Thinkso Creative.
  • 101. All content in this presentation, except where noted otherwise, is Creative Commons Attribution- ShareAlike 3.0 licensed and copyright 2010 Four Kitchen Studios, LLC.