Notifications help users stay informed about anything that happens in the system. However, they can also be quite annoying. How do you make sure your notifications serve the purpose of informing your users of important updates without putting them on edge? Following a few simple guidelines will allow you to design the right type of notifications for different scenarios while preventing user dissatisfaction.

Exercise #1

Badge notification

Badge notification Bad Practice
Badge notification Best Practice

A badge notification is a small circular visual indicator that informs users about unread messages, notifications, or updates.[1] It's a concise and unobtrusive way to alert users to new activities or information within an application without requiring them to open it immediately. Once users see the updates, badge notifications generally disappear.

There are two main types of badge notifications:

  • Count badges display a numerical value indicating the quantity of new items or notifications, such as unread messages or pending tasks.
  • Dot badges use a simple dot to signify the presence of new content without specifying the exact count.

The best way to style a badge notification is to make it noticeable yet harmonious with the overall design. Consider using contrasting colors to ensure visibility while maintaining aesthetic coherence.

Pro Tip! Badge notifications should stand out — bright contrasting colors come in handy here. 

Exercise #3

Status badge

Status badge Bad Practice
Status badge Best Practice

A status badge is a visual indicator used to represent the status or condition of a particular item, process, or element within an application or system. These badges typically take the form of small icons or labels that convey information at a glance. For example, a status badge in a task management app might use different colors or symbols to signify whether a task is "completed," "in progress," or "pending." In a social media context, a status badge could be applied to represent the online status of a user. For instance, a small circle next to a user's profile picture might be green to indicate they are currently online, yellow for idle, and gray for offline.

Choose distinct and easily recognizable symbols or colors for each status to ensure clarity. Consider incorporating tooltips or a legend to provide additional information, especially if there are multiple status options.

Exercise #4

Snackbars

Snackbars Bad Practice
Snackbars Best Practice

A snackbar is typically a small, rectangular container that appears near the bottom of the screen. It often contains a short message and may include an action button. For example, in a messaging app, a snackbar might appear after successfully sending a message, displaying a confirmation like "Message Sent" along with an "Undo" button. Snackbars are generally better at delivering messages to users as they appear in the context of the application where the action occurred.[2] They can usually be dismissed by swiping.

Pro Tip! Some users may be unaware that snackbars can be swiped off the screen. Help them learn about this option faster by adding a Dismiss button or a cross icon.

Exercise #5

Alert notification

Alert notification

Alert notifications contain important messages that demand immediate user attention.[3] They typically appear at the top or in the bottom-left corner of the screen and are triggered by users' actions. Alert notifications persist on the screen until users choose to close them or resolve the underlying issue. For instance, in a financial app, an alert notification could inform users about a failed transaction or insufficient funds, prompting them to take immediate action.

Alerts commonly signify an error or issue by delivering a warning, and therefore, they should be noticeable enough to capture users' attention. It is advisable to refrain from relying solely on the color red to indicate an error or alert. Instead, incorporate descriptive copy and a contextual icon. This approach ensures that even users with visual impairments can discern the message.

Exercise #6

Success alert

Success alert

A success alert is a message delivering positive news — confirming that a message has been sent, updates are saved, or an image is successfully uploaded. It serves as a reassuring confirmation that all is well, allowing users to proceed with their tasks confidently. The use of green in the alert signifies a positive and successful system message and a check mark further reinforces the confirmation that everything is functioning properly.

Remember that success alerts are designed not to be intrusive. Typically, they either vanish automatically or can be dismissed by a simple swipe.

Exercise #7

Info alert

Info alert Bad Practice
Info alert Best Practice

Info alerts serve to succinctly and informatively notify users about relevant matters. An info icon, featuring a lowercase letter 'i' enclosed in a circle, is employed to capture users' attention, always preceding the label.

You can use either snackbars or toasts for delivering critical information to users. Which type to choose depends on the urgency of the message. Toasts can't be dismissed and are shown on the Android home page or above other apps. They usually contain system notifications. For messages with lower priority, it's advisable to utilize snackbars, which are specifically tied to the app's internal activity.[4]

Exercise #8

Warning alert

Warning alert

Warning alerts serve as signals indicating that there's an issue, but there is still a window of time to address and rectify the potential problem. Unlike error messages that demand immediate attention and resolution, warning alerts act as proactive notifications, providing users with a heads-up about a situation that might need their consideration or action.

These alerts are designed to convey a sense of urgency without inducing panic. For example, in a file-sharing application, a warning alert might notify the user that their storage is nearing capacity, urging them to manage their files to avoid reaching the limit. Make sure you style warning messages to appear less urgent than error messages.

Exercise #9

Error alert

Error alert

Error alerts signify that an error or an emergency situation has already transpired and demands swift, immediate action from the user. Typically, error alerts are prominently displayed in red, a color universally associated with danger and urgency, to visually emphasize the critical nature of the message. Moreover, an exclamation point icon is commonly used alongside the text to further accentuate the need for urgent attention.

Exercise #10

Toast

Toast

Toasts serve as low-priority system notifications or messages from background services in mobile applications, particularly on Android devices. They are commonly used to convey information that might require user attention, such as prompts to update the device ("Update your iPhone") or notifications from background services ("No Email client found"). Unlike snackbars, which only appear one at a time, multiple toasts can appear on top of each other, potentially leading to a more noticeable and sometimes overwhelming notification experience.

It's important to note that the inability to dismiss toasts by swiping can be annoying to users. So, always consider the frequency and relevance of using toasts to avoid overwhelming users with too many overlapping notifications.

Exercise #11

Push notification

Push notification Bad Practice
Push notification Best Practice

Push notifications are messages or alerts sent directly to users' mobile devices or desktops, reaching them even when the app is not actively in use. The primary purpose is to engage and re-engage users by delivering timely, relevant, and personalized information or updates.

It's crucial to respect user privacy and preferences by offering clear opt-in and opt-out choices for push notifications. Also consider providing users with customization options, allowing them to control the types and frequency of push notifications they receive.

Complete this lesson and move one step closer to your course certificate
<?xml version="1.0" encoding="utf-8"?>