Prototyping Teppo Räisänen

Slides:



Advertisements
Similar presentations
Design, prototyping and construction
Advertisements

Systems Analysis, Prototyping and Iteration Systems Analysis.
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
CS3500 Software Engineering Legacy Systems (1) Legacy systems are software (and sometimes hardware) systems that have been developed sometime in the past.
Visual Design Teppo Räisänen
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
Day 5 Specifying designs. Objectives  Learn about the need for prototypes and user testing with these  Learn about different ways in which prototypes.
Course Wrap-Up IS 485, Professor Matt Thatcher. 2 C.J. Minard ( )
Chapter 9 Multimedia, Web Authoring, and More. Multimedia Multimedia integrates all kinds of information. Pages are linked by buttons. Story boards show.
Heuristic Evaluation of Usability Teppo Räisänen
Usability Teppo Räisänen
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.
Spring /6.831 User Interface Design and Implementation1 Lecture 6: User-Centered Design GR1 (project proposal & analysis) released today, due.
Web Design Process CMPT 281. Outline How do we know good sites from bad sites? Web design process Class design exercise.
Usability Testing – Part II Teppo Räisänen
The design process z Software engineering and the design process for interactive systems z Standards and guidelines as design rules z Usability engineering.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Human Computer Interaction & Usability Prototyping Design & Prototyping HCI Prototyping.
Requirements-definition User analysis
CSI315 Web Technology and Applications
Ibrahim A. Atoum Portable-02, Room-03 University of Hail, KSA
Usability Testing Teppo Räisänen
DMS 546/446 INTERFACE DESIGN AL LARSEN – SPRING 2008 PAPER PROTOTYPING Lecture draws from multiple sources, including: Jakob Nielsen, Shawn Medero (
HCI Prototyping Chapter 6 Prototyping. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “prototyping” –Explain the.
Design, prototyping and construction CSSE371 Steve Chenoweth and Chandan Rupakheti (Chapter 11- Interaction Design Text)
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
1 CSE 3345 User interface design A software engineering perspective Chapter 2: Prototyping and Iterative Design.
Slides for User interface design A software engineering perspective Soren Lauesen 2. Prototyping and iterative design August 2006 © 2005, Pearson Education.
Applied Pervasive Computing Presentation 3: Prototyping.
Prototyping. What is a prototype? In other design fields a prototype is a small- scale model: a miniature car a miniature building or town.
Software Engineering MCS-2 Lecture # 6
CS2003 Usability Engineering Human-Centred Design Dr Steve Love.
INFO 355Week #71 Systems Analysis II User and system interface design INFO 355 Glenn Booker.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
Chapter 9 Prototyping. Objectives  Describe the basic terminology of prototyping  Describe the role and techniques of prototyping  Enable you to produce.
Prototyping What prototyping is The benefits of prototyping Low-fidelity and high-fidelity prototypes, and the advantages of each How to build paper prototypes.
1 Human Computer Interaction Week 7 Prototyping. 2 Introduction Prototyping is a design technique where users can be involved in testing design ideas.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
1 Paper (low-fidelity) Prototypes. 2 When we are designing When we are thinking about design We are visualizing the interface inside our head (imaginary)
Software Prototyping Rapid software development to validate requirements.
Prototyping. REVIEW : Why a prototype? Helps with: –Screen layouts and information display –Work flow, task design –Technical issues –Difficult, controversial,
CS5103 Software Engineering Lecture 02 More on Software Process Models.
Click to add text Systems Analysis, Prototyping and Iteration.
Prototyping life cycle Important steps 1. Does prototyping suit the system 2. Abbreviated representation of requirements 3. Abbreviated design specification.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
The Design Process A bluffer’s guide to interface design A ‘proper’ Design process.
Design, prototyping and construction(Chapter 11).
Software Design and Development Development Methodoligies Computing Science.
Unit F451 Computer Fundamentals Components of a Computer System Software Data: Its representation, structure and management in information.
Rekayasa Perangkat Lunak Part-6
Information Systems Development
User-centred system design process
Chapter 16: User Interface Design
Prototyping.
Usability engineering
Wrapping up prototyping
Prototyping.
Prototype Model Lecture-4.
Jeliot 3 Spring 2004 Andrés Moreno García Niko Myller
HCI in the software process
Prototyping.
Information Systems Development
Design, prototyping and construction
Tools of Software Development
HCI in the software process
Human Computer Interaction Lecture 14 HCI in Software Process
Design, prototyping and construction
Presentation transcript:

Prototyping Teppo Räisänen

General Information Prototyping is commonly used as a part of user-centered design paradigms Prototyping was introduced during 1980s Prototyping has a strong position in Contextual Design method

General Information What is a prototype? Looks like a finished product? Behaves like a finished product? May have small faults or missing functionalities? Prototypes can be used in many ways To try out new features of an application Test a complete family of applications

Prototyping vs. Traditional methods According to some sources prototyping does not fit very well in ’waterfall’ design paradigm results of intermediate phases are not suitable for prototyping In waterfall model it is expensive to go back a step (e.g. from implementation back to design)

Prototyping vs. Traditional methods An experienced usability expert will be able to see some of the usability issues from the documentation This kind of practice is, however, inadequate Many usability issues will not be found One solution is to separate UI design to an independent subproject

Prototyping vs. Traditional methods Especially important is to use prototyping, when new product concepts are introduced Prototypes can also be used as a means of communication between project units Often parts of requirements spesification are intepreted in different ways Prototypes are useful for completing formal spesifications

Functional Prototypes Functional protoype is essentially a product with fully implemented functionalities The goal is still to keep the costs lower than those of a finished product There are basically three ways to cut the expenses

Functional Prototypes 1. Cut down the product features only part of all features are implemented the implemented features are fully functional 2. Cut down the functionalities all features are implemented some functionalities are missing

Functional Prototypes 3. Cut down resources used in implementation Memory optimization is not implemented Efficency is not maximized Very effective computers are used during testing to make up missing efficency Error hanling is not fully implemented

Functional Prototypes Often mixtures of aforementioned methods are used to cut down the costs of developing a prototype

Paper Prototypes In some cases it is practical to use paper prototypes instead of functional ones E.g. Contextual Design stresses use of paper prototypes Piece of paper is used to represent UI A member of usability staff arranges the UI according to user’s actions

Paper Prototypes Changes to the UI can be illustrated by Using Post-it labels Drawing to the paper Using various pieces of paper The person responsible for arranging the UI must know the underlying system well

Paper Prototypes E.g. heuristic evaluation methods can be used We will go into heuristics later in the course Use of paper prototypes is not restricted to just desktop applications Wood block => mobile device Cardbroad box => laptop computer Pencil => bar code reader

Paper Prototypes Various software tools can be used to sketch the contents of paper prototypes, e.g. Visual Basic for the UI views Flash for mobile device emulations It may be psychologically easier for the test person to suggest changes to a ballpark drawing

Paper Prototypes Compared to functional prototypes, paper prototypes are easier, faster and cheaper to produce Several degrees of accuracy can be used during iterative cycles

Wizard of Oz Wizard of Oz is a spesific technique of prototyping Used to test and demonstrate technically ’impossible’ features E.g. speech recognizing text editor in 1970s User believes he/she is using a computer-based system

Wizard of Oz In reality user’s actions are transmitted to a person, who processes actions and forms the feedback of the system Because of that, the response times can be quite long User can be told, that advanced processes are time-comsuming Several ’wizards’ can be used to speed up system’s actions

Emulation Techniques Emulation = imitating a product’s functions using another product E.g. mobile devices can be emulated using desktop computers More processing power, thus no need for code optimization Ability to test device’s UI before hardware examples are manufactured

Emulation Techniques Emulator’s do not transmit a truthful image of a product, e.g. no physical buttons of the actual device different display format

Simulation Techniques Simulations are used to mimic a device by using another kind of technical enviroment E.g. flight simulators used for pilot training The difference between simulation and emulation is, that simulation utilizes the actual UI of a device

Simulation Techniques Simulation can be used during early design phases of a product, e.g. Model can be made of wood or plastic The hardware buttons are included in the model Buttons are wired to a computer system, which gives feedback according to the user’s actions

Simulation Techniques Simulations are effective means of marketing a product localization testing the physical adequacy of the product Simulations are generally more expensive than other forms of prototyping

Manuscripts A manuscript (like in a case of a movie) can be written of a product Manuscript will represent a spesific task, which is completed by using the product The goal is to demonstrate the product in daily use and advantages of using the product

Manuscripts Suitable formats of manuscripts are animations comic strips theater plays etc. Manuscripts are not to be used as testing methods Instead they are good for demonstrating a product to a large audience

After Prototype Has Been Used Usually the best choice is to throw the prototype away It is meant to be used as a sketch There are many real-world examples of failures, when code parts of prototypes have been used in products

After Prototype Has Been Used Prototypes, which ’look too good’ can be potentially dangerous: Customer may think, that the product is almost finished Management is not willing to throw ’almost finished’ parts of prototype away One way of avoiding prototype’s code to be used is to implement prototype with a language unsuitable for for the product