Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

34
Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    221
  • download

    4

Transcript of Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Page 1: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Ease of UseFun, Function and Freedom

CS 552 – Software Project and Practicum

Page 2: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Architecture Checklist

Metrics 4+1 Views Performance Trustworthiness

• Safe

• Reliable

• Secure

Operations and Administration Error Recovery Ease of Use

Page 3: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Poor Human Design

Page 4: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Ease of Use design objectives for HCI, ManualsForms, Printouts, Error Messages

Design Objective Technique

1. Be consistent Identical terminology, similar screen layout uniform escape routes, low response time variance

2. Provide shortcuts Direct menu access & function keys

3. Provide feedback Dashboards & warnings

4. Design tasks for completion.

Modularity

5. Fix errors efficiently Polite and comprehensive message, suggest changes

6. Easy action reversal ERASE commands, escape menus, update options

7. Local control Avoid frequent warnings & patronizing messages

8. Reduce short-term memory load

Simple displays, minimal use of windows, mnemonic coding, blank space, no clutter

9. Use surprise effectively Minimal highlighting, minimal input verification, avoid flashing and auditory messages

10. Keep user located Menu labels, graphic directories in help function, restrict menus to three levels

Page 5: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Asimov’s Laws of Robotics

0. A robot may not injure humanity or, through inaction, allow humanity to come to harm.

1. A robot may not injure a human being or, through inaction, allow a human being to come to harm, except where that would conflict with the Zeroth Law.

2. A robot must obey orders given it by human beings except where such orders would conflict with the First Law.

3. A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.

Page 6: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Good user interfaces:

Improve end user productivity Require data entry only once/item Reduce training time Reduce errors Enhance end user acceptance “Don’t try to correct poor software design with

good documentation.” Yuhas

Page 7: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Ease of use checklist

Simple and natural dialog Speak the end user’s language Minimize human memory load Consistent Provide feedback Provide clearly-marked exits Provide shortcuts Provide helpful error messages

Page 8: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Northern Telecom NEC AT&T ROLMOverall Satisfaction 1 2 3 4

Most Frequently Recommended System 1 3 4 2

Training 1 4 3 2

Documentation 1 4 2 3

Attendant Operation 1 4 3 2

Installation / Cutover 1 2 3 4

System Management 1 2 4 3

User Operation 1 3 3 2

Hardware Reliability 1 3 3 4

Maintenance / Service 2 3 1 4

Troubleshooting 1 2 3 3

Systems Performed as Expected 1 4 3 4

DATAPRO PBX USER SATISFACTION Case STUDY

As of 13Jan09 Northern Telecom went bankrupt

Page 9: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.
Page 10: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

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.

Thanks to Ian Sommerville 2004 Software Engineering, 7th edition for this slide.

Page 11: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Design concepts

Bend to familiarityThe 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.

Be ConsistentThe interfaces must be consistent from screen to screen.. Commands

and menus should be at the same place and have the same format,, etc.

No surprises A user should be able to infer the use of a command from similar

ones.

Page 12: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Even more design concepts

RecoverabilityThe system should contain the effects of user errors and allow

recovery with minimal effort. This might include an undo facility, confirmation of destructive actions, 'soft' deletes, etc.

User guidanceSome user guidance such as help systems, on-line manuals, etc.

should be supplied. The design should strive for a ‘zero-training’ ideal.

User diversityInteraction facilities for different types of user should be supported.

For example, both command lines and menus should be supported.

Page 13: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Interaction styles

Interactionstyle

Main advantages Main disadvantages Applicationexamples

Directmanipulation

Fast and intuitiveinteractionEasy to learn

May be hard to implement.Only suitable where there is avisual metaphor for tasks andobjects.

Video gamesCAD systems

Menuselection

Avoids user errorLittle typing required

Slow for experienced users.Can become complex if manymenu options.

Most general-purpose systems

Form fill-in Simple data entryEasy to learnCheckable

Takes up a lot of screen space.Causes problems where useroptions do not match the formfields.

Stock control,Personal loanprocessing

Commandlanguage

Powerful and flexible Hard to learn.Poor error management.

Operating systems,Command andcontrol systems

Naturallanguage

Accessible to casualusersEasily extended

Requires more typing.Natural language understandingsystems are unreliable.

Informationretrieval systems

© Thanks to Ian Sommerville 2004 Software Engineering, 7th edition for this slide.

Page 14: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Information presentation

© Thanks to Ian Sommerville 2004 Software Engineering, 7th edition for this slide.

Screen Layout

Display

Application Network Presentation

Data

Page 15: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Information presentation

Static information• Initialised at the beginning of a session. It does not change

during the session.

Dynamic information• Changes during a session and the changes must be

communicated to the end user.

Web sessions are one transaction with persistence remembered in a cookie.

Page 16: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Error messages reflect your design

Messages must be polite, concise, consistent, complete, constructive. and helpful,

Error codes are ok iff they are coupled with a text message telling the user how to correct the error.

Avoid cryptic error messages.

Page 17: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Analysis techniques

Task analysis• Models the steps involved in completing a task.• Model frequency and sequences of tasks

Interviewing and questionnaires• Asks the users and their bosses about the work they do.

Ethnography• Observes the user at work

Model the system.• Extend the life of the prototype to system delivery• Calibrate the prototype with data from the actual system• Measure system performance under projected loads and

enhancements

Page 18: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

The HCI design process

User analysis: Create the use cases Prototyping: Develop a series of HCI prototypes Interface evaluation: Experiment with these

prototypes with naïve users. Measure learning time, error rates, satisfaction…

Create encapsulation software object classes to separate screen layout details from data structure details.

Feedback the analysis of the experiments to the use cases that then influence the design

© Thanks to Ian Sommerville 2004 Software Engineering, 7th edition for this slide.

Page 19: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Humanistic Systems

“A computer shall not harm your work or, through inaction, allow your work to come to harm” Vesonder

An interface is humane if it is responsive to human needs and considerate of human frailties• Boot up - that the user should not be kept waiting

unnecessarily is an obvious and humane design principle

• Users should set the pace of interaction• Feedback status a la dashboards

A computer should not waste your time or require you to do more work than is strictly necessary• Never require data to be keyed twice

Page 20: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Color use guidelines

Limit the number of colors used and limit 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.

Be careful about color pairings.

Page 21: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Design factors in message wording

Factor Description

Context Wherever possible, the messages generated by the system should reflect the currentuser context. As far as is possible, the system should be aware of what the user is doingand should generate messages that are relevant to their current activity.

Experience As u sers become familiar with a s ystem they become irritated by long, ŌmeaningfulÕmessages. However, beginners find it difficult to understand short terse statements of aproblem. You should provide both types of message and allow the user to controlmessage conciseness.

Skill level Messages should be tailored to the userÕs skills as well as their experience. Messagesfor the different classes of user may be expressed in different ways depending on theterminology that is familiar to the reader.

Style Messages should be positive rather than negative. They should use the active ratherthan the passive mode of address. They should never be insulting or try to be funny.

Culture Wherever possible, the designer of messages should be familiar with the culture of thecountry where the system is sold. There are distinct cultural differences betweenEurope, Asia and America. A su itable message for one culture might be unacceptablein another.

© Ian Summerville 2004

Page 22: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Good and bad message design

Error #27

Invalid patient id

OK Cancel

System-oriented error messageUser-oriented error message

R. MacDonald is not a reg istered patient

Click on Patients for a list of patientsClick on Retry to re-input the patient’s nameClick on Help for more information

Patients Help Retry Cancel

© Ian Summerville 2004

Page 23: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Analysis techniques

Task analysis• Model each step involved in completing a task.• Model the sequences and repetition of tasks

Interviewing and questionnaires• Asks the users and their bosses, ‘what do you do?” and ‘who do

you work with?”

Ethnography• Observe the user at work

Model the system.• Extend the life of the prototype to system delivery• Calibrate the prototype with data from the actual system• Measure system performance under projected loads and

enhancements

Page 24: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

User analysis

If you don’t understand what the users want to do with a system, you have no realistic prospect of designing an effective interface.

User analyses have to be described in terms that users and other designers can understand.

Scenarios where you describe typical episodes of use, are one way of describing these analyses.

Page 25: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Interviewing

Design semi-structured interviews using open-ended questions.

Passive Listening technique Users will say what they think essential; not just

what you thought of collecting. Group interviews or focus groups allow users to

clarify their thinking and move form the subconscious to the conscious..

Page 26: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Ethnography

Involves an external observer watching users at work and asking them in an unscripted way about their work.

Valuable because many user tasks are intuitive and they find these very difficult to describe and explain.

Also helps understand the role of social and organisational influences on work.

Check the ‘postems’ on their terminals

Page 27: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Ethnographic example

Air traffic control involves a number of control ‘suites’ where the suites controlling adjacent sectors of airspace are physically located next to each other. Flights in a sector are represented by paper strips that are fitted into wooden racks in an order that reflects their position in the sector. If there are not enough slots in the rack (i.e. when the airspace is very busy), controllers spread the strips out on the desk in front of the rack.

When we were observing controllers, we noticed that controllers regularly glanced at the strip racks in the adjacent sector. We pointed this out to them and asked them why they did this. They replied that, if the adjacent controller has strips on their desk, then this meant that they would have a lot of flights entering their sector. They therefore tried to increase the speed of aircraft in the sector to ‘clear space’ for the incoming aircraft.

© Ian Summerville 2004

Page 28: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Insights from ethnography

Air Traffic Controllers had to see all flights in a sector, so scrolling displays where flights disappeared off the top or bottom of the display were unacceptable.

The HCI must indicate how many flights were in adjacent sectors so that controllers can plan their work.

© Thanks to Ian Sommerville 2004 Software Engineering, 7th edition for this slide.

Page 29: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.
Page 30: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Perception of elapsed time

Jones, For Principles of Main Computer Dialog Computer Aided Design, Vol. 10, No. 3, pg 197, May 1978

Instantaneous Less than 1/3 sec workstation

Fast 1/3 to 1 second transaction

Pause 1 to 10 seconds www

Wait More than 10 seconds

Page 31: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

HCI importance

End users often judge a system by its interface rather than its functionality

A poorly designed interface can cause a user to abuse the system

Match the skills, experience and expectations of end users.

Unusable interfaces is the shortest path to shelf-ware.

Page 32: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Usability attributes

© Ian Summerville 2004

Try to design and build Zero Training Systems

Page 33: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Design target: novice (N) or expert (E)

metric

Objective

Time-to-learn

Response time

Error Rate

Efficiency

Reliability

User Satisfaction

Effectiveness

1. Be consistent N N&E N&E N&E N&E N

2. Provide shortcuts E E E E E

3. Provide feedback N N&E N&E N&E

4. Design tasks for completion.

N N&E N&E

5. Fix errors efficiently

N&E N

6. Easy action reversal N N&E N&E N&E N&E N&E

7. Local control E E E E

8. Reduce short-term memory load

N N&E N&E N&E

9. Use surprise effectively

E N&E

10. Keep user located N N&E N&E N&E N&E N&E

Page 34: Ease of Use Fun, Function and Freedom CS 552 – Software Project and Practicum.

Design target: novice (N) or expert (E)

metricobjective

Time-to-learn

Response time

Error Rate Efficiency Reliability User Satisfaction

Effectiveness

1. Be consistent N N&E N&E N&E N&E N

2. Provide shortcuts E E E E E

3. Provide feedback N N&E N&E N&E

4. Design tasks for completion.

N N&E N&E

5. Fix errors efficiently

N&E N

6. Easy action reversal N N&E N&E N&E N&E N&E

7. Local control E E E E

8. Reduce short-term memory load

N N&E N&E N&E

9. Use surprise effectively

E N&E

10. Keep user located N N&E N&E N&E N&E N&E