[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.Ā
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?