ch 10 prototyping page 1 cs 368 prototyping an initial version of a software system used to...

7
Ch 10 Prototyping page 1 CS 368 Prototyping an initial version of a software system used to demonstrate concepts, compare design alternatives and to explore the problem and possible solutions. it should be suitable for representative users to interact with in order to observe their behavior and identify potential usability problems. heavily used in industry: automotive, consumer electronics

Post on 22-Dec-2015

214 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Ch 10 Prototyping page 1 CS 368 Prototyping an initial version of a software system used to demonstrate concepts, compare design alternatives and to explore

Ch 10 Prototyping page 1CS 368

Prototyping

• an initial version of a software system used to demonstrate concepts, compare design alternatives and to explore the problem and possible solutions.

• it should be suitable for representative users to interact with in order to observe their behavior and identify potential usability problems.

• heavily used in industry: automotive, consumer electronics

Page 2: Ch 10 Prototyping page 1 CS 368 Prototyping an initial version of a software system used to demonstrate concepts, compare design alternatives and to explore

Ch 10 Prototyping page 2CS 368

Looking for Innovation

• strive for multiple designs early to discover the best solution

• product designers are trained to consider alternatives, software developers generally are not

• most ideas are evolutionary rather than revolutionary

• humans tend to build upon what they already know rather than truly think out of the box

• Examples of true innovation

Doc Brown invented the flux capacitor which is the basis for time travel

velcro

amazon.cm “one click”

post-it notes

Page 3: Ch 10 Prototyping page 1 CS 368 Prototyping an initial version of a software system used to demonstrate concepts, compare design alternatives and to explore

Ch 10 Prototyping page 3CS 368

Advantages

• relatively cheap and quick to create

• a lot of bang for the buck

• the user can better clarify her needs by seeing the features in action

• actually shortens development time by identifying problems early when it is easier to make changes

• enhances communication with the user

• supports an iterative design process

Page 4: Ch 10 Prototyping page 1 CS 368 Prototyping an initial version of a software system used to demonstrate concepts, compare design alternatives and to explore

Ch 10 Prototyping page 4CS 368

Types of Prototypes

• Low Fidelity

quick and cheap to create

might not look realistic

limited functionality

used early in the specification or design phase

• Demonstration

targeted functional for specific concepts

user can respond to the demonstration

• High Fidelity

more realistic

slower to develop and more expensive

nearly complete functionality

more effective towards the end of the design phase

Page 5: Ch 10 Prototyping page 1 CS 368 Prototyping an initial version of a software system used to demonstrate concepts, compare design alternatives and to explore

Ch 10 Prototyping page 5CS 368

Additional Strategies

• Evolutionary

make incremental changes to the ‘final’ product

designers may feel overly committed and limit their choices

• Throw Away

forced to start from scratch

• Local vs Global Features

depth vs breadth

perhaps implement one menu instead of all of them

• Wizard of Oz

create the illusion of a functional application under the control of someone in the background

could be done for a voice application

Page 6: Ch 10 Prototyping page 1 CS 368 Prototyping an initial version of a software system used to demonstrate concepts, compare design alternatives and to explore

Ch 10 Prototyping page 6CS 368

Prototyping Tools

• Visual Basic for relatively quick event-driven prototypes

• Scripting languages such as Python allow for rapid development

• Tkl / tk

• HTML authoring tools

• Paper

google “paper prototyping” for resources

Page 7: Ch 10 Prototyping page 1 CS 368 Prototyping an initial version of a software system used to demonstrate concepts, compare design alternatives and to explore

Ch 10 Prototyping page 7CS 368

Group Activity

• Day 1

introduce the problem

explain the prototyping materials

• Day 2

iterative design and refine the prototype

• Day 3

send envoys out to the other groups

each group has a puppeteer and scribe

note usability problems

• Possible projects

Restrict interaction style to Menus for Linux commands

Phone message system for a receptionist to take messages