💪 Let's free email and communication channels from notifications, with interoperable notifications
Watch ONP video for a non technical explanation https://youtu.be/dnvcxz2KsgU
😠Abuse of email and other communication channels for notifications. Email is meant for communication, not to deliver notifications. Email overload is worsened by notifications piggybacking email.
😞 Lack of interoperable notification delivery mechanism. There is no foolproof way for services to deliver notifications to a user, when the user is off their app/website/platform. Communication channels like email/SMS are abused as fallback.
🤩 Make notifications useful again.
Synchronise on platform
and off platform
notifications, reducing notification overload. Both users and notification publishers benefit from using a better channel optimised for notifications.
Service Category | Services |
---|---|
Workplace Collaboration Tools | Microsoft Teams, Slack, Zoom |
Project Management Tools | Asana, Trello, Jira |
Customer Relationship Management (CRM) | Salesforce, HubSpot |
Email Marketing Platforms | Mailchimp, Constant Contact |
Issue Tracking and Helpdesk Systems | Zendesk, Freshdesk |
Human Resources Software | BambooHR, Workday |
Calendars and Scheduling Tools | Google Calendar, Microsoft Outlook |
Service Category | Services |
---|---|
Social Media Networks | Facebook, Twitter, LinkedIn, YouTube |
E-commerce and Shopping | Amazon, eBay, Etsy |
Online Banking | Banks, Financial Institutions |
Travel and Booking Services | Airlines, Hotels, Travel Agencies |
News and Content Subscriptions | News Websites, Blogs |
Fitness and Health Apps | Fitbit, MyFitnessPal |
Gaming Platforms | Steam, Xbox Live |
Notification is also a form of communication. So how should one decide when to treat something as either communication or a notification?
If something is treated as notification on your app/website/platform, treat it as a notification off your platform as well. Don't offload it on to a communication channel.
- Anjali signs up on Medium
- During on boarding/sign up, Medium asks Anjali to choose a notification delivery channel. The options could be
- Piggyback my email
- Google notifications(let's assume Anjali's email provider is Google and Google has implemented ONP)
- This option cannot be shown if Google has not implemented ONP
- Enter
notification address
- Since the email provider, Google, has implemented ONP, the
notification address
is set equal to the email address. - A test notification(could be packaged as a welcome notification) is sent to the notification address, by Medium. The notification has a button that allows Anjali to confirm that she has seen the test notification. If the notification address works well, then Anjali should see this on her Google notifications app/web app etc.
- Why this test notification?
- To educate Anjali about the new concept of dedicated notification channel
- To ensure that the email provider has indeed implemented ONP and notifications can be positively delivered
- Why this test notification?
- If the notification was successfully received, then Anjali sees the the notification and clicks the confirmation button.
- Medium on boarding flow continues. Medium sends
off platform
notifications to Anjali via Google notifications, instead of email. Theseoff platform
notifications will work in tandem with Mediumon platform
notifications(in app, website) to prevent duplicate notifications for Anjali.
- Anjali has to input her
notification address
. - If she has already registered with a notification service provider (notification receiving part of ONP), then she should have her
notification address
set up. She can input that. - A test notification and OTP flow like above has to be completed.
- If not, then she has to create a
notification address
, by registering with a notification service provider of her choice and complete the process.
- User identification with
notification address
- If email provider has implemented ONP, set
notification address
=email address
for best user experience.
To create or update notifications, notification publishers call the receiver's domain at https://onp.receiver-domain.com. Domain will be deduced from the notification address of the receiver(user).
Field | Description | Default value assumed | Cached? | Can be updated |
---|---|---|---|---|
Notification UUID | Unique identifier for the notification | - | No | No |
Sender | notification address of the sender | - | - | No |
Receiver | notification address of the receiver | - | No | |
Read status | To signify the read/unread status of the notification | unread | - | Yes |
Update type | create when the notification is created for the first time, update when the notification has to be updated, delete when the notification has to be deleted |
create | - | Yes |
Title | Notification title | - | - | Yes |
Message | Notification message | - | - | Yes |
Small icon URI | URI or filename of image for small icon (status bar), monochrome | cached value, if present | Yes | Yes |
Large icon URI | URI or filename of image for large icon, may not show if a picture is used, default is none | cached value, if present | Yes | Yes |
Accent color | Accent colour for the notification, system may adjust, default is system default | system default | Yes | Yes |
Picture URI | URI or filename of image for "big picture style" notification, may hide large icon, default is none | none | Yes | Yes |
Person URI | Contact, mailto:, tel: or name: URI of person relevant to this notification. | - | No | Yes |
Confidential | Whether to only show the notification on secure screens | no | - | Yes |
Category | Notification category | - | - | Yes |
Created at | Unix timestamp when the notification was created | - | - | No |
Updated at | Unix timestamp when the notification was last updated | - | - | Yes |
Importance | To determine the priority with respect to other notifications user receives | Low | - | Yes |
Action buttons | Array of action buttons. Each button is primary , secondary or tertiary . Buttons must have default URI and optionally platform specific URIs. A click on any action button should trigger a read feedback to the subscriber. |
Low | - | Yes |
Notification receivers can provide feedback to the publisher about a notification, based on user actions, by calling the publisher's domain at https://onp.publisher-domain.com
. Domain will be deduced from the notification address
of the sender(publisher).
Field | Description |
---|---|
Notification UUID | Unique identifier for the notification |
Read status | To signify the read/unread status of the notification |
Action button clicked | Details of the action button clicked |
Based on the feedback, if the notification needs to updated, the subscriber can respond with updated notification parameters.