[Proposal] Notifications for LMS and Studio
View the Github ticket for proposal status updates.
Overview
We propose introducing a notifications feature to both the LMS and to Studio. Although this feature could help facilitate some of the goals of Learner Grouping (i.e. enable more flexible communication across the platform), the primary goal of this proposal is to keep learners and course teams informed about platform changes and community updates.
The notification feature will keep users updated on software changes, new features, and important community news, like the Open edX conference. It will also make it easier to gather feedback and encourage participation in community discussions. Overall, this will help build a stronger sense of connection across the community.
Problem
Currently, there is no way within the LMS or Studio to inform users about platform updates, upcoming releases, or opportunities to engage with the Open edX community, such as attending the Open edX conference or participating in the TOC elections. There is also no way to communicate with users from within the platform, making it difficult to foster a sense of community across instances.
As a result, course teams and learners may be caught off guard by unexpected changes, fail to use new features due to a lack of awareness, or simply feel disconnected from the broader community. Additionally, without an easy way to provide feedback on features, users often don’t, resulting in missed opportunities to improve the platform collaboratively.
Use Cases
As Open edX…
I want to craft custom notifications that translate well into brief, easy-to-read notifications.
I want one consistent way to send notifications to users, so that we can ensure a consistent user experience.
I want one consistent way to send notifications to users, to reduce design and develop effort.
I want to send course teams notifications, so that they are up to date with platform changes.
I want to send course teams notifications, so that they are aware of community news, updates, and events.
I want to urge course teams to provide feedback (via the forum) to help improve features, and encourage communication within the Community.
I want to add the notifications feature via a plugin slot, so instance managers can easily disable the feature.
I want a flexible communication feature, so that it can be used in future efforts such as sending tailored notifications to different learner groups.
As an Instance Manager…
I want the ability to turn the notifications feature off depending on the needs of my instance.
(Future consideration) I want to receive notifications in my dedicated admin interface, so that I am up to date with news that is specific to my role as instance manager.
As an Instructor…
I want to receive relevant notifications that are short, and easy-to-read, so that they don’t take up too much of my time.
I want notifications within the LMS and Studio to work in a similar way, so that the user experience is consistent.
I want to be notified about new and upcoming features, integrations, and platform improvements, so I can enhance my course creation and management process.
I want to be informed of events and other developments in the community, so I can be more actively involved.
I want to provide feedback on new features and integrations, so I can help improve the platform.
I want to make feature requests and help prioritize features on the roadmap, so I can have a say in the direction of the platform.
As a Learner…
I want to receive relevant notifications that are short, and easy-to-read, so that they don’t take up too much of my time.
I want to be notified about any new features for learners, so I can use them to assist with my learning.
I want to be informed of events and other developments in the community, so I can be more actively involved.
I want to provide feedback on new features and integrations, so I can help improve the platform.
Supporting Data
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.
Replacing the Announcements Feature:
@Andrés González on Github:
Regarding the news ticker, isn't it similar to the announcements feature? Although it might be improved, it seems to me very similar to a news feed [...] Now in the learner-dashboard MFE both the search box and the announcements are gone. They were replaced by a sidebar widget plugin slot. But the only widget available is the looking for a challenge.
Facilitating Discussion Post Notifications:
While this functionality is beyond the scope of this proposal, the notification feature we’re proposing lays the groundwork for enabling forum notifications to be displayed in the course admin in the future.
@Chelsea Rathbun on the forum:
I know from talking to a few course authors this past fall that a very popular request is to receive a notification any time there is a new discussion post.@Andrés González on Github:
This proposal is about forum notifications, which is a feature largely requested by customers (that used to be present and now we miss a lot). Although it could be implemented for the announcement or news feature, I think it has a broader scope.
Supporting Future Communication Efforts:
This feature will be built with flexibility in mind, laying the groundwork for future communication efforts, such as sending tailored notifications to certain learner groups.
Proposed Solution
Where possible, we plan to leverage work done on related projects within the community, such as the edX 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.
Notifications in the LMS and Studio will be presented in a user-friendly panel. This panel will allow users to access notifications from any page in the interfaces without disrupting their workflow. Users can open the tray by clicking a bell icon located at the top-right corner of their screen. The tray will display a list of notifications, ensuring important updates are easily accessible at all times.
Notifications will be ordered by date, with the most recent ones appearing at the top. Notifications are split into two sections: “Last 24 hours” for recent updates, and “Earlier” for older notifications. This makes the list easier to digest at a glance.
Each notification will include the following details:
Timeframe: Indicates how long ago the notification was generated.
Category: A tag indicating what the notification pertains to.
Notification: A short but informative description communicating the main message behind the notification.
Status: A read/unread indicator to help users see which notifications they have viewed.
Icon: A visual cue representing the type of notification for quick recognition.
Link: A direct URL to the relevant content (where required).
Once a notification has been displayed to / read by the user, it will be marked as read and will no longer trigger the red indicator next to the notification bell. For convenience, a “Mark all as read” button will be available on the panel, allowing users to clear all unread notifications.
In cases where we would like to collect feedback from users, notifications will include links to a forum thread where users can share their comments.
For the purposes of this proposal, the notifications feature will differ from the edX Notifications Tray and the mobile notifications project in the following ways:
Content Scope: This proposal focuses exclusively on platform and community updates, with the possibility of adding other types of notifications in the future. In contrast, edX notifications include content such as forum notifications, course updates, and ORA notifications).
No Tabs: Unlike the edX implementation, where notifications are categorized into tabs (e.g. "Discussions," "Grading," "Updates"), Studio notifications will be displayed in a single, unified list, at least in the initial release.
Notification Preferences: Because of anticipated implementation difficulties (which still need to be confirmed), users will not be able to manage notification preferences as part of this proposal. This functionality can always be added at a later stage.
Email Integration: Notification summaries will not be sent to users via email. This functionality can be added in the future if necessary.
Notification Visibility: To keep things simple, notifications will not be automatically removed after a specified period of time. Only those included in the RSS feed will be displayed at any given time. This can be adjusted via the WordPress admin.
Notifications will be created and managed through two dedicated sections in the admin area of the Open edX marketing site. These notifications will be delivered to the LMS and Studio notifications trays via WordPress’s built-in RSS feed functionality. We will need to determine who will be responsible for drafting messages for the notification trays and ensure they have the necessary access. Ideally, this group will be broader than those currently managing blog updates, but this is still up for discussion.
To ensure clarity and readability, we will include guidance in the WordPress admin on writing concise and readable notifications. We 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
Usability Testing
Once the notification feature has been added to the LMS and Studio, remote usability tests will be created and shared throughout the Community. Once enough users have completed the usability tests, the test recordings will be reviewed, feedback collated, and any necessary adjustments will be made to improve the feature.
Other Approaches Considered
RSS feeds from the Open edX blog and/or forum
To leverage the existing marketing efforts used to publish content on http://openedx.org and the Open edX forum, we thought of pulling relevant news into Studio from the blog and/or forum via RSS feed. Both WordPress, which powers the Open edX site, and Discourse, the platform for the Open edX forum, provide RSS feeds by default (website feed and forum feed). We thought of curating the content included in the feeds using tags or categories.
We rejected this approach in favour of allowing users to craft custom notifications that translate well into brief, easy-to-read notifications. Relying on RSS feeds from the blog or forum would have meant repurposing content not originally written for notifications, making them less readable and less effective.
3rd party service
We considered integrating with a 3rd party notifications service, but did not find any open source solutions with an api that checked all the boxes.
Only displaying notifications on the Studio Home
We considered only displaying notifications on the Studio Home (as opposed to across all Studio pages), but decided against it, as some course authors rarely visit the Studio Home. Instead, they tend to access their courses from bookmarks, or direct links from the LMS.
Competitive Research
CALL FOR HELP: If you have deeper knowledge or firsthand experience working with these tools, please feel free to update this section to make it more accurate or comprehensive.
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 Examples of Notifications:
WordPress
WordPress displays a newsfeed on the homepage dashboard.
***Further examples to be researched during the design phase.
Implementation Plan
OpenCraft will drive and fund the initial implementation of the LMS and Studio Notifications features as described in this proposal. Any additions or extensions to the functionality described here may require additional contributors or funding.
Long-term Ownership/Maintainership
OpenCraft will be responsible for the ownership/maintainership of the features outlined in this proposal.
Open Questions
TBD