Error Handling

Intro

Error handling patterns inform users when something goes wrong. They provide guidance for users and help repair a dialog if possible. The patterns use illustrated messages to communicate the information.

In-chat error message (left) and interruption error message (right)

Usage

Do

Use an illustrated message to help communicate the error.

Don't

Don’t use an illustrated message if the issue can be solved in a conversational way.

  • Be concise and clear with the message.
  • Provide actional guidance if possible.
  • Comply with Joule User Experience’s guidelines when creating an error message.

Anatomy

A. Header

The header consists of a short sentence summarizing the error.

B. Description

The description further describes the error within one or two sentences and provides guidance.

C. Illustration (Optional)

The illustration visualizes the error.

D. Call-to-Action Button (Optional)

The call-to-action button allows the user to take an action to fix the error or perform any recommended actions.

Anatomy of an error message

Adaptive Design

The adaptiveness of error messages follows the same guidance as defined for illustrated messages for Joule.

Error messages on compact screens

In-chat error message on regular screen

Interruption error message on regular screen

Variations

Joule can encounter various types of errors. They can either appear within the chat or at the bottom of the Joule panel.

Please note that the following error types are high–level abstraction of common errors. The examples provided for each error type are illustrative only and are not limited to those examples.

In-Chat Error

Empty (No) Result

Joule responds to a user’s request, but there is no/empty content presented to the user. Whenever such a situation occurs, Joule needs to inform the user that their request is being processed and alert them with an illustrated message indicating an empty result.

Empty (no) result error

Non-Recoverable Service Error

This type of error is typically associated with backend service issues with error code 4XX. They are usually not recoverable by users, which is the reason why Joule does not offer any call-to-action buttons. Instead, Joule provides helpful information or offers an asynchronous action via a link to submit a ticket.

Empty (no) non-recoverable service error

Recoverable Error Caused by Temporary Interruption

Occasionally, Joule services may face brief interruptions due to network connectivity or coverage issues. In these cases, it’s helpful to provide call-to-action buttons along with an illustrated message. Since the interruptions are typically short, retrying will likely fix the problem.

Recoverable error caused by temporary interruption

Interruption Error

Pre-Conversation Error

There are situations where errors occur prior to a conversation. In this case, the illustrated error message can’t be displayed in the same way as other types of errors, because there is no conversation canvas to host these messages. Joule will display these types of messages attached to the bottom of the Joule panel and block the message input field, which is disabled without a conversation.

Pre-conversation error

Timeout

When the maximum session time is reached, the session is timed out and the user is no longer able to continue sending new prompts, requiring the user to restart the session.

Timeout error

Resources

Joule for Android: Error Handling

Joule for Web: Error Handling

Related Components/Patterns: Joule Illustrated Message, Illustrated Message