Transcript
Page 1: Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)

Don’t design websites.Design web systems!Creating a Drupal-optimized design

Todd Nienkerk and Aaron StanushDrupalCon Copenhagen | August 24, 2010

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

Personal introductions

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

Designers are powerful!

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

Photo: Mary Catherine via Wikimedia Commons (CC BY-SA)

“With great power there must also come... great responsibility!”

—Stan LeeAmazing Fantasy #15, August 1962

(The first Spiderman story)

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

‣ As designers, we communicate a site’s functionality to developers through sitemaps, wireframes, and comps

‣ We are site architects

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

Designing a web system

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

Step 1:Stop! Close Photoshop!

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

You wouldn’t paint a house before building it...

So how can you design a website before architecting it?

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

Before you design, ask:

‣ What’s the purpose of the site?

‣ What kind of content will the site contain?

‣ How will content be organized?

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

Define the site“What’s the purpose of the site?”

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

List your goals

Make money!

Raise awarenessGenerate

buzz

Make money!

Build a community

Make money!

Make money!

Make money!

Make money!

Make money!

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

Business and technical requirements

Browser compatibility

Performance

Accessibility

Target audience

Success factors

SEO requirements

Brand guidelines

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

Define the content“What kind of content will the site contain?”

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

‣ In Drupal, di!erent kinds of content are called content types.

‣ Content types are usually defined by the di!erent information they contain.

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

Blog post

Title

Author

Date published

Body

Lead image

Product

Name

Description

Price

Options (sizes, colors)

Images

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

Create a sitemap and wireframes“How will content be organized?”

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

‣ List all sections of the site

‣ Illustrate how content is organized within the sections

Sitemaps

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

Science Sports Business

About us Contact usTerms of use

My account

Blog post

Home page

Search

User tools

Secondary menu

Primary menu

Blog post Blog post

Most popular

Blog post

Arts

Blog post

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

‣ 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

Wireframes

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

Content

ScienceSportsBusinessArts

Most popularposts

Search

Copyright 2010 BlogCorp, Inc. About us | Contact us | Terms of use

Advertisement

Blog LogoMy account | Log out

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

Brainstorming should happen using wireframes, not design comps or mockups.

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

‣ balsamiq.com

‣ Cross-platform, lots of plugins

‣ Free license for open-source “do-gooders”

‣ Drupal components: bit.ly/drupal-balsamiq

Balsamiq Mockups

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

Step 2:Translate the wireframes into “Drupalspeak”

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

Most Drupal themes are comprised of just a few, basic components.

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

‣ Content

‣ Usually a node, view, or panel

‣ Can also be a user profile or admin interface

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

‣ 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

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

‣ Primary and secondary links

‣ Special kinds of menus

‣ Logo

‣ Search box

‣ Site slogan

‣ Mission statement

‣ Footer message

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

Step 3:Design your site(You may now open Photoshop!)

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

‣ 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

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

CASE STUDY

Spatula CitySpatula City is launching their first website. It will be the largest spatula e-commerce site ever built!

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

Define the site

‣ Build awareness of the Spatula City brand

‣ Be the Amazon.com of online spatula retail

‣ Make money!

Goals‣ Follow branding

guidelines

‣ Short page load times during high tra"c

‣ SEO-friendly

Requirements

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

Define content types‣ Product

‣ Page(e.g. About, Legal)

‣ User profile

‣ Frequently asked question

Product

Name

Description

Price

Color options

Image

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

Create a sitemap

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

Spatulas by type

Spatulas by color

Build-A-Spatula

Retail locations

FAQ Contact us

About us

Search

Terms of use

My account

Spatula page

Home page

Question page

Shopping cart

User tools

Secondary menu

Primary menu

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

Create the wireframes

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

Content

Logo

Top ratedcontent

Promo

Search

Copyright text

Browse by type Browse by color Build-A-Spatula Contact us FAQ

My account Shopping cart Log out

About us Terms of useRetail locations

Menu (block)

Primary links

Search box

Logo

Content (node) Block

Block

Secondary linksFooter message

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

Design it

Page 40: Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Page 41: Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Page 42: Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Page 43: Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Page 44: Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)
Page 45: Don't Design Websites. Design Web SYSTEMS! (DrupalCon Copenhagen 2010)

Content

Logo

Top ratedcontent

Promo

Search

Copyright text

Browse by type Browse by color Build-A-Spatula Contact us FAQ

My account Shopping cart Log out

About us Terms of useRetail locations

Menu (block)

Primary links

Search box

Logo

Content (node) Block

Block

Secondary linksFooter message

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

Menu (block)

Primary links

Search box

Logo

Content (node) Block

Block

Secondary linksFooter message

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

CASE STUDY

Expeditionary LearningWhat happens when all of the planning and designing has been done for you?

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

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

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

Sitemap by Thinkso Creative

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

Sitemap by Thinkso Creative

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

Sitemap by Thinkso Creative

Sections

?

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

Sitemap by Thinkso Creative

Primary menu items

Contexts

Sections

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

Sitemap by Thinkso Creative

Section landing pages

?

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

Sitemap by Thinkso Creative

Section landing pages

Panels?

Views?

Secondary menu

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

Design by Thinkso Creative

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

Search box

Logo

Breadcrumb

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

Secondary links

Primary links

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

Menu (block)

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

Block?

Block?

Block?

Block?

Block?

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

Design by Thinkso Creative

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

Design by Thinkso Creative

Panel!

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

Design by Thinkso Creative

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

Design by Thinkso Creative

Page node

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

Sitemap by Thinkso Creative

Primary menu item

ContextSection

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

Sitemap by Thinkso Creative

PanelSection landing page

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

Sitemap by Thinkso Creative

Section subpages

Page nodes

Secondary menu items

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

(More on this case study later...)

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

Better. Faster. Cheaper.How to accelerate the design and theming phases of your project

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

Don’t start at zero.Start at Drupal.Understand and leverage default Drupal behavior

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

Default output and styling

‣ Know what the default markup and CSS look like

‣ Stark theme: drupal.org/project/stark

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

Drupal 6 Stark theme: drupal.org/project/stark

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

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

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

Core modules

‣ Do you really know what Drupal’s core modules can do?

‣ Aggregator‣ Blog‣ Book‣ Comment‣ Contact‣ Forum

‣ Menu‣ Poll‣ Profile‣ Search‣ Taxonomy

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

Understand Drupal’s theming system

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

Theme defaults

‣ Regions

‣ left sidebar, right sidebar, content, header, and footer

‣ Assigning content to regions:drupal.org/node/171224

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

‣ 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

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

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

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

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

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

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

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

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

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

Use contributed modulesModules can often take the place of complex and time-consuming theming

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

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

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

‣ Views: drupal.org/projects/views

‣ Create lists of content

‣ Arguments allow views to be dynamic

‣ Nodequeue: drupal.org/projects/nodequeue

‣ Create manually curated views

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

‣ 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

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

Themer’s helping hands

‣ Devel and the Theme Developer modules:drupal.org/projects/develdrupal.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

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

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

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

‣ 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

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

‣ Custom Breadcrumbs:drupal.org/project/custom_breadcrumbs

‣ Makes breadcrumb navigation usable

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

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

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

‣ The problem: CCK outputs values one-by-one in their own divs

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

‣ 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!

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

‣ Text Formatter: drupal.org/project/textformatter

‣ Lets you output CCK fields as lists or comma-separated strings

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

Configuring Text Formatter

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

After Text Formatter

No theming required!

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

Design for change

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

‣ 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?

Minimize templates

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

‣ 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?

Accommodate content of any length

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

‣ What happens if menu items are added?

‣ How does your design handle multiple levels of navigation?

Anticipate expanding navigation

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

The site you design today will change tomorrow.

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

Credits‣ Spatula City is based on an idea by

the great Weird Al Yankovic, internationally renowned accordion virtuoso.

‣ The Swedish Chef was created by Jim Henson. Or someone who worked for him. Whatever the case, we didn’t invent him.

‣ Expeditionary Learning sitemaps, mockups, and screenshots are copyright Expeditionary Learning Schools and/or Thinkso Creative.

‣ The items listed above are exempt from this presentation’s Creative Commons license.

‣ This presentation was created and delivered by Todd Nienkerk and Aaron Stanush, co-founders of Four Kitchens.

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

All content in this presentation, except where noted otherwise, is Creative Commons Attribution-ShareAlike 3.0 licensed and copyright 2010 Four Kitchen Studios, LLC.


Top Related