utah school of computing design basics cs5540 hci rich r iesen feld fall 2010 cs5540 hci rich r...
TRANSCRIPT
Utah School of Computing
Utah School of Computing
Design BasicsDesign Basics
CS5540 HCI
Rich RiesenfeldFall 2010
CS5540 HCI
Rich RiesenfeldFall 2010Le
ctur
e S
et 1
2
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 2slide 2Fall 2009Fall 2009
ThesisThesis
• HCI intrinsically involves design
- “ an interface to …”
• What does this observation entail?
• HCI intrinsically involves design
- “ an interface to …”
• What does this observation entail?
Design
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 3slide 3Fall 2009Fall 2009
Whereas…Whereas…
• Design is as old as creativity
• Intensively studied subject
• Much is known
• Let’s tap this understanding and
experience!
• Design is as old as creativity
• Intensively studied subject
• Much is known
• Let’s tap this understanding and
experience!
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 4slide 4Fall 2009Fall 2009
Design is UbiquitousDesign is Ubiquitous
• Nearly all human activities involve design
- Novels, airplanes, murals…
- Rescue missions, ascents…
- Algorithms, software, interfaces
• Nearly all human activities involve design
- Novels, airplanes, murals…
- Rescue missions, ascents…
- Algorithms, software, interfaces
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 5slide 5Fall 2009Fall 2009
Design ApproachesDesign Approaches
• Top down- Mechanical linkages, compilers, software
system- Airplane, eg: mission, configuration, weight- Recursive refinement technique
• Particular as an instance of General- Parametric design
• Top down- Mechanical linkages, compilers, software
system- Airplane, eg: mission, configuration, weight- Recursive refinement technique
• Particular as an instance of General- Parametric design
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 6slide 6Fall 2009Fall 2009
Design Approaches (2)Design Approaches (2)
• Bottom up- Prototype, gain experience
- Abstract principles
- Scale up; begin slow
• Infer General from Particular- Linguistics
• Bottom up- Prototype, gain experience
- Abstract principles
- Scale up; begin slow
• Infer General from Particular- Linguistics
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 7slide 7Fall 2009Fall 2009
Bottom_Up ↔ Top_Down Bottom_Up ↔ Top_Down
Note:
Q E D…
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 8slide 8Fall 2009Fall 2009
Design ChallengesDesign Challenges
• Economics- Make it good and cheap
- “Better, faster, cheaper”
• Constraints- Not design without constraints
• Economics- Make it good and cheap
- “Better, faster, cheaper”
• Constraints- Not design without constraints
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 9slide 9Fall 2009Fall 2009
Critical ChoicesCritical Choices
• Design involves making wise “trade-off”- Form v. function- Weight v. durability- Specific and focused v. general and diffuse
Paint v PhotoShop
- Etc. …
• Design involves making wise “trade-off”- Form v. function- Weight v. durability- Specific and focused v. general and diffuse
Paint v PhotoShop
- Etc. …
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 10slide 10Fall 2009Fall 2009
Design IntegrityDesign Integrity
• Clear purpose- Understand the role
Who is user and what is her profile?
- Good functional spec Tasks to accomplish?
Who is user?
Budgets?
• Clear purpose- Understand the role
Who is user and what is her profile?
- Good functional spec Tasks to accomplish?
Who is user?
Budgets?
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 11slide 11Fall 2009Fall 2009
Design DisciplineDesign Discipline
• Maintain focus and charge- Refer to specs often
• Creeping “feature-ism”- “Wheel of re-incarnation” (IES)
Compact cars, portable models, basic models, etc.
Features are NOT free!
• Maintain focus and charge- Refer to specs often
• Creeping “feature-ism”- “Wheel of re-incarnation” (IES)
Compact cars, portable models, basic models, etc.
Features are NOT free!
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 12slide 12Fall 2009Fall 2009
Design Discipline (2)Design Discipline (2)
• Sunset the lifecycle• Expanded spec• New technologies change “design
equations”• “Just shoot it”
- Start over!
• Sunset the lifecycle• Expanded spec• New technologies change “design
equations”• “Just shoot it”
- Start over!
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 13slide 13Fall 2009Fall 2009
Design Phases/StagesDesign Phases/Stages
1. Conceptual Show that idea can work
2. Preliminary Sufficient to understand, cost, etc
3. Detail The “whole enchilada” Adequate for contracting
1. Conceptual Show that idea can work
2. Preliminary Sufficient to understand, cost, etc
3. Detail The “whole enchilada” Adequate for contracting
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 14slide 14Fall 2009Fall 2009
“Design Intent”“Design Intent”
• Why did the designer do this?
• What is the function of this component?
• What was the designer thinking?
• What are the implications if this is
modified?
• Design Intent is often poorly documented
• Why did the designer do this?
• What is the function of this component?
• What was the designer thinking?
• What are the implications if this is
modified?
• Design Intent is often poorly documented
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 15slide 15Fall 2009Fall 2009
Design History - 1Design History - 1
• Learn to document at design time• Be sensitive to capturing record of past• Recognize important for product’s future• Develop tools more conducive to
documentation activity• Record the history as well as final result!
• Learn to document at design time• Be sensitive to capturing record of past• Recognize important for product’s future• Develop tools more conducive to
documentation activity• Record the history as well as final result!
We need to:
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 16slide 16Fall 2009Fall 2009
Design History - 2Design History - 2
Design Notebook
Commonplace in many areas of engineering
History of project evolution
Often signed by witness and has
legal standing
Design Notebook
Commonplace in many areas of engineering
History of project evolution
Often signed by witness and has
legal standing
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 17slide 17Fall 2009Fall 2009
DocumentationDocumentation
• Should not be a frantic post-process• Capture documentation at time of creation• Hard problem, actually
- Who should do it?- How should it be accomplished?
• Expensive- Not always part of deliverable!- Not likely a factor in making a sale
• Should not be a frantic post-process• Capture documentation at time of creation• Hard problem, actually
- Who should do it?- How should it be accomplished?
• Expensive- Not always part of deliverable!- Not likely a factor in making a sale
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 18slide 18Fall 2009Fall 2009
Design ConventionsDesign Conventions
• Use standards for components
• Use standards for style
• Don’t re-invent terms, tech, tools, etc.
• Make it as straightforward as possible
for others who work with you
• Use standards for components
• Use standards for style
• Don’t re-invent terms, tech, tools, etc.
• Make it as straightforward as possible
for others who work with you
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 19slide 19Fall 2009Fall 2009
Variant DesignVariant Design
• Most designs are not really new from the bottom up!
• Redesign is far more common as an activity than design, actually
• Make use of the past• Use templates, components, previous
knowledge, catalogs, etc.
• Most designs are not really new from the bottom up!
• Redesign is far more common as an activity than design, actually
• Make use of the past• Use templates, components, previous
knowledge, catalogs, etc.
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 20slide 20Fall 2009Fall 2009
Lifecycle DesignLifecycle Design
• Consider the entire life of a product- Cradle to grave (incl disposal)- Look at lifecycle cost!- Who will maintain?- How long will product live?- What tools are appropriate?- Situations change!
• Consider the entire life of a product- Cradle to grave (incl disposal)- Look at lifecycle cost!- Who will maintain?- How long will product live?- What tools are appropriate?- Situations change!
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 21slide 21Fall 2009Fall 2009
Design for ChangeDesign for Change
• The only sure thing about a design is that
its requirements will evolve and may
change dramatically
• Build it flexibly, modularly, clearly wrt to
intent, etc
• The only sure thing about a design is that
its requirements will evolve and may
change dramatically
• Build it flexibly, modularly, clearly wrt to
intent, etc
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 22slide 22Fall 2009Fall 2009
Waterfall Model of DesignWaterfall Model of DesignSystem Concept
System Concept
Spec Sys Req’s
Spec Sys Req’s
Architectural Design
Architectural Design
Detailed Design
Detailed DesignImplement, Integrate & Test
Implement, Integrate & TestDeploy & Cash Check
Deploy & Cash Check
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 23slide 23Fall 2009Fall 2009
Waterfall Model of DesignWaterfall Model of DesignSystem Concept
System Concept
Spec Sys Req’s
Spec Sys Req’s
Architectural Design
Architectural Design
Detailed Design
Detailed DesignImplement, Integrate & Test
Implement, Integrate & TestDeploy & Cash Check
Deploy & Cash Check
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 24slide 24Fall 2009Fall 2009
Waterfall Model of DesignWaterfall Model of DesignSystem Concept
System Concept
Spec Sys Req’s
Spec Sys Req’s
Architectural Design
Architectural Design
Detailed Design
Detailed DesignImplement, Integrate & Test
Implement, Integrate & TestDeploy & Cash Check
Deploy & Cash Check
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 25slide 25
Design CycleDesign Cycle
• Iterate on the design process repeatedly• Iterate on the design process repeatedly
Fall 2009Fall 2009
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 26slide 26
Design SpiralDesign Spiral
• Iterate repeatedly• Budget for interaction• Throw away early
attempts as
learning exercises- Steve Coons “I know what to throw out.”
• Iterate repeatedly• Budget for interaction• Throw away early
attempts as
learning exercises- Steve Coons “I know what to throw out.”
Fall 2009Fall 2009
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 27slide 27
Evolutionary PrototypingEvolutionary Prototyping
• Start with initial concept• Design and implement• initial prototype• Iterate through • prototype refinement• Complete and release • acceptable prototype
• Start with initial concept• Design and implement• initial prototype• Iterate through • prototype refinement• Complete and release • acceptable prototype
Fall 2009Fall 2009
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 28slide 28Fall 2009Fall 2009
“ilities” of Design“ilities” of Design
• Maintainability• Portability• Readability• Flexibility• Testability• Etc, etc….
• Maintainability• Portability• Readability• Flexibility• Testability• Etc, etc….
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 29slide 29Fall 2009Fall 2009
Complexity “Banana”Complexity “Banana”
• Complexity space often is shaped
like a banana:- Many simple instances
- Few complicated instances
• Complexity space often is shaped
like a banana:- Many simple instances
- Few complicated instances
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 30slide 30Fall 2009Fall 2009
Banana EnvelopeBanana Envelope
Number of Items
Difficu
lty of Ite
ms
Iso-curves for equivalent effortx
x
x
x
x
xx
x
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 31slide 31Fall 2009Fall 2009
Design “Reuse”Design “Reuse”
• Try to make the parts re-usable for
other things or future renovations
• Use existing parts if available and of
adequate quality
• Try to make the parts re-usable for
other things or future renovations
• Use existing parts if available and of
adequate quality
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 32slide 32Fall 2009Fall 2009
Design is “team sport”Design is “team sport”
• Most designs involve more than one• Interfaces are critical, not just
components• Communications, small granularity
exchanges, important• Negotiation, compromise part of deal
• Most designs involve more than one• Interfaces are critical, not just
components• Communications, small granularity
exchanges, important• Negotiation, compromise part of deal
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 33slide 33Fall 2009Fall 2009
Design ViewsDesign Views
• Components may serve different functions - Different designers see different views
Holes v. Elements Interfaces v. Modules
• Components may serve different functions - Different designers see different views
Holes v. Elements Interfaces v. Modules
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 34slide 34Fall 2009Fall 2009
Testing and ValidationTesting and Validation
• Important stuff!• Expensive phase• Underdone activity
- Alpha testing- Beta testing
• Important stuff!• Expensive phase• Underdone activity
- Alpha testing- Beta testing
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 35slide 35Fall 2009Fall 2009
Design ReviewDesign Review
• Take stock of progress periodically
• Is design on track?
• Have it critiqued by a group
• Take stock of progress periodically
• Is design on track?
• Have it critiqued by a group
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 36slide 36Fall 2009Fall 2009
Design EvaluationDesign Evaluation
• How well does design perform?
- Consider all aspects and costs
- Were the trade-offs wise?
• How well does design perform?
- Consider all aspects and costs
- Were the trade-offs wise?
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 37slide 37Fall 2009Fall 2009
Debugging DisciplineDebugging Discipline
• Early is better: easier and cheaper
• Product recall is the ultimate
“debugging,” and the most expensive,
incl product liability
• Early is better: easier and cheaper
• Product recall is the ultimate
“debugging,” and the most expensive,
incl product liability
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 38slide 38Fall 2009Fall 2009
Design SafetyDesign Safety
• Consider failure modes
• What are the consequences of failure?
• Have they been adequately explored and
mitigated?
• Consider failure modes
• What are the consequences of failure?
• Have they been adequately explored and
mitigated?
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 39slide 39Fall 2009Fall 2009
Design is a Creative ProcessDesign is a Creative Process
• Respect its needs- Time and patience
- Concentration, protracted focus
- Freedom to explore new ways Liberation from past
- Individual encouragement and support Most ideas are not “keepers”
• Respect its needs- Time and patience
- Concentration, protracted focus
- Freedom to explore new ways Liberation from past
- Individual encouragement and support Most ideas are not “keepers”
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 40slide 40Fall 2009Fall 2009
Consider Multiple SolutionsConsider Multiple Solutions
• Competing prototypes- Learn more about merits and liabilities
• Gain experience
• “American way (free market)…” - Can help evoke “best effort”
• Competing prototypes- Learn more about merits and liabilities
• Gain experience
• “American way (free market)…” - Can help evoke “best effort”
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 41slide 41Fall 2009Fall 2009
Msg: Recognize Design ActivityMsg: Recognize Design Activity
• Encourage good design practice
• Nurture good design through better
understanding of its nature
- Establish and protect a conducive
environment
• You are designers! Do it well!
• Encourage good design practice
• Nurture good design through better
understanding of its nature
- Establish and protect a conducive
environment
• You are designers! Do it well!
Utah School of Computing
Utah School of Computing
Design MethodologyDesign Methodology
End
End
Lec
ture
Set
12
Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 43slide 43Fall 2009Fall 2009