william h. bowers – [email protected] making software considerate cooper 14
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