How to design effective messages for enterprise apps users with Oracle ADF & Fusion UX design patterns. By Ultan O'Broin (@ultan) for Oracle UX Direct. More at: http://www.oracle.com/webfolder/ux/applications/UXDirect/index.html
How to Design Effective Messages for Oracle Enterprise Applications
1. User Experience Direct
(UX Direct)
FAQ: How to create Effective Messages
Disclaimer
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be
incorporated into any contract. It is not a commitment to deliver any material, code, functionality, or service and should not be relied
upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s
products remains at the sole discretion of Oracle. This document contains preliminary images.
1
2. FAQ: How to create Effective Messages
User Experience Direct (UX Direct) is an Oracle Applications User Experience (UX) program that provides user experience
expertise to Oracle customers and partners for their implementations, customizations, and use of Oracle enterprise applications.
The goal of this program is to enhance end user experiences during and after customer implementations and to improve user
adoption of Oracle’s enterprise applications.
Overview 1. Are messages designed according to user-centered
design principles?
High quality software applications smooth the flow of work for Ensure that messages are created as part of a user-centered
end users by displaying well-timed messages in plain design (UCD) process. Study how users work and what they
language. For example: need to know when the application reacts to their input.
Never write a message as a workaround for poor design and
usability. For example, if a user is likely to make a mistake
when entering data or to navigate to the wrong place before
saving data, it’s best to revisit the design.
Show messages within the context of the task being performed
and integrate them with the rest of the user experience. Layer
messages with other assistance available in the user interface,
such as tool tips, instructional text, or pop-ups.
2. Have you categorized your messages and been
consistent in their appearance?
Messages help users to feel in control of their applications by
Categorize your messages by type and apply the visual
providing feedback about what they have just done and what
experience, such as icons and headings, consistently to each
the applications are doing in response. Messages help
type.
minimize errors, display warnings, and, when errors do occur,
inform users about what has happened and how to fix the Users should be able to distinguish between message types and
problems or obtain help. priorities by their appearance, especially when messages
appear together. For example:
Effective messages are needed not only in the core application
that an organization purchases, but also in any software that
the organization adds to the application to configure and
customize it.
The questions and answers in this guide help software
designers who are implementing Oracle applications to Use these message categories:
understand the different message types and how to use them
Error: Tell users about incorrect data or formats when they
effectively to help optimize applications for task completion
complete a field, leave a page without saving, or perform other
and productivity.
actions that need validation. Explain how to correct the errors.
Error messages should also appear when the application
encounters serious problems that users cannot resolve
themselves.
2
3. Warning: Tell users about important consequences that will mind, using server-side validation at the end of tasks or page
occur immediately or in the future when they perform an completion, rather than for individual fields, so that
action. Warning messages also prompt users to make important productivity is maximized.
decisions about irreversible actions before proceeding.
Make sure that business analysts, designers, and developers
Information: Tell users about changes on the page or in the collaborate on the design and implementation of validation
application. rules and the associated messages types.
Processing: Tell users when actions or requests are in 4. Have you written clear, actionable message text for the
progress, especially when there is a delay in the application’s user?
response. Write a concise message that tells users about the cause of the
Confirmation: Tell users when actions or requests are problem and how to fix it or that tells users clearly how the
complete. application is performing.
3. Do you understand what validation rules are being used Use terminology that matches the rest of the user interface, and
for the messages and when they are being applied? ensure that the language is suitable for the person likely to see
the message.
Understand how the application validates data and actions and
apply the type of message accordingly. Consider the following If end users will see the message, use simple, non-technical
scenarios: terms and language.
The application validates data entered by the user or another If technical or functional users will see the message, disclose
process. A problem may arise, for example, when saving a technology stack details using appropriate terms and language.
page with missing data, completing a page with incorrect data,
Never blame or accuse users of doing something wrong, or
navigating from one page to another without saving, and so on.
Show error or warning messages in response. frighten them with uppercase words and exclamation marks
(such as “DANGER” or “ERROR!”), knowledge-based
The application validates the creation or update of a business numbers, technology stack details, and so on.
object or a page. Use information messages when users should
If a developer writes the message text, have it reviewed by a
know about these changes.
writer, representative user, or help-desk member before
When the application validates that an action or request is in implementing it.
progress, use processing messages.
5. Have you integrated messages with your help desk?
When the application validates that an action is complete, use Messages are frontline help-desk support, too. When users
confirmation messages. cannot fix errors themselves—for example, a serious
To help users complete tasks, explore what validation the application error—then integrate the message into your help-
technology stack provides by default. For example, the Oracle desk policies.
Application Developer Framework (ADF) provides client-side Capture as much error information as possible automatically
components that automatically validate data entered in editable for users, and route it to the help desk for the user. For
fields or converts data to the correct format. These components example, raise alerts and create diagnostic logs in the
have their own messages. background.
Other client-side validation and more complex server-side Never tell users to “contact your system administrator.”
validation of business rules, for example, require development. Instead, write message text telling users that the help desk has
Remember that server-side validation is generally slower than been contacted, quote an incident number, and tell users what
client-side validation. Design accordingly with the user in to do next. For example:
3
4. When deciding whether to show messages inline (that is, on
the page itself) or in dialog boxes, consider the type of task
that the user is working on, the frequency of the error, and the
seriousness of the error.
Show messages about routine tasks that may occur frequently
inline to minimize disruption. For example:
Customize your messages with additional support information
or policies. Make sure that users have been trained about what
Show informational messages that require no immediate action
support they can expect, too.
inline. For example:
Append unique message numbers to the message text so that
technical users can quickly look up errors and warnings in
knowledge bases or support forums, or search for solutions on
the web. Do not disclose such numbers to end users—they do
Show messages about infrequently occurring, page-level
not find them useful and may even find them intimidating.
actions, or serious issues and consequences in dialog boxes so
6. Have you applied message usability best practices? that users do not miss them. For example:
Use researched and established guidelines to determine when
and how messages should appear to users.
Messages must appear close to the location of issues so that
users can quickly correct errors and continue their tasks. Show
messages using visual clues, such as icons, colored borders,
and headings. For example:
Show messages about navigating between pages, processes
under way, and warnings with questions that require user
responses in dialog boxes. For example:
For heads-down tasks, show all messages together in a list
after the task has completed. This list does not interrupt
productivity; instead, this list enables users to address issues Include a message in a modal dialog box to prevent users from
together on the page. For example: interacting with a page until the message is resolved (for
example, during a process that is running, when a response to a
warning is needed, or when a serious error occurs). For
example:
4
5. To enable users to continue seamlessly to their next actions,
consider using action buttons to confirm message dialog boxes.
7. Have you anticipated the importance of back-end
messages too?
Back-end messages, such as error, warning, and information
messages are also created by applications. These messages are
intended for technical users or the help desk and usually appear
Most messages that users see are related to errors, but do not or are printed in text-based log files. For example:
forget the powerful user experience benefits of using other
types of messages in these ways:
Use warning messages to ask users to confirm their actions
before proceeding. Use clearly labeled actionable buttons,
rather than Yes or No buttons. For example:
For these messages:
Apply basic text formatting for headers and lists, structuring
the output so that it is more readable.
Use appropriate technical language with precise details for
diagnosing and fixing issues.
Write concisely, eliminating unnecessary words. Log files can
Use warning messages to let users know about the downstream
be long, can contain many details, and are frequently read
consequences of their actions.
online. Write the text so that readers can scan the contents and
Use informational messages when details on a page are pick out key information quickly.
updated or when the page status changes—becoming read-
Make sure that the file can also be read when printed.
only, for example.
When no visual indicators are available or sufficient, use User Experience Benefits from Messages
confirmation messages to confirm for users that their actions
have been completed as intended. For example, if a user is Following a UCD process that includes user experience best
deleting a large number of objects, confirm the number of practices for messages means that the application
deleted objects; or, if the user is submitting an expense report, communicates with users in an accurate, friendly, contextual
confirm that the report has actually been submitted. Users way, maximizing task completion and productivity.
prefer more rather than fewer confirmations. For example: Consider messages as a hidden window into the level of
excellence of your user experience. When you create messages
that reflect how your users work, telling them what they need
to do to complete their tasks quickly, communicating with
them about an application’s behavior, and enabling the help
Use confirmation messages at the end of lengthy processes so desk to respond to issues effectively, users will have
that users can confirm that they understand the process status. confidence in the quality of the rest of the user experience
Do not allow processing message dialogs to close without design and implementation.
confirmation because users may be away from their computers
For more information about making messages and user
when the messages appear.
assistance part of your user experience, visit the
5