53
©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 1 Shahani Markus Weerawarana CS 3022 User Interface Design Lecture 9

Lecture 9 - UI Design

Embed Size (px)

DESCRIPTION

ui design lecture

Citation preview

Page 1: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 1

Shahani Markus Weerawarana

CS 3022

User Interface Design

Lecture 9

Page 2: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 2

Objectives

● To suggest some general design principles for user interface design

● To explain good design practices and bad design practices

● To introduce some basic GUI design elements● To explain different interaction styles and their uses

Page 3: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 3

Overview

● Introduction to usability● User interface design principles● Graphical user interface elements● User interface interaction styles

Page 4: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 4

Interactive Systems Design

● Two aspects must be addressed in interactive systems design• How should information from the user be provided

to the computer system?• How should information from the computer

system be presented to the user?

Usabilityand

User Centered Design

Page 5: Lecture 9 - UI Design

5

What is Usability?

ISO 9241 usability definition

The effectiveness, efficiency, and satisfaction with which specified users can achieve specified goals in particular environments.

Page 6: Lecture 9 - UI Design

6

Why is Usability Important?

1. The fate of the world

2. The Apple iPhone

Page 7: Lecture 9 - UI Design

7

1. The Fate of the World

The 2001 Florida Ballot Incident

Bush won Florida by a 537-vote margin in official results

Page 8: Lecture 9 - UI Design

8

The Florida Ballot

• 5,330 Palm Beach County residents invalidated their ballots by punching for Gore and Reform Party candidate Pat Buchanan.

• Almost half of them were 65 or older and Democrats.

Page 9: Lecture 9 - UI Design

9

End Result of the Poor Ballot Design!

Page 10: Lecture 9 - UI Design

10

Why is Usability Important?

1. The fate of the world

2. The Apple iPhone

Page 11: Lecture 9 - UI Design

11

2. The Apple iPhone

Page 12: Lecture 9 - UI Design

12

Focus on Usability and Design

Page 13: Lecture 9 - UI Design

13

The Implications of Usability

Page 14: Lecture 9 - UI Design

14

Usability vs. Specification

Initiation

Requirement

Specification

Implementation

Testing

We test them here

Is it too late?

Architecture & Design

We design the user interface here

Page 15: Lecture 9 - UI Design

15

User Centered Design

UI Design + Testing

Initiation

Requirement

Specification

Implementation

Testing

Architecture & Design

Page 16: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 16

The User Interface

● User interfaces should be designed to match the skills, experience and expectations of its anticipated users.

● System users often judge a system by its System users often judge a system by its interface rather than its functionality!interface rather than its functionality!

● A poorly designed interface can cause a user to make catastrophic errors.

● Poor user interface design is the reason why so many software systems are never used.

Page 17: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 17

Overview

● Introduction to usability● User interface design principles● Graphical user interface elements● User interface interaction styles

Page 18: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 18

Human Factors in Interface Design

● Limited short-term memory• People can instantaneously remember about 7 items of

information. If you present more than this, they are more liable to make mistakes.

● People make mistakes• When people make mistakes and systems go wrong,

inappropriate alarms and messages can increase stress and hence the likelihood of more mistakes.

● People are different• People have a wide range of physical capabilities. Designers

should not just design for their own capabilities.● People have different interaction preferences

• Some like pictures, some like text.

Page 19: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 19

People Are Different...

Page 20: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 20

•People Have Different Interaction Preferences...

● Paper plane - origami folding instructions :● Fold the sheet in half along the line and then

open it out again● Fold the two top corners in to the center line● Then fold the top large triangle over so that

the two flaps formed in step 2 are underneath the large triangle

● Fold the two top corners into the center line again

● Fold the small triangle up over the two flaps● Fold along the center line so that the small

triangle is on the underside of the plane on the outside along with the two flap

● Fold along the line then turn the plane over and do the same to the other side

● and your airplane Done!

Page 21: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 21

UI Design Principles

● UI design must take account of the needs, experience and capabilities of the system users.

● Designers should be aware of people’s physical and mental limitations (e.g. limited short-term memory) and should recognize that people make mistakes.

● UI design principles underlie interface designs although not all principles are applicable to all designs.

Page 22: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 22

User Interface Design Principles

Principle Description

User familiarity The interface should use terms and concepts which are drawnfrom the experience of the people who will make most use of thesystem.

Consistency The interface should be consistent in that, wherever possible,comparable operations should be activated in the same way.

Minimal surprise Users should never be surprised by the behaviour of a system.

Recoverability The interface should include mechanisms to allow users torecover from errors.

User guidance The interface should provide meaningful feedback when errorsoccur and provide context-sensitive user help facilities.

User diversity The interface should provide appropriate interaction facilities fordifferent types of system user.

Page 23: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 23

UI Design Principles

● User FamiliarityUser Familiarity• The interface should be based on user-oriented

terms and concepts rather than computer concepts. For example, an office system should use concepts such as letters, documents, folders etc. rather than directories, file identifiers, etc.• Examples:

❥ Kalzium❥ Google Earth❥ iPod Touch Album Selection❥ World Cup Cricket Schedule at CricBuzz -

http://www.cricbuzz.com/cricket-schedule/series/228/icc-world-cup-2011

Page 24: Lecture 9 - UI Design

24

Kalzium

Page 25: Lecture 9 - UI Design

25

Google Earth

Page 26: Lecture 9 - UI Design

26

Album Selection on Multi-Touch Mobiles

Page 27: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 27

UI Design Principles

● User FamiliarityUser Familiarity• User familiarity can be used to “seamlessly” correct

user interface errors in future versions• Example:

❥ Correction of “Start” menu of Windows in future versions

Page 28: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 28

Page 29: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 29

Page 30: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 30

UI Design Principles

● User FamiliarityUser Familiarity• User familiarity can be used to introduce users to

similar products• Examples:

❥ Making new users comfortable with Linux Desktops (and then showing them the additional features/power)

❥ Portable Apps

Page 31: Lecture 9 - UI Design

31

A Linux Desktop – similar to Windows

Page 32: Lecture 9 - UI Design

32

Portable Apps – similar to Windows Menu

Page 33: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 33

UI Design Principles

● ConsistencyConsistency• The system should display an appropriate level of

consistency. • Commands and menus should have the same format,

command punctuation should be similar, etc.• Example:

❥ Microsoft Office Product Suite

Page 34: Lecture 9 - UI Design

34

MS Office 2007: Ribbon UI Pattern

Page 35: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 35

UI Design Principles

● Minimal SurpriseMinimal Surprise• If a command operates in a known way, the user should be

able to predict the operation of comparable commands.● RecoverabilityRecoverability

• The system should provide some resilience to user errors and allow the user to recover from errors. This might include an undo facility, confirmation of destructive actions, 'soft' deletes, etc.

● User GuidanceUser Guidance• Some user guidance such as help systems, on-line manuals, etc.

should be supplied● User DiversityUser Diversity

• Interaction facilities for different types of user should be supported. For example, some users are visually impaired, and therefore larger text should be available

Page 36: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 36

Sri Lanka Country Portal Interface

Video

http://www.youtube.com/watch?v=6rlHmE7KzT4

Page 37: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 37

Overview

● Introduction to usability● User interface design principles● Graphical user interface elements● User interface interaction styles

Page 38: Lecture 9 - UI Design

38

GUI Components: Simple Input

• What is the type of information received by each input field? • What’s the effect?

Intro | UI Design | Usability | User-centered

Text field Button

Text area Link

Enter Text Click to Submit

Enter Lots of text Link 1, link 2, link 3

Page 39: Lecture 9 - UI Design

39

Simple GUI components: Choosers

• What is the difference between a radio button and a check box?

• What is the choice domain and the choice range of each component?

Intro | UI Design | Usability | User-centered

Combo box Slider

Option 2

Option 1 Option 1

Option 2

Choose one

Radio button Checkbox

Page 40: Lecture 9 - UI Design

40

Larger Constructs

Pages(in Web-based systems)

Windows(in Desktop-based systems)

Intro | UI Design | Usability | User-centered

Page 41: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 41

Color Displays

● Color adds an extra dimension to an interface and can help the user understand complex information structures.

● Color can be used to highlight exceptional events.● Common mistakes in the use of color in

interface design include:• The use of color to communicate meaning;• The over-use of color in the display.

Page 42: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 42

Color Use Guidelines

● Limit the number of colors used and be conservative in their use.

● Use color change to show a change in system status.

● Use color coding to support the task that users are trying to perform.

● Use color coding in a thoughtful and consistent way.

● Be careful about color pairings.

Page 43: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 43

Error Messages

● Error message design is critically important. Poor error messages can mean that a user rejects rather than accepts a system.

● Messages should be polite, concise, consistent and constructive.

● The background and experience of users should be the determining factor in message design.

Page 44: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 44

Best Practices & Bad Practices

● User Interface Hall of Fame• http://homepage.mac.com/bradster/iarchitect/fame.htm

● User Interface Hall of Shame• http://homepage.mac.com/bradster/iarchitect/shame.htm

Page 45: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 45

Overview

● Introduction to usability● User interface design principles● Graphical user interface elements● User interface interaction styles

Page 46: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 46

Well Known Interaction Styles

Graphical User Interface (GUI)

Command LineInterface (CLI)

Voice Activated Interface

Intro | UI Design | Usability | User-centered

Page 47: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 47

Touch Interaction Style

Page 48: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 48

Multi-Touch Interaction Style

Page 49: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 49

Motion Based Interaction Style

Page 50: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 50

Gesture Based Interaction Style

Page 51: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 51

Multi-Touch Surfaces

Microsoft Surface

Video

http://www.youtube.com/watch?v=rKgU6ubBgJA

Page 52: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 52

Wearable Gestural Interface

Pranav Mistry: Sixth Sense at TED India

Video

http://www.youtube.com/watch?v=YrtANPtnhyg

Page 53: Lecture 9 - UI Design

©Ian Sommerville 2004 Software Engineering – Dr. S. M. Weerawarana 53

Innovations

SPARSH

Video

http://www.youtube.com/watch?v=58bjJKCQMgE