Upload
zackery-punt
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
Design Patterns:
What they are,
what they’re not,
and why you should care
Jenifer TidwellBoston IxDAThursday, September 20, 2007
Tonight’s topics
1. What patterns are about2. A tour through some patterns3. What they’re not
What’s a pattern?
What’s a pattern?
A structural or behavioral feature that solves a common design problem.
What’s a pattern?
A structural or behavioral feature that solves a common design problem.
• Not as concrete as a style guide• Not as abstract as a design
principle• Relationships among design
elements
What are patterns about?
What are patterns about?
REUSE
What are patterns about?
“It is not the idea of copying which is at fault; only the conception of ‘what is copied.’ ”
- Christopher Alexander
REUSE
What are patterns about?
• Reuse of ideas• Best practices
What are patterns about?
• Reuse of ideas• Best practices
A pattern must improve the user experience.
What are patterns about?
• Reuse of ideas• Best practices• Creativity
What are patterns about?
• Reuse of ideas• Best practices• Creativity
“…you can use this solution a million times over, without ever doing it the same way twice.”
- Christopher Alexander
What are patterns about?
• Reuse of ideas• Best practices• Creativity• Names
What are patterns about?
• Reuse of ideas• Best practices• Creativity• Names
Reuse Best practices Creativity Names
A tour through some patterns
Reuse Best practices Creativity Names
A tour through some patterns
• “Designing Interfaces”• Yahoo! Pattern Library• Welie patterns• Little Springs Mobile pattern library• “A Pattern Language”
(architecture)
Reuse Best practices Creativity Names
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
Reuse Best practices Creativity Names
Reuse Best practices Creativity Names
Designing Interfaces:
Illustrative ExampleWhatUse WhenWhyHowExamples
Reuse Best practices Creativity Names
Designing Interfaces:
Illustrative ExampleWhatUse WhenWhyHowExamples
Reuse Best practices Creativity Names
Yahoo! Library:
Problem SummaryIllustrative
ExampleUse WhenSolutionRationaleAccessibility
Designing Interfaces:
Illustrative Example
WhatUse When
WhyHow
Examples
Reuse Best practices Creativity Names
Yahoo! Library:
Problem SummaryIllustrative
ExampleUse WhenSolutionRationaleAccessibility
Design of Sites:
Illustrative ExampleBackgroundProblemSolutionConsider these other patterns
Reuse Best practices Creativity Names
A Pattern Language:
Illustrative Example
Intro / ContextProblem summaryProblem discussionSolutionDiagramDownstream
patterns
What patterns are not
Reuse Best practices Creativity Names
What patterns are not
• Patterns are not principles.
Reuse Best practices Creativity Names
What patterns are not
• Patterns are not principles.
Reuse Best practices Creativity Names
“Make your interfaces easy to learn.”“Prevent errors.”
What patterns are not
• Patterns are not principles.• Patterns are not templates.
Reuse Best practices Creativity Names
What patterns are not
• Patterns are not principles.• Patterns are not templates.• Patterns are not components.
Reuse Best practices Creativity Names
What patterns are not
• Patterns are not principles.• Patterns are not templates.• Patterns are not components.• Patterns are not style guides or
standards.
Reuse Best practices Creativity Names
What patterns are not
• Patterns are not principles.• Patterns are not templates.• Patterns are not components.• Patterns are not style guides or
standards.
Reuse Best practices Creativity Names
“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.”
What patterns are not
• Patterns are not principles.• Patterns are not templates.• Patterns are not components.• Patterns are not style guides or
standards.• Patterns are not heuristics.
Reuse Best practices Creativity Names
What patterns are not
• Patterns are not principles.• Patterns are not templates.• Patterns are not components.• Patterns are not style guides or
standards.• Patterns are not heuristics.
Reuse Best practices Creativity Names
“Performance, cost, schedule: pick two.”“Expand the scope to simplify the
problem.”
What’s a pattern?
A structural or behavioral feature that solves a common design problem.
• Not as concrete as a style guide• Not as abstract as a design
principle• Relationships among design
elements
What patterns are not
• Patterns are not principles.• Patterns are not templates.• Patterns are not components.• Patterns are not style guides or
standards.• Patterns are not heuristics.• Patterns are not recipes.
Reuse Best practices Creativity Names
What patterns are not
• Patterns are not principles.• Patterns are not templates.• Patterns are not components.• Patterns are not style guides or
standards.• Patterns are not heuristics.• Patterns are not recipes.• Patterns are not checklists.
Reuse Best practices Creativity Names
What patterns are not
• Patterns are not principles.• Patterns are not templates.• Patterns are not components.• Patterns are not style guides or
standards.• Patterns are not heuristics.• Patterns are not recipes.• Patterns are not checklists.• Patterns are not novel ideas or fads.Reuse Best practices Creativity Names
http://www.visual-literacy.org/periodic_table/periodic_table.html
What’s a pattern?
A structural or behavioral feature that solves a common design problem.
• Not as concrete as a style guide• Not as abstract as a design
principle• Relationships among design
elements
What are patterns about?
• Reuse of ideas• Best practices• Creativity• Names
Reuse Best practices Creativity Names
Resources
http://designinginterfaces.comhttp://developer.yahoo.com/ypatterns/index.phphttp://welie.com/patterns/index.phphttp://patterns.littlespringsdesign.comhttp://designofsites.comhttp://www.enumerable.com/dev/apl/apl3/apl3.htmhttp://www.uie.com/articles/design_patterns/Reuse Best practices Creativity Names
Questions?
Reuse Best practices Creativity Names