user-controlled notifications: nōtifs
DESCRIPTION
Presentation to Internet Identity Workshop on Nōtifs, a concept currently under development for allowing users to subscribe to and manage notifications from services they use. For more information on Nōtifs, see my blog post at: https://altmode.wordpress.com/2014/10/28/introducing-notifs-user-controlled-notifications/TRANSCRIPT
![Page 2: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/2.jpg)
Tuesday, October 28, 14
![Page 3: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/3.jpg)
What is a Nōtif?
• Tell a user that something they’re interested in is happening or has happened
• Requested by the user
• Typically short
• Typically time-sensitive, perishable
Tuesday, October 28, 14
![Page 4: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/4.jpg)
What a Nōtif isn’t
• Anything unsolicited -- correspondence, spam
• Addressed by a human -- addresses are unsuitable for that
• Two-way
• Multihop
Tuesday, October 28, 14
![Page 5: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/5.jpg)
Notification examples• Emergency bulletins
• Advertising / special offers
• Event invitations
• Approval requests
• Tech support
• Password resets
• Fraud alerts (bank, etc.)
• Alerts from “things” (IoT)
• Newsletter availability
• Social media alerts
Tuesday, October 28, 14
![Page 6: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/6.jpg)
Nōtif characteristics• Opt-in
• Typically short
• Modifiable/deletable (best effort)
• Acknowledged delivery
• Domain-signed
• Encrypted in transit
• Urgency and category tagged
• Expires at specified date/time
Tuesday, October 28, 14
![Page 7: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/7.jpg)
Notifiers
Agent
User endpoints
NotificationAgent
PhoneCallSMS,
App push
GrowlManagement,Authorization
NotificationsAuthorization TableRules
Bank EmergencyServices RetailersSocial Media Approval
RequestsCalendar
Tuesday, October 28, 14
![Page 8: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/8.jpg)
Notifiers• Typically not operated
by user
• Opt-in by user through authorization ceremony
• May or may not know much about the user
• Examples:
• Emergency services
• E-Commerce sites
• Social media
• Enterprise services
• Reminders
Tuesday, October 28, 14
![Page 9: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/9.jpg)
Notification Agents• Operate on behalf of
user
• Cloud-based
• User-chosen, decentralized
• Store notifications for retrieval by user
• Manage authorizations for user
• Push selected notifications to selected user endpoints
Tuesday, October 28, 14
![Page 10: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/10.jpg)
User endpoints• Push
• Mobile device app (push notification)
• SMS
• Voice (telephone)
• Desktop app
• Email (!)
• Pull
• Web interface
• Mobile app (via API)
Tuesday, October 28, 14
![Page 11: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/11.jpg)
Typical Nōtif{"origtime": "2014-10-26T22:06:13.462484Z", "to": "[email protected]:5342", "category": 2, "priority": 2, "expiration": "2014-11-25T22:06:13.462484Z" "subject": "Suspicious account activity", "body": "Your ATM card was just used at an ATM in Elbonia.", "selector": "shiny", "signature": "NBzZ7k/hiK1e5pIqVXDF82P2zICjl2qia9kV0L77uUXYXg0Lvyhk3Dj4oDqwlCsBUOKI3FTViDIwp2zdmgQVsKlptvMKHOGm0Oun/YZ/UoRzqB2smJd+7K8JFbNMWvRn/3qx+K96F5BFn3XLngpMKx7HuSqIYKmzwCtsUmnEMx8="}
Tuesday, October 28, 14
![Page 12: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/12.jpg)
Authorization
Tuesday, October 28, 14
![Page 13: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/13.jpg)
Outgoing Methods
Tuesday, October 28, 14
![Page 14: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/14.jpg)
Outgoing RulesVery preliminary for now...
Tuesday, October 28, 14
![Page 15: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/15.jpg)
Current status
• Prototype Notif agent up and running
• Linux/MongoDB/Go
• Implementing signature verification and SMS outgoing
• Prototype user/authorization/notif management
• Linux/MongoDB/Python/Django
• Notifier SDK (Python)
Tuesday, October 28, 14
![Page 16: User-controlled notifications: Nōtifs](https://reader034.vdocuments.us/reader034/viewer/2022052621/55843d55d8b42a84368b4b28/html5/thumbnails/16.jpg)
To Be Done
• Authorization UX
• Open-source the code (when I’m reasonably happy with it)
• Write an API/Protocol Specification
• Mobile app
• Connectors: Generate notifs from legacy services
Tuesday, October 28, 14