Notification
Management:
Putting Users in
Control
Jim Fenton (@jimfenton)
The Nōtifs Vision
๏  Notifications are a “thing”
-  Not well served by existing services,
especially email
-  Growing usage, particularly mobile
๏  Looked at how we use email, SMS, etc.
-  Optimize for this subset of these uses
-  Runs alongside these services
๏  Applications => apps, so
Notifications => nōtifs
Priorities
Categories
Official Approval
Internet of Things Social/Advertising
…and many more
What is a Nōtif?
๏  One-way
๏  Solicited, Opt-in
๏  Time-sensitive
๏  Perishable
๏  Short (typically)
Notification
Agent
Phone
CallSMS,
App push
Growl
Management,
Authorization
Notifications
Authorization Table
Rules
Bank
Emergency
Services
Retailers
Social
Media
Approval
Requests
Calendar
For Notifiers:
๏  Direct feedback when nōtifs are accepted
on behalf of users
๏  No need for third-party bulk senders
๏  Spam-and phishing-resistant
-  No junk mail folders to avoid
๏  Less clutter => more impact
For Users:
๏  Centralized management/unsubscribe
๏  Control over how (or whether) to be alerted
when nōtifs arrive
๏  Spam and phishing-resistant
Spam and Phishing?
๏  No widely-used addresses
๏  Notifs are signed by the notifier domain
-  Protects against theft of notifier’s database
๏  No From address => nothing to spoof
-  From address in authorization, not message
Privacy
๏  Notifiers don’t get persistent contact info
๏  Addresses are unique, opaque
-  (and in the background)
user@example.com
415 555-2368
🚫
🚫
Alerts
๏  Users describe their push methods to
notification agent
-  Cell phones (SMS), voice phones, email, app
push
๏  Rule sets decide if/how to alert the user
-  Based on priority, category, notifier
-  Can be time of day based
Opting In
Notification
Agent
User
Notifier
1. Request authorization to notify
2. Browser redirects to
Notification Agent, User
agrees
3. Notification address
sent to Notifier
Cutting the Clutter
๏  Less nōtif clutter: Good for everyone
-  Users get relevant nōtifs
-  Nōtifs have more impact
๏  3 mechanisms:
-  Update
-  Deletion
-  Expiration
๏  All best-effort
Update
๏  Notifier replaces a previous nōtif
-  Tornado watch -> warning
-  More info on wanted criminal
-  Updated auction bid status
-  Error in original nōtif
Delete
๏  An update that deletes the nōtif
-  AMBER Alert: Child is found
-  Requested approval no longer needed
-  User left vicinity of location-triggered notif
-  Alarm condition has been cleared
-  Special offer sold out
-  Voicemail has been collected
Expiration
๏  Timed automatic deletion
-  Coupon expired
-  Tornado warning expired
-  Auction over
-  Calendar event has passed
๏  Doesn’t require notifier activity
Running a Notification Agent
๏  Open-source implementations will be
available
๏  Comparable to running a website or blog
-  Some will run their own
-  Some will rely on commercial services
-  Think Wordpress
๏  Outside commercial services can provide
support for user alerts
Being a Notifier
๏  Simple enough for IoT devices
-  Modest persistent storage and crypto
๏  No need for special ISP arrangements like
static IP addresses
๏  Communicate with notification agents via
Web API
๏  Toolkit libraries will make this easy
Nōtifs Summary
๏  Something I wish I had
๏  An API purpose-built for notification
๏  Vendor-independent
๏  Not burdened by legacy protocol
requirements (like email)
๏  BUT: Deploying something new is hard

IgnitePII2014 Nōtifs

  • 1.
  • 2.
    The Nōtifs Vision ๏ Notifications are a “thing” -  Not well served by existing services, especially email -  Growing usage, particularly mobile ๏  Looked at how we use email, SMS, etc. -  Optimize for this subset of these uses -  Runs alongside these services ๏  Applications => apps, so Notifications => nōtifs
  • 4.
  • 5.
    Categories Official Approval Internet ofThings Social/Advertising …and many more
  • 6.
    What is aNōtif? ๏  One-way ๏  Solicited, Opt-in ๏  Time-sensitive ๏  Perishable ๏  Short (typically)
  • 7.
  • 9.
    For Notifiers: ๏  Directfeedback when nōtifs are accepted on behalf of users ๏  No need for third-party bulk senders ๏  Spam-and phishing-resistant -  No junk mail folders to avoid ๏  Less clutter => more impact
  • 10.
    For Users: ๏  Centralizedmanagement/unsubscribe ๏  Control over how (or whether) to be alerted when nōtifs arrive ๏  Spam and phishing-resistant
  • 11.
    Spam and Phishing? ๏ No widely-used addresses ๏  Notifs are signed by the notifier domain -  Protects against theft of notifier’s database ๏  No From address => nothing to spoof -  From address in authorization, not message
  • 12.
    Privacy ๏  Notifiers don’tget persistent contact info ๏  Addresses are unique, opaque -  (and in the background) user@example.com 415 555-2368 🚫 🚫
  • 13.
    Alerts ๏  Users describetheir push methods to notification agent -  Cell phones (SMS), voice phones, email, app push ๏  Rule sets decide if/how to alert the user -  Based on priority, category, notifier -  Can be time of day based
  • 14.
    Opting In Notification Agent User Notifier 1. Requestauthorization to notify 2. Browser redirects to Notification Agent, User agrees 3. Notification address sent to Notifier
  • 15.
    Cutting the Clutter ๏ Less nōtif clutter: Good for everyone -  Users get relevant nōtifs -  Nōtifs have more impact ๏  3 mechanisms: -  Update -  Deletion -  Expiration ๏  All best-effort
  • 16.
    Update ๏  Notifier replacesa previous nōtif -  Tornado watch -> warning -  More info on wanted criminal -  Updated auction bid status -  Error in original nōtif
  • 17.
    Delete ๏  An updatethat deletes the nōtif -  AMBER Alert: Child is found -  Requested approval no longer needed -  User left vicinity of location-triggered notif -  Alarm condition has been cleared -  Special offer sold out -  Voicemail has been collected
  • 18.
    Expiration ๏  Timed automaticdeletion -  Coupon expired -  Tornado warning expired -  Auction over -  Calendar event has passed ๏  Doesn’t require notifier activity
  • 19.
    Running a NotificationAgent ๏  Open-source implementations will be available ๏  Comparable to running a website or blog -  Some will run their own -  Some will rely on commercial services -  Think Wordpress ๏  Outside commercial services can provide support for user alerts
  • 20.
    Being a Notifier ๏ Simple enough for IoT devices -  Modest persistent storage and crypto ๏  No need for special ISP arrangements like static IP addresses ๏  Communicate with notification agents via Web API ๏  Toolkit libraries will make this easy
  • 21.
    Nōtifs Summary ๏  SomethingI wish I had ๏  An API purpose-built for notification ๏  Vendor-independent ๏  Not burdened by legacy protocol requirements (like email) ๏  BUT: Deploying something new is hard

Editor's Notes

  • #4 We get lots of notifications, for lots of different reasons every day.
  • #5 Notifs cover a wide range of urgency and importance
  • #6 Notifs also can be categorized by type.
  • #7 So what do these uses have in common? They’re not a conversation, but you ask to receive them and often, time is of the essence.
  • #8 Here’s one possible way a notifications service could be structured. Examples of notifiers Agent User endpoints
  • #9 But we know there’s a chicken-and-egg problem with technologies like this: You need to get both senders and receivers to adopt them
  • #10 This boils down to deliverability
  • #11 The big advantages for users are the organization and control they have over nōtifs they receive.
  • #15 Users opt in to receiving notifs by relaying a website’s request to their notification agent.
  • #16 It’s in everyone’s best interest that the active notifs that users see are relevant. Fortunately, since the notifier talks to the agent directly, the notifier can update and delete notifs when appropriate.
  • #17 This is possible because the notifier communicates directly with the notification agent where the old notif is stored.
  • #18 Notifs that are no longer current are just unnecessary clutter.
  • #19 Sometimes notifs expire at planned times, so that should be easy to do.
  • #20 Running a notification agent should be just like running a blog: do it yourself, or go commercial.