upa2007 designing interfaces jenifer tidwell

102
Designing “Designing Interfaces:” How Not to Write a Pattern Catalog Jenifer Tidwell UPA 2007 Wednesday, June 13

Upload: guestf59d1c4

Post on 30-Oct-2014

26 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: UPA2007 Designing Interfaces Jenifer Tidwell

Designing “Designing

Interfaces:”How Not to Write a Pattern Catalog

Jenifer TidwellUPA 2007Wednesday, June 13

Page 2: UPA2007 Designing Interfaces Jenifer Tidwell

Prologue: a little history

The year was 1997.Read “Design Patterns” (Gang of Four) and “A Pattern Language” (Alexander).

Page 3: UPA2007 Designing Interfaces Jenifer Tidwell

Developers designing UIs…

• They knew the principles of good design.

• They understood the importance of usability testing.

• But they couldn’t get past rote copying.

“Microsoft did it this way, so we should do it this way too.”

Page 4: UPA2007 Designing Interfaces Jenifer Tidwell

Could patterns help?

“These ideas work. Pick what you want from them, and ignore the rest.”

“And by the way, here’s why they work, if you’re curious.”

Page 5: UPA2007 Designing Interfaces Jenifer Tidwell

• Hypertext• Video games• Consumer electronics• Spoken interfaces• Print design• Data visualization• Cartography• etc…Wanted to apply knowledge from other fields

Page 6: UPA2007 Designing Interfaces Jenifer Tidwell
Page 7: UPA2007 Designing Interfaces Jenifer Tidwell
Page 8: UPA2007 Designing Interfaces Jenifer Tidwell

But was it useful?

Sort of.

Page 9: UPA2007 Designing Interfaces Jenifer Tidwell

1999-2002: no work done

• I couldn’t solve certain problems

• Come back to it with a fresh mind

• Learn more about graphic design, industrial design, etc.

Page 10: UPA2007 Designing Interfaces Jenifer Tidwell

Two jobs later…

Page 11: UPA2007 Designing Interfaces Jenifer Tidwell

…and then…

Page 12: UPA2007 Designing Interfaces Jenifer Tidwell

1. Treat it as a fun theoretical exercise.

How Not to Write a Pattern Catalog:

(Design it to be used)

Page 13: UPA2007 Designing Interfaces Jenifer Tidwell

1. Design it to be used

Page 14: UPA2007 Designing Interfaces Jenifer Tidwell

1. Design it to be used

• Prefer concrete to abstract

Page 15: UPA2007 Designing Interfaces Jenifer Tidwell
Page 16: UPA2007 Designing Interfaces Jenifer Tidwell

1. Design it to be used

• Prefer concrete to abstract• The format doesn’t have to be GOF, or Alexandrian, or …

Page 17: UPA2007 Designing Interfaces Jenifer Tidwell
Page 18: UPA2007 Designing Interfaces Jenifer Tidwell

• Examples• Context• Problem• Forces• Solution• Resulting Context

• Diagram• Notes

Page 19: UPA2007 Designing Interfaces Jenifer Tidwell

• Examples• Context• Problem• Forces• Solution• Resulting Context

• Diagram• Notes

• Primary Example

• What• Use When• Why• How• Other Examples

Page 20: UPA2007 Designing Interfaces Jenifer Tidwell

But what about interoperability?…

Page 21: UPA2007 Designing Interfaces Jenifer Tidwell

1. Design it to be used

• Prefer concrete to abstract• The format doesn’t have to be GOF, or Alexandrian, or …

• The organization just needs to function; it doesn’t have to be perfect

Page 22: UPA2007 Designing Interfaces Jenifer Tidwell

But organization is important!

• Help readers find patterns• Makes a statement about how the patterns should be used

It’s an information architecture problem.

Page 23: UPA2007 Designing Interfaces Jenifer Tidwell

So how should we categorize them?

• By scale?

Page 24: UPA2007 Designing Interfaces Jenifer Tidwell

So how should we categorize them?

• By scale?• By user task?

Page 25: UPA2007 Designing Interfaces Jenifer Tidwell

So how should we categorize them?

• By scale?• By user task? • By problem statement?

Page 26: UPA2007 Designing Interfaces Jenifer Tidwell

1. What is the basic shape of the content?

2. What is the basic shape of the actions taken with the artifact?

3. How does the content or available actions unfold before the user?

4. How does the artifact generally use space and the user’s attention?

5. How is the content or action organized into working surfaces?

6. How can the user navigate through the artifact?

7. What specific actions should the user take?

etc…

Page 27: UPA2007 Designing Interfaces Jenifer Tidwell

So how should we categorize them?

• By scale?• By user task? • By problem statement? • By design stage? …This kind of worked.

Page 28: UPA2007 Designing Interfaces Jenifer Tidwell

1. What Users Do2. Organizing the Content3. Getting Around4. Organizing the Page5. Commands and Actions6. Showing Complex Data7. Getting Input from Users8. Builders and Editors9. Making It Look Good

Page 29: UPA2007 Designing Interfaces Jenifer Tidwell

1. Design it to be used

• Prefer concrete to abstract• The format doesn’t have to be GOF, or Alexandrian, or …

• The organization just needs to function; it doesn’t have to be perfect

• Don’t sweat the “language” stuff

Page 30: UPA2007 Designing Interfaces Jenifer Tidwell

“The language is a good one … when it is morphologically and functionally complete.

“It is morphologically complete when the patterns together form a complete structure, filled out in all its detail, with no gaps.

“And it is functionally complete when … the patterns, as a system, generate only those forces which they themselves resolve.”

Page 31: UPA2007 Designing Interfaces Jenifer Tidwell

Lowered standard: just make sure patterns link to each other.

• Is-a• Leads-to• Alternative-to• Works-well-with• etc.

Page 32: UPA2007 Designing Interfaces Jenifer Tidwell

1. Treat it as a fun theoretical exercise.

2. Write it for all designers, everywhere.

How Not to Write a Pattern Catalog:

(Design it to be used)

(Focus on your users)

Page 33: UPA2007 Designing Interfaces Jenifer Tidwell

2. Focus on your users

• Solve the design problems they have

• Not everyone’s• Use vocabulary they know• Use familiar examples

Page 34: UPA2007 Designing Interfaces Jenifer Tidwell

2. Focus on your users

“Microsoft did it this way,

so we should do it this way too.”

Page 35: UPA2007 Designing Interfaces Jenifer Tidwell

•Hypertext•Video games•Consumer electronics•Spoken interfaces•Print design•Data visualization•Cartography•etc…

Page 36: UPA2007 Designing Interfaces Jenifer Tidwell

•Hypertext•Video games•Consumer electronics•Spoken interfaces•Print design•Data visualization•Cartography•etc…

Only MathWorks software.

Page 37: UPA2007 Designing Interfaces Jenifer Tidwell

1. Treat it as a fun theoretical exercise.

2. Write it for all designers, everywhere.

3. Try to capture all design knowledge as

patterns.

How Not to Write a Pattern Catalog:

(Design it to be used)

(Focus on your users)

(Other forms can be better)

Page 38: UPA2007 Designing Interfaces Jenifer Tidwell

3. Other forms can be better

When you’ve got a hammer…

Page 39: UPA2007 Designing Interfaces Jenifer Tidwell

3. Other forms can be better

• Suggestion, not command• Product, not process• Captures relationships among elements

• Usable across platforms• Clearly improves the user experience

My definition of “pattern:”

Page 40: UPA2007 Designing Interfaces Jenifer Tidwell

3. Other forms can be better

• Principles• Heuristics• Style guides and standards• Components• Genres / idioms

Page 41: UPA2007 Designing Interfaces Jenifer Tidwell

3. Other forms can be better

Principles:“Make your interfaces easy to learn.”

“Prevent errors.”

Bedrock design conceptsCommands, not suggestionsVery abstract, high-level

Page 42: UPA2007 Designing Interfaces Jenifer Tidwell

3. Other forms can be better

Heuristics:“Performance, cost, schedule: pick two.”

“Expand the scope to simplify the problem.”

Strategies for solving problemsCommands, not suggestionsProcess, not product

Page 43: UPA2007 Designing Interfaces Jenifer Tidwell

3. Other forms can be better

Style guides and standards:“If an item is too long to fit in the list box, insert an ellipsis in the middle and preserve the beginning and end of the item.”

Design parameters for a class of products

Commands, not suggestionsOften very specific

Page 44: UPA2007 Designing Interfaces Jenifer Tidwell

3. Other forms can be better

Components:“Here’s the code for a sortable table.”

“Here’s a set of icons for use in drag-and-drop.”

Individual elements of a UINot relationships among themOften very specific

Page 45: UPA2007 Designing Interfaces Jenifer Tidwell

3. Other forms can be better

Genres / idioms:FormInformation graphicSearchable online repository

Categories of UI types; “set the rules”

A context, not a pattern!

Page 46: UPA2007 Designing Interfaces Jenifer Tidwell

3. Other forms can be better

What about new innovations?

Page 47: UPA2007 Designing Interfaces Jenifer Tidwell

3. Other forms can be better

Another problem: patterns are verbose.

Page 48: UPA2007 Designing Interfaces Jenifer Tidwell

http://www.visual-literacy.org/periodic_table/periodic_table.html

Page 49: UPA2007 Designing Interfaces Jenifer Tidwell

3. Other forms can be better

• Tried to “patternize” genres/idioms• Tried to “patternize” information shapes

• Attempted to create too many patterns for controls

• Almost published “Inverted-L” as a pattern

What had I done wrong?…

Page 50: UPA2007 Designing Interfaces Jenifer Tidwell

1. Treat it as a fun theoretical exercise.

2. Write it for all designers, everywhere.

3. Try to capture all design knowledge as

patterns.

4. Describe the obvious, without offering

any genuine insight.

How Not to Write a Pattern Catalog:

(Design it to be used)

(Focus on your users)

(Other forms can be better)

(Think hard about use contexts)

Page 51: UPA2007 Designing Interfaces Jenifer Tidwell

4. Think hard about use contexts

Problem: You need X.Solution: Use X.

(with apologies to Martijn)

You’re stuck in Obviousland!

Page 52: UPA2007 Designing Interfaces Jenifer Tidwell
Page 53: UPA2007 Designing Interfaces Jenifer Tidwell
Page 54: UPA2007 Designing Interfaces Jenifer Tidwell

Diversion: pattern writing

How I write a pattern:1. Notice a recurring design

element.2. Work up and down the abstraction

ladder.3. Understand why it works.4. Figure out the context -- when

it should or shouldn’t be used.

5. Name it.

This is what gets you out of Obviousland.

Page 55: UPA2007 Designing Interfaces Jenifer Tidwell

Diversion: pattern writing

Pattern discovery in another domain…

Page 56: UPA2007 Designing Interfaces Jenifer Tidwell

Step 1: find a recurring element

What’s common here?• Brown the meat in oil, on high heat

• Remove it before it’s cooked• The rest of the dish involves liquid

• Return the meat to the liquid, eventually

Page 57: UPA2007 Designing Interfaces Jenifer Tidwell

Step 2: walk the abstraction ladder

Up, up, up:• Does it work with vegetables too?• Is the liquid required?• Would dry heat work, instead of frying?

But these seem to lose the “sense of the pattern”

Page 58: UPA2007 Designing Interfaces Jenifer Tidwell

Step 3: why does it work?

Research uncovers “Maillard reactions”…

• Produce hundreds of flavor components

• High heat (360+)• Requires both proteins and sugars

• Deglazing often done too

Page 59: UPA2007 Designing Interfaces Jenifer Tidwell

Step 4: figure out use context

…What, you want me to be a chef too?

Page 60: UPA2007 Designing Interfaces Jenifer Tidwell

Step 4: figure out use context

• We discovered that flavor depth is added

• We ruled out vegetables and delicate oils

• We decided that liquids define the pattern as much as the meat-browning does

Counterexamples?

Page 61: UPA2007 Designing Interfaces Jenifer Tidwell

Step 5: name it

Any ideas?

Page 62: UPA2007 Designing Interfaces Jenifer Tidwell

1. Treat it as a fun theoretical exercise.

2. Write it for all designers, everywhere.

3. Try to capture all design knowledge as patterns.

4. Describe the obvious, without offering any

genuine insight.

5. Don’t bother with screenshots; they’re too hard.

How Not to Write a Pattern Catalog:

(Design it to be used)

(Focus on your users)

(Other forms can be better)

(Think hard about use contexts)

(Visual examples are critical)

Page 63: UPA2007 Designing Interfaces Jenifer Tidwell

5. Visual examples are critical

•They help you define the pattern

Page 64: UPA2007 Designing Interfaces Jenifer Tidwell
Page 65: UPA2007 Designing Interfaces Jenifer Tidwell
Page 66: UPA2007 Designing Interfaces Jenifer Tidwell
Page 67: UPA2007 Designing Interfaces Jenifer Tidwell

5. Visual examples are critical

•They help you define the pattern

•Put your “evidence” out there

Page 68: UPA2007 Designing Interfaces Jenifer Tidwell
Page 69: UPA2007 Designing Interfaces Jenifer Tidwell
Page 70: UPA2007 Designing Interfaces Jenifer Tidwell

5. Visual examples are critical

•They help you define the pattern

•Put your “evidence” out there

•Explain in pictures, not just words

Page 71: UPA2007 Designing Interfaces Jenifer Tidwell
Page 72: UPA2007 Designing Interfaces Jenifer Tidwell
Page 73: UPA2007 Designing Interfaces Jenifer Tidwell

5. Visual examples are critical

•They help you define the pattern

•Put your “evidence” out there

•Explain in pictures, not just words

•Inspiring in their own right

Page 74: UPA2007 Designing Interfaces Jenifer Tidwell

1. Treat it as a fun theoretical exercise.

2. Write it for all designers, everywhere.

3. Try to capture all design knowledge as patterns.

4. Describe the obvious, without offering any

genuine insight.

5. Don’t bother with screenshots; they’re too hard.

6. Just toss it out there with no followup.

How Not to Write a Pattern Catalog:

(Design it to be used)

(Focus on your users)

(Other forms can be better)

(Think hard about use contexts)

(Visual examples are critical)

(Find out how it’s really used)

Page 75: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really used

Conducted a survey of DI readers to find out how they use patterns

(Not statistically significant)

Page 76: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really used

• 130 respondents• 20 were primarily developers• 50 were designers of some sort• A mix of managers, researchers, etc.

• Majority have been in that role 2-8 years

• But they do many different things…

Page 77: UPA2007 Designing Interfaces Jenifer Tidwell
Page 78: UPA2007 Designing Interfaces Jenifer Tidwell
Page 79: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really used

• Advice on specific design problems

• Learn about UI design• Use examples as “sourcebook”• Terminology for describing design

• Creative inspiration

The book says:

Page 80: UPA2007 Designing Interfaces Jenifer Tidwell

“How often do you or your team refer to the book for advice when you're designing interfaces?”

Total: 80%

Most common answer: “Once or twice during a project” (40%)

Page 81: UPA2007 Designing Interfaces Jenifer Tidwell

“Has the book changed your mind about any design decisions?”

“Yes:” 50%

Sample answers: balanced palette, date choosers, data graphics, page organization

Page 82: UPA2007 Designing Interfaces Jenifer Tidwell

“Identify chapters that taught you something you didn’t know before”

Total: 55%

Most common answer: Chapter 4, “Organizing the Page”

Page 83: UPA2007 Designing Interfaces Jenifer Tidwell

“Identify chapters that taught you something you didn’t know before”

What Users DoOrganizing the Content

Getting AroundOrganizing the PageActions and CommandsShowing Complex Data

Getting Input from UsersBuilders and EditorsMaking it Look Good

Page 84: UPA2007 Designing Interfaces Jenifer Tidwell

“Identify chapters that taught you something you didn’t know before”

…but many respondents said “all” or “none.”

Page 85: UPA2007 Designing Interfaces Jenifer Tidwell

“Have you used the book to help or encourage other people to learn about UI design?”

“Yes:” 70%

Page 86: UPA2007 Designing Interfaces Jenifer Tidwell

“Have you or your team used the book to find or brainstorm new design ideas?”

“Yes:” 65%

Page 87: UPA2007 Designing Interfaces Jenifer Tidwell

“Have you used the pattern names when talking about design?”

Total: 75%

“Have you used the pattern names in design specs or other design documents?”

“Yes:” 35%

Page 88: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really used

• Advice on specific design problems

• Learn about UI design• Use examples as “sourcebook”• Terminology for describing design

• Creative inspiration

…yes, patterns are used in all these ways!

Page 89: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really used

• 2/3 of workplaces “informally encourage use of UI patterns”

• 1/3 formally use patterns “to enforce consistent design”

Some other tidbits…

Page 90: UPA2007 Designing Interfaces Jenifer Tidwell
Page 91: UPA2007 Designing Interfaces Jenifer Tidwell
Page 92: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really used

• Few Hues, Many Values• Right/Left Alignment• Responsive Disclosure• Diagonal Balance• Deep Background

Frequently-named patterns:

Page 93: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really used

• Responsive Disclosure (9 mentions)

• Input Hints (6)• Wizard, Progress Indicator, Row Striping, Liquid Layout, Closable Panels (4-5)

Pattern names used:

Page 94: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really usedOn changed design decisions…

“considering an action panel to replace a convoluted menu system”

“Simplifying color and making the page balance diagonally.”

“Color Coding of pages was a new concept”

Page 95: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really usedOn changed design decisions…

“I've moved away from linear wizards and toward 2-panel selectors, to give users more control over how they work with info or move through a process.”

“It changed my mind about web page organization. I tend to think of them as inherently textual and organize them from left to right. I plan to spend more time considering the graphical nature of the data I'm presenting and thinking about grouping and layout.”

Page 96: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really used

• Good summation or reference for familiar ideas

• Useful as a “memory jogger”• Different platforms: good• More patterns!• More AJAX!

General comments…

Page 97: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really usedGeneral comments…

“Synthesis, reinforcement, clarification: this is what the book was mostly useful for.”

“…it has boosted my design decisions and given me confidence to go ahead with the designs.”

“…many times I think of one way of doing things and after consulting with the book I have new ideas.”

Page 98: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really used

• Patterns are used in the ways we predicted

Conclusions:

Page 99: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really used

• Patterns are used in the ways we predicted

• They help both novice and skilled designers

Conclusions:

Page 100: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really used

• Patterns are used in the ways we predicted

• They help both novice and skilled designers

• Many workplaces are aware of them and use them

Conclusions:

Page 101: UPA2007 Designing Interfaces Jenifer Tidwell

6. Find out how it’s really used

• Patterns are used in the ways we predicted

• They help both novice and skilled designers

• Many workplaces are aware of them and use them

• Repository of design wisdom, more than a teaching tool (but both)

Conclusions:

Page 102: UPA2007 Designing Interfaces Jenifer Tidwell

1. Treat it as a fun theoretical exercise.

2. Write it for all designers, everywhere.

3. Try to capture all design knowledge as patterns.

4. Describe the obvious, without offering any

genuine insight.

5. Don’t bother with screenshots; they’re too hard.

6. Just toss it out there with no followup.

How Not to Write a Pattern Catalog:

(Design it to be used)

(Focus on your users)

(Other forms can be better)

(Think hard about use contexts)

(Visual examples are critical)

(Find out how it’s really used)