Designing with patterns in the real world

58
Designing with Patterns in the Real World Lessons from Yahoo! and Comcast IA Summit, Miami, April 14, 2008 Christian Crumlish, design.yahoo.com

description

One half of a presentation from the IA Summit 2008 in Miami, Florida, addressing lessons from the Yahoo! experience. Co-presenter was Austin Govella, presenting learnings from Comcast.

Transcript of Designing with patterns in the real world

Page 1: Designing with patterns in the real world

Designing withPatterns in the Real World

Lessons from Yahoo! and Comcast

IA Summit, Miami, April 14, 2008

Christian Crumlish, design.yahoo.com

Page 2: Designing with patterns in the real world

- -

Efficiency

Page 3: Designing with patterns in the real world

- -

Efficiency

• Can you streamline web design and development with design patterns?

Page 4: Designing with patterns in the real world

- -

Efficiency

• Can you streamline web design and development with design patterns?

• Really?

Page 5: Designing with patterns in the real world

- -

Efficiency

• Can you streamline web design and development with design patterns?

• Really?

• How?

Page 6: Designing with patterns in the real world

- -

A Brief History of Pattern Languages

Architecture

Page 7: Designing with patterns in the real world

- -

A Brief History of Pattern Languages

Software Engineering (enter wiki)

Page 8: Designing with patterns in the real world

- -

A Brief History of Pattern Languages

User Interface (HCI or Interaction Design)

Page 9: Designing with patterns in the real world

- -

Yahoo’s Pattern Library (so far)

Launched in 2005:

Erin Malone

Matt Leacock

Chanel Wheeler

Page 10: Designing with patterns in the real world

- -

Yahoo’s Pattern Library (so far)

Open Version of Library Launched in 2006:

Bill Scott

succeeds

Matt as curator

& adds many

rich patterns

Page 11: Designing with patterns in the real world

- -

My Role

Page 12: Designing with patterns in the real world

- -

My Role

Curator…

Page 13: Designing with patterns in the real world

- -

My Role

Curator…

Page 14: Designing with patterns in the real world

- -

My Role

Curator…

Page 15: Designing with patterns in the real world

- -

My Role

Curator…

Page 16: Designing with patterns in the real world

- -

My Role

Curator…

Page 17: Designing with patterns in the real world

- -

My Role

Curator…

Page 18: Designing with patterns in the real world

- -

My Role

Curator…

Librarian…

Page 19: Designing with patterns in the real world

- -

My Role

Curator…

Librarian…

Page 20: Designing with patterns in the real world

- -

My Role

Curator…

Librarian…

Page 21: Designing with patterns in the real world

- -

My Role

Curator…

Librarian…

or… Detective?

Page 22: Designing with patterns in the real world

- -

My Role

Curator…

Librarian…

or… Detective?

Page 23: Designing with patterns in the real world

- -

What Are Patterns For?

• Avoid reinventing the wheel

• Promote a familiar user experience for our customers

• Free up designers to do innovative leading-edge work

Page 24: Designing with patterns in the real world

- -

One Company, 100 Designs

Page 25: Designing with patterns in the real world

- -

Innovation

Page 26: Designing with patterns in the real world

- -

Innovation

• Do design patterns stifle innovation?

Page 27: Designing with patterns in the real world

- -

Innovation

• Do design patterns stifle innovation?

• No.

Page 28: Designing with patterns in the real world

- -

Innovation

• Do design patterns stifle innovation?

• No.

• Now shut up and do your wireframe.

Page 29: Designing with patterns in the real world

- -

So What Exactly is a Pattern?

• The essence of a pattern:• Problem (what does the user want?)

• Solution (how to meet the user’s needs)

• Context (when to use it)

• Examples (pictures, links)

• High-level, based on principles

• Linking to related specs and documentation (which can change more frequently)

Page 30: Designing with patterns in the real world

- -

How our user experience designers contribute

• Check the library

• Give Feedback

• Suggest a Pattern

• Help write or review a pattern

Page 31: Designing with patterns in the real world

- -

Give feedback…

• Comment on patterns

• Make suggestions about how to improve them

• Complain about patterns that seem out-of-date

• Discuss them on our design lists

• Edit a pattern

• Ask me for help

Page 32: Designing with patterns in the real world

- -

The Burrito Trap

Page 33: Designing with patterns in the real world

- -

Suggest a pattern…

• Looked for a pattern and couldn’t find one?

• Developing something cool on your property?

• Notice a (needless) inconsistency across Yahoo! sites?

• Notice an emerging trend here or elsewhere around the Web?

Page 34: Designing with patterns in the real world

- -

Help write or review a pattern

• I post requests on designer list

• Designers can just review drafts or offer suggestions

• Designers can submit diagrams or wireframes or templates

Page 35: Designing with patterns in the real world

- -

I interview the designer: the debriefing

• We sit down for 45 minutes

• They talk me through a solution

• They point me to their specs

• I write a first draft

• The designer gives feedback

Page 36: Designing with patterns in the real world

- -

The Pattern Writing Process

• Context

• Problem

• Solution

• Example

• Name it!

Page 37: Designing with patterns in the real world

- -

Examples and Illustrations are Key

Page 38: Designing with patterns in the real world

- -

Editing and Reviewing

• We invite volunteers to review

• I do some editing

• When ready, we ask the “official” pattern library reviewers to weigh in

Page 39: Designing with patterns in the real world

- -

Rating the Patterns

Assign a “level of adherence” rating:

• Working Solution

– Recommended starting point for any new design

– Designer may adapt as needed

• Best Practice

– Strongly recommended

– Requires manager’s permission to deviate

• The Yahoo! Way

– Mandatory

– Requires extremely high level permission to deviate

Page 40: Designing with patterns in the real world

- -

Keeping Patterns Fresh

• Age-dating patterns (credibility, authority)

• Quarterly review of existing patterns

• Tuning in to user feedback

• Revision and Upkeep

– Marking patterns as under re-review

– Recruiting authors to update or supplant

• Retiring obsolete patterns (quality over quantity!)

Page 41: Designing with patterns in the real world

- -

Peeve-Driven Patterns (Fixing Antipatterns)

Page 42: Designing with patterns in the real world

- -

Pattern Ownership

• Pattern Lifecycle

– Submission / Suggestion Process

– Writing

– Editing

– Reviewing & Rating

– Freshness

Page 43: Designing with patterns in the real world

- -

Yahoo! Pattern Library 2.0?

• Truly open: two-way interaction

• Support our open, social platforms

– as part of YDN give designers and developers UX tools

• Getting beyond old-school IA

• “My Patterns”

– Patterns I’m writing, I wrote, I contributed to

– Patterns I love, I use a lot, I have trouble finding

Page 44: Designing with patterns in the real world

- -

Who edits and reviews?

• Editing

– Pattern librarian

– Volunteer contributors

– Ready for review

• Reviewing & Rating

– Small team review list (senior ID leaders and enthusiasts)

– Regular review/release cycle

– One week for comments (with wiggle room)

– Back to the drawing board

– Quicker review of revised patterns (to verify that identified issues have been addressed)

Page 45: Designing with patterns in the real world

- -

Rating the patterns

Assign a “level of adherence” rating:

• Working Solution

– Recommended starting point for any new design

– Designer may adapt as needed

• Best Practice

– Strongly recommended

– Requires manager’s permission to deviate

• Yahoo! Way

– Mandatory

– Requires extremely high level permission to deviate

Page 46: Designing with patterns in the real world

- -

Keeping patterns fresh

• Age-dating patterns (credibility, authority)

• Quarterly review of existing patterns

• Tuning in to user feedback

• Revision and Upkeep

– Marking patterns as under re-review

– Recruiting authors to update or supplant

• Retiring obsolete patterns (quality over quantity!)

Page 47: Designing with patterns in the real world

- -

The importance of examples

• Examples as references

– As used on your site

– Reference implementations

– Exemplars from elsewhere online

• As a survey / auditing / research tool

– Make galleries of screenshots

– Compare / contrast

– What works, what doesn’t

Page 48: Designing with patterns in the real world

- -

Visual examples

• Nobody likes to read specs!

• A picture is worth a thousand bullet points

• Designers are visual. We like diagrams, illustrations, concepts, examples, pictures!

Page 49: Designing with patterns in the real world

- -

factoryjoe’s design patterns

Page 50: Designing with patterns in the real world

- -

xian’s Carousel pattern gallery

Page 51: Designing with patterns in the real world

- -

Wireframe and diagram stencils

Give designers tools that make it easier to adopt the patterns:

Page 52: Designing with patterns in the real world

- -

Wireframe and diagram stencils

Give designers tools that make it easier to adopt the patterns:

Page 53: Designing with patterns in the real world

- -

Wireframe and diagram stencils

Give designers tools that make it easier to adopt the patterns:

Page 54: Designing with patterns in the real world

- -

Wireframe and diagram stencils

Give designers tools that make it easier to adopt the patterns:

Page 55: Designing with patterns in the real world

- -

Wireframe and diagram stencils

Give designers tools that make it easier to adopt the patterns:

Page 56: Designing with patterns in the real world

- -

Code is key

• Pattern adoption works best when engineers have reference implementations, examples, and running code

• Developers can then build solutions out of components just as the designers build experiences out of the patterns

• Pattern + Stencil + Code = a very useful building block

Page 57: Designing with patterns in the real world

- -

I’m looking for an intern

How Big Can You Think?

• The Internet is a big, busy place, and we at Yahoo! are proud to stand out in the crowd. As the world’s number one Internet brand, servicing over a half billion people, we’re determined to maintain our commitment to delivering news, entertainment, information and fun… each and every day.

• In order to maintain our position as one of the world’s most trafficked Internet destinations, we’re always on the lookout for people with big ideas and big talent to help us provide our visitors with the innovative products and services they’ve come to expect from Yahoo!. We’re looking for people like you.

Interaction Design Intern – Yahoo! Developer Network

• Yahoo! Developer Network is the company liaison to external / third party developers.

• The YDN UE staff is responsible for designing and maintaining the YDN website, for developing and maintaining the Yahoo! Pattern Library (both internal and external) and for creating component designs and mashups for YUI and Yahoo! APIs.

Project overview and job responsibilities:

• Design interactive components to illustrate Design Patterns and Best Practices or code examples.

• Additionally, help curate the Design Pattern Library, write design patterns and best practices and work closely with interaction designers across Yahoo!

• Will work closely with the Design Pattern Library curator and other designers on the Yahoo! Developer Network.

Requirements:

• BFA / BA and in MA / MFA program with a concentration on Interaction Design / HCI.

Preferable Job Qualifications:

• Work experience in website and/or application design a plus.

How to Apply:

• Please apply online to requisition # 13577 http://careers.yahoo.com