Notifications: Resources
Product Discovery
- /wiki/spaces/EDUCATOR/pages/71893184
- Overall project page with goals and definitions
- Learner Notifications
- Initial Product thoughts
- See Resources section for further links
Design Documents
- Notification Design (v3)
- Led by solutions team, reviewed by Arch Council
- An MVP was implemented (in the edx-notifications repo), but is not at edX-scale - see Notes.
- edx-platform PR to enable edx-notifications in the platform.
- Notifications API
- Collection of thoughts and ideas from a few years ago on inter-process and intra-process notifications/signalling
Message Bus / Pub-Sub Architecture
- Event Notifier Design Pattern
- A dated document, but describes the basic elements of a pub/sub design pattern
- In particular, the Event hierarchy design described in the Modeling Events section, seems worthy to support, resulting in a more code-scalable implementation.
- However, rather than supporting it through a strongly-typed hierarchy (since we need to support it across IDAs/services/languages), we can do so via structured strings.
- https://www.rabbitmq.com/
- Already used by the platform - and sufficient for our needs
- Build a modular eventing interface layer on top of this
- http://kafka.apache.org/
- A more scalable alternative
- Possibly reusable by Analytics team
Delivery Channels
- Browser
- Mobile Push
- Mobile Remote Notification - Middleware Comparison
- Most likely go with Amazon-SNS since Parse is now out of commission
- Microsoft's push notifications infrastructure
- Mobile Remote Notification - Middleware Comparison
Governance on Notification Delivery
- Anti-pattern
- https://medium.com/@holympus/notifications-are-a-ux-anti-pattern-c4d8c9ccce39#.70e7ad437
- Users stop checking when over-notified
- "distinguish between well-designed notifications and those that are designed to create a coerced, unbreakable loop of app usage."
- http://designmodo.com/user-friendly-notifications/
- carry enough “value-for-interruption,”
- They can be powerful tools for marketers to communicate directly with users and deliver the right message at the right time and place in order to promote engagement.
- importance
- relevance and timeliness - timezones
- customization
- distinguish between user-to-user notif. and product-to-user notif.
- https://blog.intercom.io/its-time-for-notifications-to-get-smart/
Smart timing, Smart location, Smart grouping, Smart targeting, Smart feedback
The path to smart notifications
"It’s obvious, notifications can’t stay the way they are for much longer. They are disengaging. They are intrusive. Nobody loves them. At the same time, all the data required for the creation of smarter notifications already exists. There are products trying to use that data properly and which suggest a path for how notifications can start to provide value and be truly helpful."
- https://blog.intercom.io/messaging-apps-just-getting-started/
- Emojis and stickers - a necessary evolution in messaging
- https://docs.intercom.io/help-and-faqs/sending-messages/how-does-intercom-deliver-push-email-and-in-app-notifications
- Delaying notifications to mobile and email in-case of in-browser activity
- http://www.ucl.ac.uk/~ucfamus/papers/ubicomp15_designing.pdf