Communicating Errors
Bugs and errors are inevitable, and users dislike them just as much as developers do. Overwolf recommends identifying the most common potential failure points in your app and implement targeted error or status messages to handle them effectively. Clear and concise crafted error messages improve the user experience and also shows users that you’ve thoughtfully prepared for issues.
Some examples of possible Overwolf app errors include:
- The game APi is not available.
- Champion data could not be fetched.
- General connectivity and network errors.
Importance of using error messages in your app
Using error messages in your app is crucial for good user experience and for overall app reliability. Reasons why they matter include:
- Clarify issues—they help users understand what went wrong.
- Guide to Resolution—they don’t just say something went wrong, but provide actionable steps to fix the problem if possible.
- Prevent Frustration—they reduce confusion and improve user experience.
- Build Trust—they show that there is some control, even when things don’t go as planned and reassures users that the issue is known and manageable.
- Avoid Repeated Mistakes—they educate users on correct inputs or actions.
- Improve developer debugging—they make it easier for you (the developer) to diagnose and resolve user issues. If you laid out your scenarios correctly, messages can indicate if an error is consistently reproducible, which reduces troubleshooting time and improves development efficiency.
Types of error messages
The follow types of error messages are important to be in your app.
Validation errors
Validation errors happen when user input doesn’t meet the rules or required criteria of the application. These errors ensure data integrity and guide users to provide the correct input.
Common examples:
- Email entered without "@" symbol.
- Passwords that don’t meet complexity requirements.
- Required form fields left empty.
Best practices:
- Make language specific and helpful. (e.g., "Please enter a valid email address" instead of "Invalid input")
- Display errors inline next to the problematic field. Create a "jump to error" on forms.
- Avoid technical language and jargon.
System errors
System errors happen when there are failures within the app’s backend infrastructure (e.g., database errors, file access issues, or unexpected application crashes). They indicate that something is broken behind the scenes, and event hough the users can’t fix these, your app should still handle them gracefully.
Common examples:
- Internal server error (HTTP 500).
- An unexpected error occurred. Please try again later.
- Service temporary unavailable (HTTP 503).
Best practices:
- Acknowledge the error in simple, easy to understand language. If possible, outline basic steps needed to either self diagnose or report the error (or bug).
- Avoid exposing sensitive or confusing technical details.
- If necessary, offer a retry or support contact if appropriate.
Connection errors
Connection error happen when the app can't communicate with a server or service due to network issues. These could be caused by the user's internet connection or external APIs. Connection issues are common on mobile and web apps and handling them properly prevents user frustration and sets the right expectations.
Common examples:
- No internet connection.
- Unable to reach the server. Check your network and try again.
- Connection timed out.
Best practices:
- Inform the user what happened and what they can do (e.g., reconnect to Wi-Fi).
- Allow users to retry the action easily.
- Consider offline caching or queuing actions for when the connection returns.
Action failure errors/warning messages
Action failure and Warning messages happen when a user attempts an action that can’t be completed, despite the app being functional. These messages directly affect the user's intended workflow and without clear messaging, users might keep trying unsuccessfully or think they did something wrong.
Common examples:
- Failed to save changes.
- Upload unsuccessful. Please try again.
- You don't have permission to delete this file.
Best practices:
- Clearly state what failed and, if possible, why. Sometimes these messages are generated out of user error, which is easily correctable.
- Suggest what to do next (e.g., retry, check permissions, contact support).
- Use warnings where the action might have unintended consequences (e.g., deleting data).
Informational errors
Information errors happen when there is a need to send users a message that alerts users to temporary limitations, known issues, or system events that may affect performance or availability. They proactively manage user expectations, reduce confusion and support requests, as well as prevent misinterpretation of normal behavior as bugs.
Common examples:
- Scheduled maintenance will begin at 10 PM.
- This feature is currently unavailable.
- You're using an outdated version of the app.
Best practices:
- Keep the tone informative and calm. Let the users know if there is the option to delay actions (e.g., system update/restart).
- Use neutral or non-alerting visual styles (not red or alarming icons).
- Link to more information or updates if needed.
Some of the error messages are directly related to GEP events and app service status. For more information, see Service status.