Utah School of Computing Design Basics CS5540 HCI Rich R iesen
feld Fall 2009 CS5540 HCI Rich R iesen feld Fall 2009 Lecture Set
12
Slide 3
Student Name Server Utah School of Computing slide 2 Fall 2009
Thesis 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
Slide 4
Student Name Server Utah School of Computing slide 3 Fall 2009
Whereas Design is as old as creativity Intensively studied subject
Much is known Lets tap this understanding and experience! Design is
as old as creativity Intensively studied subject Much is known Lets
tap this understanding and experience!
Slide 5
Student Name Server Utah School of Computing slide 4 Fall 2009
Design 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
Slide 6
Student Name Server Utah School of Computing slide 5 Fall 2009
Design 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
Slide 7
Student Name Server Utah School of Computing slide 6 Fall 2009
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
Slide 8
Student Name Server Utah School of Computing slide 7 Fall 2009
Bottom_Up Top_Down Bottom_Up Top_Down Note: Q E D Q E D
Slide 9
Student Name Server Utah School of Computing slide 8 Fall 2009
Design 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
Slide 10
Student Name Server Utah School of Computing slide 9 Fall 2009
Critical 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.
Slide 11
Student Name Server Utah School of Computing slide 10 Fall 2009
Design 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?
Slide 12
Student Name Server Utah School of Computing slide 11 Fall 2009
Design 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!
Slide 13
Student Name Server Utah School of Computing slide 12 Fall 2009
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!
Slide 14
Student Name Server Utah School of Computing slide 13 Fall 2009
Design 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
Slide 15
Student Name Server Utah School of Computing slide 14 Fall 2009
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
Slide 16
Student Name Server Utah School of Computing slide 15 Fall 2009
Design History Better at design than documentation Not sensitive to
capturing the past Important for the future of a product Need
better tools Record the history as well as final result! Better at
design than documentation Not sensitive to capturing the past
Important for the future of a product Need better tools Record the
history as well as final result!
Slide 17
Student Name Server Utah School of Computing slide 16 Fall 2009
Documentation Should not be a post-process Capture at time of
creation Hard problem, actually -Who should do it? -How should it
be accomplished? Expensive -Not always part of deliverable! Should
not be a post-process Capture at time of creation Hard problem,
actually -Who should do it? -How should it be accomplished?
Expensive -Not always part of deliverable!
Slide 18
Student Name Server Utah School of Computing slide 17 Fall 2009
Design Conventions Use standards for components Use standards for
style Dont 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 Dont re-invent
terms, tech, tools, etc. Make it as straightforward as possible for
others who work with you
Slide 19
Student Name Server Utah School of Computing slide 18 Fall 2009
Variant 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.
Slide 20
Student Name Server Utah School of Computing slide 19 Fall 2009
Lifecycle 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!
Slide 21
Student Name Server Utah School of Computing slide 20 Fall 2009
Design 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
Slide 22
Student Name Server Utah School of Computing slide 21 Fall 2009
Waterfall Model of Design System Concept Spec Sys Reqs
Architectural Design Detailed Design Implement, Integrate &
Test Deploy & Cash Check
Slide 23
Student Name Server Utah School of Computing slide 22 Fall 2009
Waterfall Model of Design System Concept Spec Sys Reqs
Architectural Design Detailed Design Implement, Integrate &
Test Deploy & Cash Check
Slide 24
Student Name Server Utah School of Computing slide 23 Fall 2009
Design Cycle Iterate on the design process repeatedly
Slide 25
Student Name Server Utah School of Computing slide 24 Fall 2009
Design 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.
Slide 26
Student Name Server Utah School of Computing slide 25 Fall 2009
Evolutionary Prototyping Start with initial conceptStart with
initial concept Design and implementDesign and implement initial
prototype Iterate throughIterate through prototype refinement
Complete and releaseComplete and release acceptable prototype Start
with initial conceptStart with initial concept Design and
implementDesign and implement initial prototype Iterate
throughIterate through prototype refinement Complete and
releaseComplete and release acceptable prototype
Slide 27
Student Name Server Utah School of Computing slide 26 Fall 2009
ilities of Design Maintainability Portability Readability
Flexibility Testability Etc, etc. Maintainability Portability
Readability Flexibility Testability Etc, etc.
Slide 28
Student Name Server Utah School of Computing slide 27 Fall 2009
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
Slide 29
Student Name Server Utah School of Computing slide 28 Fall 2009
Banana Envelope Number of Items Difficulty of Items Iso-curves for
equivalent effort x x x x x x x x
Slide 30
Student Name Server Utah School of Computing slide 29 Fall 2009
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
Slide 31
Student Name Server Utah School of Computing slide 30 Fall 2009
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
Slide 32
Student Name Server Utah School of Computing slide 31 Fall 2009
Design 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
Slide 33
Student Name Server Utah School of Computing slide 32 Fall 2009
Testing and Validation Important stuff! Expensive phase Underdone
activity -Alpha testing -Beta testing Important stuff! Expensive
phase Underdone activity -Alpha testing -Beta testing
Slide 34
Student Name Server Utah School of Computing slide 33 Fall 2009
Design 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
Slide 35
Student Name Server Utah School of Computing slide 34 Fall 2009
Design 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?
Slide 36
Student Name Server Utah School of Computing slide 35 Fall 2009
Debugging 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
Slide 37
Student Name Server Utah School of Computing slide 36 Fall 2009
Design 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?
Slide 38
Student Name Server Utah School of Computing slide 37 Fall 2009
Design 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
Slide 39
Student Name Server Utah School of Computing slide 38 Fall 2009
Consider 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
Slide 40
Student Name Server Utah School of Computing slide 39 Fall 2009
Msg: 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!
Slide 41
Utah School of Computing Design Methodology End End Lecture Set
12