[Proposal] Platform-Wide Notifications

[Proposal] Platform-Wide Notifications

PROPOSAL UPDATE IN PROGRESS:

Once in a more stable state, the proposal will be shared with the Community for feedback.

View the Github ticket for proposal status updates.

Overview

We propose developing a robust and flexible notifications framework for the LMS, Studio, and mobile app, designed to deliver timely, relevant updates to users, and enhance overall engagement with the platform. This system would support multiple delivery channels—web, email, and push notifications—and give users the power to specify which type(s) of notifications they’d like to receive. Our goal is to ensure that users see the right information at the right time, through the channel that best suits their needs.

The notification feature will consist of two core components: an authoring tool for creating notifications, and a receiver tool for delivering notifications to users. Together, these tools will enable anyone with the appropriate permissions to send targeted messages. Additionally, the feature will support automatically generated notifications triggered by course activity, Aspects events, or other system triggers.Ā 

This proposal explores how we might approach the design and implementation of the notifications feature to support its successful integration into the Open edX ecosystem.

Desired Functionality Per Role

Functionality

Platform Admin

Instance Manager

Course Admin

Learner

Manage global notification settings (e.g. enable/disable notifications feature)

āœ…

āœ…

Ā 

Ā 

Manage notification preferences (e.g. channel, frequency, type)

āœ…

āœ…

āœ…

āœ…

Create custom notifications: draft, edit, categorize, schedule, set expiry, delete notifications

āœ…

āœ…

āœ…

Ā 

Send notifications to specific learner groups or roles

āœ…

āœ…

āœ…

Ā 

Read notifications: filter, open, dismiss, opt in/out, mark as read/unread

āœ…

āœ…

āœ…

āœ…

Receive custom and automated notifications

āœ…

āœ…

āœ…

āœ…

Receive notifications in my preferred language

āœ…

āœ…

āœ…

āœ…

View notification history

āœ…

āœ…

āœ…

āœ…

Unsubscribe from emails from the email client

āœ…

āœ…

āœ…

āœ…

Send direct messages

āœ…

āœ…

āœ…

āœ…

Receive direct messages

āœ…

āœ…

āœ…

āœ…

What else…?

Ā 

Ā 

Ā 

Ā 

Approach

If possible, we’d like to leverage the work done on related projects within the community, such as the 2U Notifications Tray and mobile notifications. The intention is to create a consistent user experience across the platform, reduce the design and development effort required, and simplify maintenance by sharing the same code as much as possible.

Core Notification Properties

Sources

  • Forum events

    • New post

    • New reply

    • Etc

  • Course events

    • Course update

    • Grade received

    • Etc

  • Periodic events

    • Upcoming assignment

    • Overdue assignment

    • Etc

  • Direct messages

    • New DM

  • Admin-created notification event

    • Release announcement

    • Event announcement

    • Community news

    • Etc

  • Aspects events

    • Last visited

    • Engagement

    • Etc

  • Account-related notifications

    • Account status

    • Account security

Destination

Each notification has 1 or more destination

  • LMS / Mobile

    • Notifications panelĀ 

    • Push notifications

    • Email

  • Studio

    • Notifications panelĀ 

    • Push notifications

    • Email

State

  • Read / Seen

  • Unread / Unseen

  • DismissedĀ 

  • Expired

Content

  • Timeframe: Indicates when the notification was generated

  • Category: A tag indicating what category the notification pertains to

  • Notification: A short but informative description communicating the main message

  • Status: An indicator to help users see which notifications they’ve viewed

  • Icon: A visual cue representing the type of notification

  • Link (optional): A direct URL to related content (e.g. Google Form for collecting user feedback)

Actions

  • View / Open

  • Mark as read / unread

  • Dismiss

  • Opt in / out

  • Filter

LMS, Studio, and Mobile Notifications

Notifications Panel

Notifications in the LMS and Studio will work in a similar way so that the user experience is consistent. Notifications will probably be presented in some kind of panel. The panel should allow users to access notifications from any page within the interfaces without disrupting their workflow. When open, the panel will display a list of notifications, with the most recent ones appearing at the top.Ā 

Push Notifications

Push notifications help ensure users stay informed with timely updates, news, or alerts, even when they’re not actively using the platform. When a user opts in to push notifications, they’ll receive them directly on their device—whether mobile or desktop. We’ll coordinate with the mobile notifications team to ensure consistency between the web and native apps.Ā 

Email

Users can tailor how and when they receive emails for notification activity. They can choose to receive email digests, which provide periodic updates if they haven’t visited the LMS or Studio recently. For more immediate updates, users can choose to be notified by email about new forum posts, replies, mentions, direct messages, or activity in watched topics or categories. All email preferences can be easily managed in the user’s account settings, including the option to unsubscribe from specific notifications or disable emails entirely.

Note: This proposal aims to address several limitations in the current implementation of forum notifications. For example:

  • Currently, course staff don’t receive notifications for forum activity unless they’re the original author or have manually followed each thread. This creates extra work and increases the chances of missing important conversations.

  • While users have the option to receive daily or weekly email digests, there is no option to receive emails for all new posts. This is a standard feature of most forums, and we believe users would find it useful.

Direct Messages

A direct messaging (DM) feature will allow users to communicate privately within the LMS and Studio. It will support one-on-one chats or small group conversations, making it easy for users to ask questions, or connect with other users. Message history will be visible only to the participants involved.

Notification Types

We’ll ensure the solution accounts for all notification types listed as part of this related proposal.

Admin Area

It’s become apparent through work on other proposals that the Open edX platform requires some form of Global Admin Console. It may make sense for the notifications authoring tool to live within this console once it has been built. For the purposes of this proposal, we’ll assume that the global admin console will exist independently from Studio and the LMS.

The admin console will provide authorized users with a simple interface to draft, preview, and schedule custom notifications. Admins will be able to target individual users or specific user groups, and choose from multiple delivery channels such as web, email, or push. This tool will help administrators communicate timely, relevant updates or announcements efficiently across the platform.

To ensure clarity and readability, the admin will include guidance on writing concise and readable notifications. It will encourage users to stick to the following notification guidelines:

  • Notifications should not appear ā€œspammyā€

  • Notifications should be rare and special

  • Notifications should be 1-2 sentences, and readable in 2-3s

Technical Approach

TBD

UX/UI Approach (TBD)

  • TBD based on how this proposal evolves.

Anticipated Effort

  • TBD based on how this proposal evolves.

Usability Testing

Usability testing will take place at key stages throughout the implementation. Feedback will be gathered, reviewed, and shared with the Community, and any necessary adjustments will be made to enhance the feature based on those insights.

Competitive Research

CALL FOR INPUT: If you’ve worked on a course team or interacted with one, please feel free to add any relevant data or insights from your experience.

Notifications in other learning platforms:

  • Canvas

    • Although Canvas has a number of tools for instructor-to-learner communication, it doesn't seem to offer platform-to-instructor notifications within the admin interface.

  • Moodle

    • Moodle has various tools for instructor-to-learner communication, but doesn't appear to have platform-to-instructor messaging within the admin interface.

  • Coursera

    • Although Coursera offers a few tools for instructor-to-learner communication, it doesn't seem to provide platform-to-instructor communication within the admin interface.

Other notification examples:

  • WordPress

    • WordPress displays a newsfeed on the homepage dashboard.

  • Further examples to be researched during the design phase.

Implementation Plan

TBD. This proposal will require resourcing if accepted.

Long-term Ownership/Maintainership

TBD. Once the proposal is approved and resourced, we’ll determine who will be responsible for the ownership and long-term maintainership of the features outlined in this proposal.

Open Questions

  • How could the implementation be split into phases?

  • Should notifications be tailored to the Open edX release the user is working on? If so, how?

  • Should direct messaging be part of this feature, or should we rather encourage users to use the forum for sending and receiving DMs?

  • Should we consider onboarding tools like Appcues or Chameleon for pointing out new features in the platform, or should this be done using the notification feature?