copyright © robert w. hasker, 2005-2015 based on about face 4 th ed: cooper, reimann, cronin

42
UX Note 3 Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Upload: eunice-wilcox

Post on 19-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

UX Note 3

Copyright © Robert W. Hasker, 2005-2015Based on About Face 4th Ed: Cooper, Reimann,

Cronin

Page 2: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Excise: actions not contributing to goal◦ Financial excise: taxes, insurance◦ Bicycle locks, repairing flats, oiling the chain

Software excise: configuration, manuals Goal: eliminate excise so user more

effective

Eliminating Excise

Page 3: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

GUI excise ◦ Must move/resize window before can do work ◦ Command-line interface excise: learning

commands ◦ GUI helps beginner, intermediate; cmd for expert◦ Solution: provide both GUI and command-line

interface can help in testing!

Training wheels ◦ allow dismissing support for beginners◦ Android power saver notifier – why?

Sources of excise

Page 4: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Computer excise ◦ Frequent & expensive updates for security

features that affect few users.

Visual excise◦ Work user does to decode visual information◦ Old software: special icons for beginners

printer icons, fax machines help beginner, eat screen space for everyone else

More excise

Page 5: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

VisualClutter

Page 6: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

VisualClutter

Full Page at33% zoom

Page 7: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

VisualClutter

Page 8: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

VisualClutter

Scrolling downseveral screens:

Page 9: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Visual

Clutter

What makes this cluttered?

Page 10: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

More subtle example

Page 11: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Stopping the proceedings with idiocy◦ Bugs: break flow

“Impossible” query that hangs system◦ But also: senseless confirmations

More excise

Page 12: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Stopping the proceedings with idiocy◦ Bugs: break flow

“Impossible” query that hangs system◦ But also: senseless confirmations

- Why can’t system fix this? - Which saves my rules? - What does Cancel do?

More excise

Page 13: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Stopping the proceedings with idiocy◦ Bugs: break flow

“Impossible” query that hangs system◦ But also: senseless confirmations

- Why can’t system fix this? - Which saves my rules? - What does Cancel do?

Errors and notifiers◦ All are excise!◦ Don’t tell user something

they can’t fix

More excise

Page 14: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Confirmations◦ Must minimize “are you sure?” messages◦ But don’t make the user ask permission!

i.e.: go through gate-keeper action to get to data change

Example: requiring choosing a menu item to enable modifications to data in table

Passwords – do we need so many? Undo: addresses various UI problems

More excise

Page 15: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

The tool for avoiding "do you really want to do that?" questions

note: users are not thinking in terms of mistakes to be undone ◦ better viewpoint: user tries something, wants to

undo it to try something else a simple trial isn't an error, it's an experiment!

◦ goal of undo: permit exploration

Undo

Page 16: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

incremental: apply operation to some piece of data procedural: apply operation with no specific data; eg, right-

aligning whole document blind undo: undo operations with no indication of what will

be undone explanatory undo: letting user know what will be undone

◦ difficult, but certainly useful! single vs. multiple undo

◦ can user undo just one operation or many? ◦ single undo should be seen as the minimum ◦ multiple undo usually based on stack (LIFO) - is this the best model?

ok when need to undo one change to get back whole paragraphs a pain if have to undo several big operations to get back small but

important piece of data ◦ multiple undo almost requires a redo operation

Types of Undo

Page 17: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Undo solutions:◦ Keep copies of states so they can be restored◦ Versioning systems (CVS, Subversion, StarTeam, etc.)

should probably build more support into products for this!◦ Command pattern – the solution you’ll use this semester

Should undo be per-session or per-document?◦ Can simply store the command chains w/ the document◦ Space is cheap!

Issue: is a stack really the right model?◦ Easier to implement◦ Requires user to undo all intervening actions to recover (say) a

deleted paragraph◦ Textbook: provide a menu of undoable operations, allow the user to

pick this notion may need more research Will use a stack-based model for your project this semester

Undo Solutions

Page 18: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Patterns: solutions to common problems Basic behind command pattern: store

commands as objects◦ base class defines

abstract execute()◦ subclasses:

implement execute() Uses

◦ All menus, buttons, etc. can invoke same action◦ Stack commands for undo/redo◦ Share common bits of operations

Command Pattern

Page 19: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Applied to phonebook.java:

◦ Remove, add: core commands◦ Two lists of commands; clear undone on new cmd

Command pattern applied

Page 20: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Implements GUI/policy/data layers History part of policy layer, encapsulates

undo/redo◦ Handler doesn’t need to track this!

Phonebook: current contents; Map provides lookup Add: points to entry so can redo the add Remove: uses entry in undo

More phonebook details

Page 21: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Issues to decide◦ What data to store?◦ Have a few “intelligent” commands, or lots of

small ones?◦ Provide way to group commands into a unit?◦ Need way to save commands without exposing

internal details?

More phonebook details

Page 22: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Other ramifications:◦ Macro = sequence of commands◦ User might define own commands & assoc w/

menus◦ Can log commands to handle system crashes,

accountability, etc.

More phonebook details

Page 23: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Forcing user to go to another window to perform operation affecting this window:

“Asking permission“: extra steps to change data◦ Cause: separating output from input because it makes sense to

the programmer◦ Fix: allow user to change the data, provide undo for fixes ◦ Better: "allow input wherever you have output“

Why can't a document name be changed on the menu bar?

Common Excise Traps

Page 24: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Forcing user to remember where things placed in hierarchical file system◦ placing projects in folders in "Program Files“

difficult to back up Forcing user to resize windows unnecessarily

◦ especially an issue in popups◦ size for contents w/ no wasted space, no scrolling

Forcing user to move windows ◦ use unused desktop space ◦ but how to know what's unused?

Forcing user to reenter personal settings ◦ starting point: window placement◦ also: fonts, sounds, other options ◦ how to support in multi-computer environment?

Common Excise Traps, cont.

Page 25: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Forcing user to enter data just to increase completeness ◦ allow users to leave

blank fields where can provide results

◦ Simple example: surveys Why not force

respondents to answer all questions?

◦ Why do I have to enter my cat’s name to compare foods?

Common Excise Traps, cont.

Page 26: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Forcing user to enter data just to increase completeness ◦ allow users to leave

blank fields where can provide results

◦ Simple example: surveys Why not force

respondents to answer all questions?

◦ Why do I have to enter my cat’s name to compare foods?

Common Excise Traps, cont.

Make all required data entry a business decision!

Page 27: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Forcing user to confirm actions◦ Provide undo ◦ Confirmation is necessary when

operation has no inverse: removing table from database dangerous actions are about to take place (industry,

military, etc.): Launch ICBM? Allowing user's actions to result in an error

◦ eg: being able to check out when ordering cart is empty◦ Disable actions that make no sense

Unnecessary restrictions◦ Excel: only allows one file to be open with same name at

a time, even if they had different paths ◦ Why even restrict opening same file multiple times?

Common Excise Traps, cont.

Page 28: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Switching windows, finding menu items, browsing for files

All navigation is excise◦ Remember goal: keep user "in the flow" ◦ Games may be the biggest exception to this… ◦ Cause: restrictions of I/O devices ◦ Navigation is also excise in web sites!

Me: could navigation be the number one user interface problem? ◦ Many applications doing better about flow, orchestration

lots of imaginative tools and feedback in "dusty corners" ◦ Multiple frames, toolbars, menus: users have to search to

find needed tools

Navigation

Page 29: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Navigation between windows: very disorienting◦ Multiple windows: hard to keep track of where things

are ◦ Increase chances of searching for needed information◦ Must pay careful attention to what information is where

Navigation between panes: ◦ Better, but many panes = confusion◦ Splitters: lots of adjustments◦ But useful: can get all useful information on screen at

once

Types of Navigation

Page 30: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Tabbed panes ◦ Useful if tab labels are meaningful and

displayed well ◦ But consider MS Word 2003:

Clicked all tabs to find settings Lots of engineering decisions

on how to classify items

Types of Navigation

Page 31: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Obviously: frequent operations on toolbar◦ How many use toolbar cut & paste?

Must: minimize mouse movements ◦ Use right mouse button for context-sensitive controls

Hierarchy on toolbars is dangerous◦ Photoshop elements & hidden paint bucket

Allow toolbars to be reconfigured ◦ Standard: add, remove, reorder items◦ All operations must be in menus!

Navigation via Tools & Menus

Page 32: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Issue: how to navigate through lots of information?◦ Scrolling: useful tool, but think before using◦ Separate pages: good if appropriate for user

model do a cluster analysis - keep most related things

together ◦ Linking: visual context cues paramount

In browser: provided by address bar, page style

Navigation through Information

Page 33: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Basic principle: navigation is excise

Avoid: navigation between windows

Manageable: navigation between panes

Tools & menus: minimize mouse movements

Information: analyze what’s being presented

Navigation Review

Page 34: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Ways:◦ Reduce # places to go◦ Provide signposts◦ Provide overviews◦ Map controls to functions carefully◦ Avoid deep hierarchies

Will consider each…

Improving Navigation

Page 35: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Minimize number of pages and windows Minimize number of panes to be placed adjacent

to each other ◦ Visual Studio: makes user work out what's needed!

Limit number of controls on screen to what's really likely to be used ◦ Let user decide…

Minimize scrolling Avoid zooming; make discretionary, not required In general: minimize mouse miles and clicks

Reduce # Places to Go

Page 36: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Visual cues on page for status, hints on what to do next ◦ Put operations next to data to be manipulated!?

Web pages: make each distinct page look different ◦ Difficult to find a room in a building where all walls are gray!

Common signposts ◦ Menus: reliable, consistent way to get at operations

Generally fix menu content - keep those seat ejectors hidden If do add to menu on the fly, add at bottom

◦ Toolbars Caution: protect against removal

Early versions of Netscape allowed accidental removals

◦ Breadcrumb navigation (esp. web pages) Overviews – also an effective tool for orienting user

◦ Thumbnails – see lower right corner in Rational Rose diagram editor

Provide Signposts, Overviews

Page 37: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Consider:

◦ Make target of control obvious from control placement

Sorts: separate menus for type, direction◦ Definitely not: “sort ascending, sort descending”◦ Better: “oldest first, smallest first, largest first”, etc.

Mapping Controls to Functions

Page 38: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Deeply nested hierarchies intimidating to most users

Solution: define collections, chose collection first

Some hierarchy is ok!◦ People understand category & subcategory◦ Problem: circular reasoning behind “a directory is

a folder with files and other folders in it”

Hierarchies

Page 39: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Reduce number of places to go◦ Minimize pages, windows

Provide signposts◦ Visual cues for status, context, hints of where to

go Provide overviews Map controls to function carefully Avoid deeply nested hierarchies

Improving Navigation

Page 40: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Problem: current file/save reflects our model How to improve?

◦ Auto-save document Provide (hidden) backup copy for abandoning

changes Support Control-S for the paranoid EVERYTHING undoable, including abandoning

changes◦ Remove Save As…

Allow user to change name on title bar Add explicit operation to move file location Make document format a property

Rethinking files and save

Page 41: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

More improvements◦ Store revision history with file

Allow user to name milestones in history◦ Provide publish operation to publish w/o history

New File menu:◦ New, Open..., Close, Rename/Reposition, Make

Snapshot Copy | Print | Make a Milestone, Revert to Milestone | Abandon Changes | Document Properties... | Exit

A good idea?◦ People resist these sorts of changes!

How many people still complain about the Office ribbons?◦ Users likely to learn a new model quickly!

Rethinking files and save

Page 42: Copyright © Robert W. Hasker, 2005-2015 Based on About Face 4 th Ed: Cooper, Reimann, Cronin

Removing excise◦ GUI, training, computer, visual, errors, notifiers,

confirmations Implementing undo

◦ Command pattern Reducing navigational excise

◦ Fewer places to go, signposts, overviews, mapping, avoiding hierarchies

Improvements to File menu

Review