chapter 12: designing good behavior making software considerate while efforts have been made to make...

27
Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite ), it is much more challenging to make software considerate.

Upload: cameron-cannon

Post on 29-Dec-2015

220 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Chapter 12: Designing Good BehaviorMaking Software Considerate

While efforts have been made to make software more polite (or at least

less impolite), it is much more challenging to make

software considerate.

Page 2: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Software as Trusted Confidante...When the user supplies information to the software, the software should retain that

information and not request it repeatedly.

Example: Unlike some on-line auction sites, eBay does not repeatedly ask users to enter their passwords with every bid

they make.

Page 3: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Software as...

…Obedient Servant

Software designers often forget that software is supposed to serve the user.

Software that issues commands and demands “submission” is hardly obedient.

…Sensible Advisor

Adding simple “sanity checks” to software to avoid extreme errors would eliminate many user complaints.

Million-copy print jobs and incessantly repeating warning messages are hardly sensible.

Page 4: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Software as...

…Great Anticipator

With vast processing power at their disposal, modern computers are capable of calculating what users might want to do next and plan accordingly, if designers develop the software to do so.

…Thorough Worker

Instead of taking a minimalist approach, performing the precise tasks specified by the user, software might be designed to “go the extra mile” and perform the full job that the user most likely needs to have done.

Page 5: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Software as Helpful Volunteer...Providing additional functionality that goes beyond what the user expects, and provides what the user actually needs, can delight current users, prompting them to become future users as well.

Example: Google provides a conversion calculator that accepts input that is almost conversational.

Page 6: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Software as...

…Non-Complainer

Most users don’t want to hear (and don’t want to deal with) the problems software experiences (errors, interrupts, notifications).

In many cases, having the software “work around” the problem would be vastly pleasing to the user.

…News Anchor

On the other hand, there are times when the user does need (and want) to be informed by the software (job status, preventive maintenance).

Modeless feedback is a useful means of relaying this type of data.

Page 7: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Software as...

…Perceptive Observer

By taking note of the user’s behavior and preferences, software could retrieve information and establish defaults that would maintain the user’s satisfaction.

…Secure Individual

Constantly questioning the user’s actions (e.g., when deleting a file) can be tedious.

If an undo capability exists, why not assume that the user will respond to his or her own missteps?

Page 8: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Software as...

…Respecter of Privacy

Software that forces the user to make confusing choices and to respond to annoying questions is hardly respectful.

At the very least, the user should be made aware of the consequences of these decisions.

…Good Loser

Designing software to periodically back up information in case of abnormal termination would soften the blow.

Similarly, retaining data that was correctly supplied in an on-line form lessens the tedium of the user starting over from scratch.

Page 9: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Software as Endearing Rascal...

AfterMail allows users to search the entire e-

mail system for relevant information, efficiently storing the data for easy access

while protecting it from unauthorized users.

At times, it’s important to have software “bend the rules” in order to achieve its goals.

Example: Most of an organization’s knowledge is contained within its e-mail system.

Page 10: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Making Software Smart

Cooper, Reimann, and Cronin don’t advocate making “intelligent” software that somehow performs advanced reasoning.

Instead, they suggest the need for producing software that works smart, by being effective under difficult conditions and by taking advantage of any processor idle time.

Page 11: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Unused Cycles

Humans (theoretically) think before they act, resulting in significant periods of time when their computers are relatively idle, awaiting instructions from the user.

Multithreading was developed as a means for operating systems to handle multiple processes simultaneously, devoting time slices to each process in turn.

Superthreading improved performance by allowing the unused cycles of an idle process to be used by an active process.

Simultaneous multithreading takes advantage of the fact that a CPU has multiple execution units (memory buses, registers, sub-ALUs), allowing different threads to execute separate instructions in the same cycle.

Page 12: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Cluster Computing

Another way to avoid wasting CPU cycles is to set up a workstation cluster, which allows machines to tap into the idle processors of neighboring machines whenever they’re performing intensive tasks.

Currently, this approach serves as an inexpensive way to accomplish parallel processing without huge investment in a supercomputer.

Research is being conducted to employ this technique in a transparent manner, using standard desktop office workstations.

Page 13: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Task Coherence

When performing the same task, users tend to follow the same patterns of behavior again and again.

• Startup & shutdown

• File opening & closing

• Formatting & printing

Why not preserve default settings or, even better, default patterns of operation?

Page 14: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Techno-AmnesiaWhat types of information should software remember?

Locations

Commonly accessed file directories

The bad news: Users might forget where files are when they need to sort

through the directories

Deductions

Information extrapolated from past behavior

The bad news: Users might be cautioned

improperly when they try doing something brand

newPast Actions

Undoable operations from previous sessions

The bad news: Users might inadvertently undo old operations that are truly needed

Old Data Entries

Previously entered information, to avoid reentering

The bad news: Users might accidentally use outdated data that needs updating

Page 15: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Chapter 13: Metaphors, Idioms, and Affordances

Designers of interactive software have often found it worthwhile to use metaphors to enable users to conceptualize the system.

Servant Metaphor• First-person• Application-specific lingo• Anthropomorphic

Desktop Metaphor• Visually oriented• Windows, icons, menus• Heavy mouse emphasis

Tool Metaphor• Physical interaction• Sense of construction• Access to technical details

“Clippy”

Page 16: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Metaphor ProblemsThere are three classic problems associated with the use of metaphors when designing

an interface.

The target domain lacks features of the

source domain.Example: Word

processors have a “replace” capability,

but typewriters don’t.

The source domain lacks features of the target

domain.Example: Typewriters

send an audible signal as you approach the end of

a line, but word processors don’t.

The domains have common features that behave

differently.Example: White space

(blank characters, tabs, line feeds) is treated differently

in word processors and typewriters.

Page 17: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Interface AlternativesThere are three basic methodologies for developing modern user interfaces.

Technical• Text-based• Relies on user

understanding

Metaphoric• Visual design• Relies on user intuition

Idiomatic• Domain-specific• Relies on user learning

ATM Kiosk Store Kiosk Subway Kiosk

Page 18: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Chapter 14: Visual Interface DesignNon-textual visual cues can often mean the difference between a clear interface

and a confusing one.

What do these icons mean?

Copy a file Print Enter data

Does color make a difference here?

GO!

GO!

STOP!

STOP!

Which multiple-selection widget is less confusing and less

troublesome?

Page 19: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Logical FlowAn interface possesses a visual structure that should have a logical flow, essentially the

natural sequence by which users will want to interact with its components.

If the user’s logical flow path through the application

results in eye movements that don’t follow a top-to-

bottom, left-to-right pattern, then a redesign might be in

order.

Page 20: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

SymmetryWhile it is often difficult to obtain complete symmetry in an interface, a certain degree of

visual balance tends to produce a more harmonious look and feel.

Vertical Symmetry

Diagonal Symmetry

Page 21: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Color: The Eyes Have It

The thin layer of nerve cells at the back of the eye is called the retina.

The light sensor cells capable of working over a wide range of illumination levels and providing quick response to

changes are called rods.

The section of the retina that reacts to color is called the fovea.

High resolution color imaging is provided by light sensor cells called cones, located in the fovea.

The “Tristimulus Theory of Color” hypothesizes that each cone is sensitive to either red green or

blue.

Page 22: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Color: The Eyes Have ItThe visible light spectrum of light,

illustrated at right, ranges from about 400 to 700 nanometers in the electromagnetic

energy spectrum.

Empirical studies indicate that the cones in the eye have different levels of sensitivity to different colors, indicating that the eye’s

response to pure blue light is much less strong than its response to pure red or green light.

The RGB phosphors used in cathode ray tubes do not exactly produce “pure” shades of red, green, and blue, as indicated in the

figure above, showing the eye’s response to the excited pixel colors.

Page 23: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Color Blindness

GUI developers must be sensitive to the fact that 10% of men (but only ½% of women) experience

some form of color-blindness.

Color-blindness is really just a deficiency in one’s sensitivity to particular colors, notably red-green or yellow-blue.

The top image as viewed by

someone with a red-green deficiency

(deuteranopia)

The top image as viewed by someone with yellow-blue deficiency (tritanopia)

Page 24: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Advantages of ColorColor displays can

be attractive to users and can improve task performance.

•CAN SOOTHE USERS OR ATTRACT ATTENTION.

•CAN SOOTHE USERS OR ATTRACT ATTENTION.•CAN ACCENTUATE AN

OTHERWISE BLAND DISPLAY.

•CAN ACCENTUATE AN OTHERWISE BLAND DISPLAY.

•CAN FACILITATE SUBTLE DISCRIMINATIONS IN COMPLEX DISPLAYS.

•CAN FACILITATE SUBTLE DISCRIMINATIONS IN COMPLEX DISPLAYS.

•CAN EMPHASIZE THE LOGICAL ORGANIZATION OF INFORMATION WITHIN A DISPLAY.

•CAN EMPHASIZE THE LOGICAL ORGANIZATION OF INFORMATION WITHIN A DISPLAY.

Page 25: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Chapter 14Visual Interface Design

Page 25

Disadvantages of ColorColor Connotations:

Cultural color associations might be misleading.Green, with its positive connotation, is associated with the Yes

button, but is deleting all records a good thing?

Color Contrast:Adequate contrast between foreground and background is essential for ensuring proper symbol detection.

Color Distraction:Excessive color in secondary display components may distract from the interface’s main

components.

Page 26: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Chromostereopsis

The use of extremely saturated colors can adversely affect the viewer’s perception.

With a white background, most viewers perceive the blue squares as being in

front, but with a black background, the red

squares appear to be in front.

Page 27: Chapter 12: Designing Good Behavior Making Software Considerate While efforts have been made to make software more polite (or at least less impolite),

Complementary Colors

Combining colors from opposite sides of the color wheel produces contrast, but frequently results in a loss of focus.

EXAMPLE

EXAMPLE

EXAMPLE

EXAMPLE

EXAMPLE

EXAMPLE