SlideShare a Scribd company logo
Error Messages in Software Applications Raghunath G. Soman
What Are Error Messages… “ Error message” refers to the text or image displayed by a program when it encounters some problem during its execution.  It can be: A Message box A Warning A Confirmation A Question, or  A Status Report
Most Error Messages are so bad… …  because  they’re written by people who have an intimate knowledge of the program! These people often fail to recognize that the program will be run by  other  people, who don’t have such knowledge.
An Ideal Error Message … Gives a  notification  that a problem occurred. Gives a brief  explanation  of why the problem occurred. And provides a  solution  to the user for fixing the problem.
A Good Error Message  Should… … be   Visible  and highly noticeable. … identify the program that is posting the error.  … provide   Explicit  indication that something has gone wrong and alert the user to the  specific  problem . … provide   Precise  description of problem, rather than vague generalities such as “ syntax error”.
A Good Error Message  Should… … provide  specific   details   as to how the problem may be solved. …  s uggest where the user can obtain further help.  … provide all the relevant information to the tech support.   … have   Human-readable  language: No obscure codes, abbreviations or jargon.
A Good Error Message  Should…  … give   Constructive advice   on how to fix the problem. Instead of just saying  "out of stock,"  it should either tell users when the product will be available or provide a way for the users to be notified when the product is restocked.  … Preserve   as much of the user's work as possible. Allow the users to correct only errors instead of having to do everything all over again.  … Reduce the work   of correcting the error. If possible, guess the correct action and let users pick it from a small list of fixes.
What is a "bad error message?" Simply put, a bad error message is a dialog box or error that doesn't make sense to anyone but the person who programmed it in the first place.
An Error Message Should  NOT … … suggest an action that will fail to solve the problem and thus waste the customer’s time. … contain information that is unhelpful, redundant, incomplete, or inaccurate.  … blame users or imply that they are either stupid or doing something wrong, as in  "illegal command."
Error Messages that suck…. Can anyone tell me  why  the Mac OS team chose a picture of a  bomb  to put on their error message? Not the most friendly thing to see…. Esp. when you have committed an error  ! ral: Do Not Scare your users!>
"Valid authentication credentials were not provided." ... Did it mean to say that my password is wrong?   al: Know your audience. Speak its language.>
This one states something that is entirely obvious… … but fails to state anything that is helpful.  If more than one error condition posts this dialog, there's no way to tell which one caused the problem. <Moral: Don’t just report the error, help to solve it.>
Really? Really? Which action? Which action?   How do I fix the problem? How do I fix the problem? Moral: Use meaningful sentences.>
Lots & Lots of data here… but User has no clue as to what to do. Based on the information presented in this message, why should the user choose  Yes ? Why should the user choose  No ? <Moral: Sometimes, too much info can be a bad idea.>
And one that shines… Error messages can't always be expressed in three simple sentences. Being concise is an important goal, but for critical messages it should not be the primary goal.
While writing error messages… Anticipate the possible error conditions.  Ensure that each condition in the program that has a chance of failure returns a  distinct  error code. Display this code as a part of the error message. Remember the program's state at the time when the error occurred, and permit the user to restore that state easily.
While writing error messages… Create error handling classes and functions to supply coherent, well-formatted error messages. Re-use them consistently.  Provide each and every error message to someone else for review. The reviewer should  not  be an expert in the program.   Use code reviews and walk-throughs with other developers and quality assurance to ensure that the program is readable, consistent, maintainable, and free of un-handled errors.
Usability Test For Error Messages Conduct an usability test on the error messages with your target users. Here are some things to check for: Did the users understand the context of the message?  Did they understand the message text?  Did they obtain all the information required to respond intelligently?  What decision did they make? Why?  Are they confident that they made the right decision?  Did they understand the consequences of the decision?  Was the decision correct under the circumstances?
To Conclude… The error messages will be read by: the customer,  the tech support person who handles the call, the quality assurance analyst who tracks down the problem, and  the maintenance programmer who is charged with fixing the problem in the code. Each person in this process represents a cost to the company. While the error-handling routine need be written only once, the support path is typically followed many times--tens, or hundreds, or thousands of times.
To Conclude… Developers, Testers, Technical writers and technical support team must form an alliance and work in tandem.  Costs required to solve/sandbag a problem after the product has been released should be taken into account. If the management wants to rush the product to market without leaving enough time for proper error handling, remind them politely of the cost of such an error !
References… Michael Bolton@  developsense.com Everett McKay@  msdn.microsoft.com http://www.klariti.com http://www.useit.com http://www.wideopendoors.net
 

More Related Content

PPT
Uml Activity Diagram
PDF
Sequence diagrams
PPT
PPTX
Html images syntax
PPTX
COCOMO (Software Engineering)
PDF
How Do You Build Software? Software Engineering Practices of an Agile Developer
PPTX
Component diagram
PPTX
Chapter 1 2 - some size factors
Uml Activity Diagram
Sequence diagrams
Html images syntax
COCOMO (Software Engineering)
How Do You Build Software? Software Engineering Practices of an Agile Developer
Component diagram
Chapter 1 2 - some size factors

What's hot (20)

PDF
Pipes & Filters Architectural Pattern
PPTX
Black box software testing
DOCX
Software engineering model
PPTX
Software Engineering unit 4
PDF
Module 1 uml - interaction diagram
PPTX
Component Diagram
PDF
Client side scripting
PPT
Pressman ch-3-prescriptive-process-models
PPTX
User interface (UI) for mobile applications
PPTX
Software project management Software economics
DOCX
Web Technology Lab File
PPT
Graphical User Interface (GUI) - 1
PPTX
Software development methodologies
PPT
Use case Diagram
PPTX
Web design - Working with tables in HTML
PPT
Pressman ch-11-component-level-design
PDF
Software Testing Tools | Edureka
PPTX
css.ppt
PPTX
Planning the development process
PPTX
White box & black box testing
Pipes & Filters Architectural Pattern
Black box software testing
Software engineering model
Software Engineering unit 4
Module 1 uml - interaction diagram
Component Diagram
Client side scripting
Pressman ch-3-prescriptive-process-models
User interface (UI) for mobile applications
Software project management Software economics
Web Technology Lab File
Graphical User Interface (GUI) - 1
Software development methodologies
Use case Diagram
Web design - Working with tables in HTML
Pressman ch-11-component-level-design
Software Testing Tools | Edureka
css.ppt
Planning the development process
White box & black box testing
Ad

Viewers also liked (8)

PPT
Error Message Improvement
PPT
Writing Effective Messages - Michelle Carey
PDF
Software bugs
DOCX
software failures
PPTX
TYPES OF COMPUTER SYSTEM ERRORS
PPTX
Ariane 5 launcher failure
DOCX
Concept of Failure, error, fault and defect
PPTX
Software testing ppt
Error Message Improvement
Writing Effective Messages - Michelle Carey
Software bugs
software failures
TYPES OF COMPUTER SYSTEM ERRORS
Ariane 5 launcher failure
Concept of Failure, error, fault and defect
Software testing ppt
Ad

Similar to Error Messages In Software Applications (20)

PPTX
EDD (Error Driven Development)
PPT
Usability
PPT
Designing Around Dialogs
PDF
Can't Handle My Scale
PPT
Ticket101
PPT
179 black-box-software-testing-copyright-2003-cem-kaner1652
PPTX
Soft-performance: Messages - ISTA 2014
PDF
Bug reporting
DOC
Week2 dq2
PDF
Widget Self Assessment
PPTX
Nielsen’s heuristics 9th evaluation
PPTX
UX & FinTech: 3 Ideas to Focus On
PDF
VISUAL_BASIC_LECTURE_NOTE_A_Z_MADE_EASY.pdf
PPTX
Software piracy
PDF
The D language comes to help
PPT
Usability Heuristics
PDF
Essay On Importance Of Reading Habits. Online assignment writing service.
ODP
Presentasi malioboro--10-des-2010
PPTX
Week 13
PDF
Design Document Final for HELP application
EDD (Error Driven Development)
Usability
Designing Around Dialogs
Can't Handle My Scale
Ticket101
179 black-box-software-testing-copyright-2003-cem-kaner1652
Soft-performance: Messages - ISTA 2014
Bug reporting
Week2 dq2
Widget Self Assessment
Nielsen’s heuristics 9th evaluation
UX & FinTech: 3 Ideas to Focus On
VISUAL_BASIC_LECTURE_NOTE_A_Z_MADE_EASY.pdf
Software piracy
The D language comes to help
Usability Heuristics
Essay On Importance Of Reading Habits. Online assignment writing service.
Presentasi malioboro--10-des-2010
Week 13
Design Document Final for HELP application

More from Raghunath (Gautam) Soman (16)

PPTX
Motivation Vs. Discipline
PPSX
Learning from the enterprise
PPSX
Release Verification Team Proposal
PDF
Documentation Checklist
PPSX
Documentation Tools
PPSX
Rational team concert (RTC) tips
PPSX
PPSX
Mind maps applications and benefits
PPSX
The absolute minimum 10 things for technical writers
PPSX
Instant messengers best practices
PPSX
DITA introduction
PPSX
Exploring Visio
PPS
Documentation Types
PPS
Documentation Questionnaire
PPS
Documentation Tools
PPT
E Mail Ethics and Etiquettes
Motivation Vs. Discipline
Learning from the enterprise
Release Verification Team Proposal
Documentation Checklist
Documentation Tools
Rational team concert (RTC) tips
Mind maps applications and benefits
The absolute minimum 10 things for technical writers
Instant messengers best practices
DITA introduction
Exploring Visio
Documentation Types
Documentation Questionnaire
Documentation Tools
E Mail Ethics and Etiquettes

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Empathic Computing: Creating Shared Understanding
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Spectroscopy.pptx food analysis technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Electronic commerce courselecture one. Pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Dropbox Q2 2025 Financial Results & Investor Presentation
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectral efficient network and resource selection model in 5G networks
Diabetes mellitus diagnosis method based random forest with bat algorithm
Empathic Computing: Creating Shared Understanding
Per capita expenditure prediction using model stacking based on satellite ima...
MIND Revenue Release Quarter 2 2025 Press Release
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Spectroscopy.pptx food analysis technology
20250228 LYD VKU AI Blended-Learning.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Network Security Unit 5.pdf for BCA BBA.
Building Integrated photovoltaic BIPV_UPV.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Electronic commerce courselecture one. Pdf

Error Messages In Software Applications

  • 1. Error Messages in Software Applications Raghunath G. Soman
  • 2. What Are Error Messages… “ Error message” refers to the text or image displayed by a program when it encounters some problem during its execution. It can be: A Message box A Warning A Confirmation A Question, or A Status Report
  • 3. Most Error Messages are so bad… … because they’re written by people who have an intimate knowledge of the program! These people often fail to recognize that the program will be run by other people, who don’t have such knowledge.
  • 4. An Ideal Error Message … Gives a notification that a problem occurred. Gives a brief explanation of why the problem occurred. And provides a solution to the user for fixing the problem.
  • 5. A Good Error Message Should… … be Visible and highly noticeable. … identify the program that is posting the error. … provide Explicit indication that something has gone wrong and alert the user to the specific problem . … provide Precise description of problem, rather than vague generalities such as “ syntax error”.
  • 6. A Good Error Message Should… … provide specific details as to how the problem may be solved. … s uggest where the user can obtain further help. … provide all the relevant information to the tech support. … have Human-readable language: No obscure codes, abbreviations or jargon.
  • 7. A Good Error Message Should… … give Constructive advice on how to fix the problem. Instead of just saying &quot;out of stock,&quot; it should either tell users when the product will be available or provide a way for the users to be notified when the product is restocked. … Preserve as much of the user's work as possible. Allow the users to correct only errors instead of having to do everything all over again. … Reduce the work of correcting the error. If possible, guess the correct action and let users pick it from a small list of fixes.
  • 8. What is a &quot;bad error message?&quot; Simply put, a bad error message is a dialog box or error that doesn't make sense to anyone but the person who programmed it in the first place.
  • 9. An Error Message Should NOT … … suggest an action that will fail to solve the problem and thus waste the customer’s time. … contain information that is unhelpful, redundant, incomplete, or inaccurate. … blame users or imply that they are either stupid or doing something wrong, as in &quot;illegal command.&quot;
  • 10. Error Messages that suck…. Can anyone tell me why the Mac OS team chose a picture of a bomb to put on their error message? Not the most friendly thing to see…. Esp. when you have committed an error ! ral: Do Not Scare your users!>
  • 11. &quot;Valid authentication credentials were not provided.&quot; ... Did it mean to say that my password is wrong? al: Know your audience. Speak its language.>
  • 12. This one states something that is entirely obvious… … but fails to state anything that is helpful. If more than one error condition posts this dialog, there's no way to tell which one caused the problem. <Moral: Don’t just report the error, help to solve it.>
  • 13. Really? Really? Which action? Which action? How do I fix the problem? How do I fix the problem? Moral: Use meaningful sentences.>
  • 14. Lots & Lots of data here… but User has no clue as to what to do. Based on the information presented in this message, why should the user choose Yes ? Why should the user choose No ? <Moral: Sometimes, too much info can be a bad idea.>
  • 15. And one that shines… Error messages can't always be expressed in three simple sentences. Being concise is an important goal, but for critical messages it should not be the primary goal.
  • 16. While writing error messages… Anticipate the possible error conditions. Ensure that each condition in the program that has a chance of failure returns a distinct error code. Display this code as a part of the error message. Remember the program's state at the time when the error occurred, and permit the user to restore that state easily.
  • 17. While writing error messages… Create error handling classes and functions to supply coherent, well-formatted error messages. Re-use them consistently. Provide each and every error message to someone else for review. The reviewer should not be an expert in the program. Use code reviews and walk-throughs with other developers and quality assurance to ensure that the program is readable, consistent, maintainable, and free of un-handled errors.
  • 18. Usability Test For Error Messages Conduct an usability test on the error messages with your target users. Here are some things to check for: Did the users understand the context of the message? Did they understand the message text? Did they obtain all the information required to respond intelligently? What decision did they make? Why? Are they confident that they made the right decision? Did they understand the consequences of the decision? Was the decision correct under the circumstances?
  • 19. To Conclude… The error messages will be read by: the customer, the tech support person who handles the call, the quality assurance analyst who tracks down the problem, and the maintenance programmer who is charged with fixing the problem in the code. Each person in this process represents a cost to the company. While the error-handling routine need be written only once, the support path is typically followed many times--tens, or hundreds, or thousands of times.
  • 20. To Conclude… Developers, Testers, Technical writers and technical support team must form an alliance and work in tandem. Costs required to solve/sandbag a problem after the product has been released should be taken into account. If the management wants to rush the product to market without leaving enough time for proper error handling, remind them politely of the cost of such an error !
  • 21. References… Michael Bolton@ developsense.com Everett McKay@ msdn.microsoft.com http://www.klariti.com http://www.useit.com http://www.wideopendoors.net
  • 22.