50
Creating a large scale interaction pattern library ...and why you should use one too (even for smaller projects) There are new slides for this presentation. Please go to slideshare or click the link on slide 4.

Creating a large scale interaction pattern library

Embed Size (px)

DESCRIPTION

PLEASE NOTE: These slides are out of date. You'll find a new and better presentation here: http://de.slideshare.net/WolfBruening/how-to-build-the-perfect-pattern-libraryy I wrote some articles on this topic (in German): http://www.produktbezogen.de/bauanleitung-pattern-library-1 Eine Deutsche Version mit einigen neuen Ergänzungen gibt es hier: http://de.slideshare.net/WolfBruening/pattern-libraries-aufzucht-und-pflege

Citation preview

Page 1: Creating a large scale interaction pattern library

Creating a large scale interaction pattern library

...and why you should use one too!(even for smaller projects)

There are new slides for this presentation. Please

go to slideshare or click the link on slide 4.

Page 2: Creating a large scale interaction pattern library

About me

@wolfbruening

Born and grown up in Oldenburg

University education in Magdeburg and Ann Arbor

Worked as Art Director at webvariants and as UI designer at UCDplus

Currently senior IxD at OTTO‘s eCommerce

division

Wolf Brüning

Page 3: Creating a large scale interaction pattern library

The task

• Develop a pattern library for an insanely large ecommerce website with more than a billion euros of revenue per year and millions of products ranging from swimwear to chainsaws

Page 4: Creating a large scale interaction pattern library

But why?

Duplicate designing, communication and development create misunderstandings, redundancies and inconsistencies

Outdated Version. Click here for the new slides!

Page 5: Creating a large scale interaction pattern library

The consequences

7 solutions/styles for the same task on OTTO.de at the same time!!(we fixed this already)

Outdated Version. Click here for the new slides!

Page 6: Creating a large scale interaction pattern library

Working without patters

• Almost certainly will create inconsistent interfaces!• Leads to misunderstandings!• Leads to lots of extra work, communication and QA

Outdated Version. Click here for the new slides!

Page 7: Creating a large scale interaction pattern library

So what are patterns?

Page 8: Creating a large scale interaction pattern library

So what are patterns?

• A pattern is a single piece of your UI that solves a specific design problem and repeats across your website in various contexts.

Fig. 1: The button, a classic example for a pattern

Page 9: Creating a large scale interaction pattern library

Jared Spool!Founding Principal of UIE

“A typical pattern describes the problem, the chosen solution, the rationale behind that solution, related patterns that the designer should be aware of and the results of usability testing.”

Page 10: Creating a large scale interaction pattern library

What are patterns?

• Atomic patterns („bricks“): i.e. Buttons, Headline, Copy!• Patterns of patterns („components“): i.e.Product Cinema

Page 11: Creating a large scale interaction pattern library

What are patterns?

• Templates and Sub-Templates!• Transitions!• Flows!• Wording!• ...

Page 12: Creating a large scale interaction pattern library

Learning #1

Keep it simple (really, really simple)

Page 13: Creating a large scale interaction pattern library

Yahoo Pattern Library

Page 14: Creating a large scale interaction pattern library

Yahoo Pattern Library

WTF?

Page 15: Creating a large scale interaction pattern library

A too complicated process

Image created by Matt Leacock

Page 16: Creating a large scale interaction pattern library

Keep it simple

• Don‘t strive for perfection!!• Try to keep pattern definitions as scarce as possible!• Try to keep processes and discussions lean!!

• Keep work overhead for adding and managing patterns as low as possible

Page 17: Creating a large scale interaction pattern library

Keep it simple

• If using your pattern library is easy and saves a lot more time than it costs to fill and manage it, everybody will be motivated.!

• A not-so-perfect pattern library is a lot better than a perfectly documented but outdated one!!

✓ This is the most important factor for a successful implementation

Page 18: Creating a large scale interaction pattern library

Learning #2

Use flexible &semantic names

Page 19: Creating a large scale interaction pattern library

Semantic Naming

Shiny Blue Button XL!???

Shiny Blue Button XL

Relaunch/Redesign

Page 20: Creating a large scale interaction pattern library

Semantic Naming

• Use abstract pattern names that relate to function not style:!!

• „Primary Button“!• „Secondary Button“!• „Headline“!• „Copy“!• „Link“

Page 21: Creating a large scale interaction pattern library

What about sizes?

Button S

Button M

Button L

Insert a new button here? Nooooooooooo!

Page 22: Creating a large scale interaction pattern library

Image created by Margaret Almon http://www.flickr.com/photos/nutmegdesigns

Page 23: Creating a large scale interaction pattern library

US house numbers

House numbers increase by 100 every block regardless of the number of buildings. This is great for orientation but also very flexible for adding new houses between existing ones.

Page 24: Creating a large scale interaction pattern library

City block sizes

Button 50

Button 100

Button 200

Button 150

Page 25: Creating a large scale interaction pattern library

City block sizes

• The standard variant of the pattern gets the „100“!• Smaller variants get „75“, „50“, „25“...!• Larger variants get „200“, „300“...!!

✓ Now you have a flexible naming system where it‘s easy to identify if a pattern is standard or larger or smaller

Page 26: Creating a large scale interaction pattern library

Learning #3

Modular solutionsare better than one size fits all (for large projects/teams)

Page 27: Creating a large scale interaction pattern library

Big company problems

• Lots of people involved!• Interaction Designers!• Visual Designers!• User Experience Managers!• Developers!• Product Managers!• Project Managers!• Corporate Designer!• External Agencies!!

• Impossible to find a one size fits all solution

Page 28: Creating a large scale interaction pattern library

Keep it modular

• We identified three main use cases!• Prototyping & visual design!• Development!• Document and communicate!!

• Instead of a large pattern library for all use cases we created a connected modular solution consisting of three components

Page 29: Creating a large scale interaction pattern library

Prototyping & Visual DesignPSD-files with every pattern in it allow for drag-and-drop creation of prototypes

Page 30: Creating a large scale interaction pattern library

Bonus Learning

Involve your developers(and other stakeholders)

Page 31: Creating a large scale interaction pattern library

DevelopmentInteractive pattern list based on Twitter Bootstrap

Page 32: Creating a large scale interaction pattern library

Document and CommunicateAn own chapter in our corporate design manual platform

Page 33: Creating a large scale interaction pattern library

StructureThe pattern name is the connection between the three modules

Page 34: Creating a large scale interaction pattern library

Bill Scott!Sr. Director UI at Paypal

“Design patterns create a shared understanding in the organization, where designers, business people, engineers, etc. really understand each other and get a sense for what‘s hard, what‘s easy, get a sense for the time crunch.”

Page 35: Creating a large scale interaction pattern library

Learning #4

Keep it stable but allow for changes

Page 36: Creating a large scale interaction pattern library

Keep it stable...

• Put up a set of rules that prevent patterns from being too easily changed!• Only add patterns if existing patterns provide not a satisfactory

solution!• Change pattern if a new pattern becomes standard in the market!• Chance pattern if a new pattern beats it in user or a/b-testing

Page 37: Creating a large scale interaction pattern library

...but allow for change

• Continuously experiment with new patterns!• Challenge existing patterns!!

• Don‘t be a pattern nazi ;o)

Page 38: Creating a large scale interaction pattern library

Lucas Pettinati!UX Lead at Google, former Prinicpal Designer at Yahoo

“The use of a pattern library helps designers quickly craft parts of a design so the bulk of their time is spent designing what‘s unique rather than what‘s common. It‘s like a compass. It‘ll tell you what direction you should go in, but it‘s up to you to figure out how to get there.”

Page 39: Creating a large scale interaction pattern library

Learning #5

A good pattern library creates efficient processes

Page 40: Creating a large scale interaction pattern library

Change the way you work

In a traditional process, the IxD creates a concept and prototypes hands them over to the visual designer who does the final design and briefs the developer

Page 41: Creating a large scale interaction pattern library

Change the way you work

With patterns the IxD is able to hand over the prototype directly to the developer who – after the coding is done – teams up with the visual designer to fine tune the design directly on the website. There is no need to paint a picture of your website in photoshop anymore.

Page 42: Creating a large scale interaction pattern library

This sounds really cool, but...

...don‘t patterns limit my creativity?

Page 43: Creating a large scale interaction pattern library

Wrong!

Page 44: Creating a large scale interaction pattern library

Patterns support your creativity

• You don‘t need to redo or reinvent already solved problems (and it‘s a strange sort of creativity to create a new button every second page)!

• You can easily build and test prototypes on existing patterns, so you are able to explore more solutions!!

✓ Using patterns buy you time to solve new problems, to tackle more complex tasks and maybe to add that special finish to your site

Page 45: Creating a large scale interaction pattern library

And what about my site / project / agency?

Page 46: Creating a large scale interaction pattern library

What about my site?

• One pager → well, you have it!• Small site, startup → collect your patterns in a PSD (or

else), add documentation when your team grows!• Agency → document abstract patterns that repeat with

most customers (contact forms, pagination, etc.)!!

• All: involve your developers

Page 47: Creating a large scale interaction pattern library

Why you should use patterns

• They improve the quality of your UX!• Consistent & predictable UI!• Efficient prototyping!• Time to concentrate on new problems!

• They improve the quality of your code!• Quick implementation!• Prevent redundancies!• Efficient testing!

• They can save everybody a lot of time!• They help you to communicate cleary with all

stakeholders

Page 48: Creating a large scale interaction pattern library

Thank you!

tl;dr Pattern libraries are awesome!

@wolfbruening

Page 49: Creating a large scale interaction pattern library

If you always wanted to...

• do design, testing or research for a billion-euro-revenue-ecommerce site!

• work in a highly professional (and fun) team of 15 user experience, interaction design and visual design experts!

• make use of our own testing-lab!• live and work in Germany‘s most beautiful city ;o)!• and make millions of users happy!! is searching for IxD and UX folks. Talk to us!