william h. bowers – [email protected] making software considerate cooper 14

24
William H. Bowers – [email protected] William H. Bowers – [email protected] Making Software Making Software Considerate Considerate Cooper 14 Cooper 14

Upload: dustin-webb

Post on 02-Jan-2016

224 views

Category:

Documents


1 download

TRANSCRIPT

William H. Bowers – [email protected] H. Bowers – [email protected]

Making Software Making Software ConsiderateConsiderate

Cooper 14Cooper 14

William H. Bowers – [email protected] H. Bowers – [email protected]

AgendaAgenda

Designing Considerate SoftwareDesigning Considerate Software CharacteristicsCharacteristics

– Takes an InterestTakes an Interest– Is DeferentialIs Deferential– Is ForthcomingIs Forthcoming– Uses Common SenseUses Common Sense– Anticipates NeedsAnticipates Needs

William H. Bowers – [email protected] H. Bowers – [email protected]

AgendaAgenda

CharacteristicsCharacteristics– Is ConscientiousIs Conscientious– Doesn’t Burden You with its Personal Doesn’t Burden You with its Personal

ProblemsProblems– Keeps Us InformedKeeps Us Informed– Is PerceptiveIs Perceptive

William H. Bowers – [email protected] H. Bowers – [email protected]

AgendaAgenda

CharacteristicsCharacteristics– Is Self-ConfidentIs Self-Confident– Doesn’t Ask a Lot of QuestionsDoesn’t Ask a Lot of Questions– Fails GracefullyFails Gracefully– Knows When to Bend the RulesKnows When to Bend the Rules– Takes ResponsibilityTakes Responsibility

William H. Bowers – [email protected] H. Bowers – [email protected]

Designing Considerate Designing Considerate SoftwareSoftware Put needs of user firstPut needs of user first RespectfulRespectful GenerousGenerous HelpfulHelpful Independent of UIIndependent of UI

William H. Bowers – [email protected] H. Bowers – [email protected]

CharacteristicsCharacteristics

Takes an interestTakes an interest Is deferentialIs deferential Is forthcomingIs forthcoming Uses common senseUses common sense Anticipates needsAnticipates needs

William H. Bowers – [email protected] H. Bowers – [email protected]

CharacteristicsCharacteristics

Is conscientiousIs conscientious Doesn’t burden you with its Doesn’t burden you with its

personal problemspersonal problems Keeps you informedKeeps you informed Is perceptiveIs perceptive

William H. Bowers – [email protected] H. Bowers – [email protected]

CharacteristicsCharacteristics

Is self-confidentIs self-confident Doesn’t ask a lot of questionsDoesn’t ask a lot of questions Fails gracefullyFails gracefully Knows when to bend the rulesKnows when to bend the rules Takes responsibilityTakes responsibility

William H. Bowers – [email protected] H. Bowers – [email protected]

Takes an InterestTakes an Interest

Remembers our work habitsRemembers our work habits Does not demand then discard Does not demand then discard

informationinformation

William H. Bowers – [email protected] H. Bowers – [email protected]

Is DeferentialIs Deferential

Inconsiderate software passes Inconsiderate software passes judgment on user actionsjudgment on user actions

Considerate expresses an opinionConsiderate expresses an opinion Makes suggestionsMakes suggestions Explains consequencesExplains consequences Submits to the userSubmits to the user

William H. Bowers – [email protected] H. Bowers – [email protected]

Is ForthcomingIs Forthcoming

Volunteers related informationVolunteers related information Provides hardware feedbackProvides hardware feedback

– Printer statusPrinter status– Printer needs (low paper)Printer needs (low paper)

William H. Bowers – [email protected] H. Bowers – [email protected]

Uses Common SenseUses Common Sense

Puts appropriate functions in Puts appropriate functions in appropriate placesappropriate places

Doesn’t put dangerous, Doesn’t put dangerous, irreversible actions near routine irreversible actions near routine onesones

William H. Bowers – [email protected] H. Bowers – [email protected]

Anticipates NeedsAnticipates Needs

Pre-loading web pages linked to Pre-loading web pages linked to the current onethe current one

Read ahead buffersRead ahead buffers

William H. Bowers – [email protected] H. Bowers – [email protected]

Is ConscientiousIs Conscientious

Focuses on goals, not tasksFocuses on goals, not tasks Automatically backs up Automatically backs up

documents before writing new documents before writing new one without askingone without asking

William H. Bowers – [email protected] H. Bowers – [email protected]

Doesn’t Burden You with its Doesn’t Burden You with its Personal ProblemsPersonal Problems ““Whines at us with error Whines at us with error

messages”messages” Interrupts with confirmation Interrupts with confirmation

dialogsdialogs Notifies us of success Notifies us of success

unnecessarilyunnecessarily

William H. Bowers – [email protected] H. Bowers – [email protected]

Keeps Us InformedKeeps Us Informed

Rich feedbackRich feedback Modeless feedbackModeless feedback

William H. Bowers – [email protected] H. Bowers – [email protected]

Is PerceptiveIs Perceptive

Observes usageObserves usage Recognizes patterns of useRecognizes patterns of use Offers relevant informationOffers relevant information Remembers and predicts Remembers and predicts

preferencespreferences

William H. Bowers – [email protected] H. Bowers – [email protected]

Is Self-ConfidentIs Self-Confident

Does not use unnecessary Does not use unnecessary confirmation dialogsconfirmation dialogs

Performs actions appropriately as Performs actions appropriately as requestedrequested

William H. Bowers – [email protected] H. Bowers – [email protected]

Doesn’t Ask a Lot of Doesn’t Ask a Lot of QuestionsQuestions Too many choices are an ordealToo many choices are an ordeal Should not interrogateShould not interrogate Presents only valid choicesPresents only valid choices

William H. Bowers – [email protected] H. Bowers – [email protected]

Fails GracefullyFails Gracefully

Crashes usually discard existing Crashes usually discard existing datadata

Error messages are generally Error messages are generally uselessuseless

Failures are not isolatedFailures are not isolated

William H. Bowers – [email protected] H. Bowers – [email protected]

Knows When to Bend the Knows When to Bend the RulesRules Two states – compliance, non-Two states – compliance, non-

compliancecompliance No in between allowedNo in between allowed ““Fudgeability”Fudgeability” Rigidity is the result of the Rigidity is the result of the

implementation modelimplementation model Humans require fudge factorsHumans require fudge factors

William H. Bowers – [email protected] H. Bowers – [email protected]

Knows When to Bend the Knows When to Bend the RulesRules Flexibility reduces mistakesFlexibility reduces mistakes Inflexibility casts users and Inflexibility casts users and

software as adversariessoftware as adversaries Prevents users from reaching Prevents users from reaching

goalsgoals

William H. Bowers – [email protected] H. Bowers – [email protected]

Takes ResponsibilityTakes Responsibility

Typical print operationTypical print operation– Spools printSpools print– Cancel stops printingCancel stops printing– Cancel does not purge printer Cancel does not purge printer

memorymemory– Reports cancellationReports cancellation– Prints unnecessary pagesPrints unnecessary pages

William H. Bowers – [email protected] H. Bowers – [email protected]

Questions & DiscussionQuestions & Discussion