CloudServices/Notifications/Legacy
Contents
Overview
There are currently two Notification projects.
BrowserID Postal Notifications
BIPostal is a project to provide for semi-anonymous mail addresses for third party consumers of BrowerID.
See Services/Notifications/Bipostal for more information
Mozilla Push Notifications =
Mozilla Push Notifications is a project that aims to create a system that allows for notifications from clients (such as web applications or services) to be sent directly to the browsers of its users. A typical example where such a system could be useful is the eBay auctioning system. If a user makes a bid on an item, it would be convenient if that user could leave eBay and start browsing another web site, but still receive notifications if another user bids on that item, allowing them to act on the bid.
You probably want to go read the specification for more information.
Services/Notifications/Bipostal BrowserID email notification delivery.
Project
Engineers
- Alex Amariutei
- Shane da Silva
- Toby Elliot
- Philipp von Weitershausen
Meetings
Goals
- Push notifications from the cloud to the browser and other 3rd party clients (e.g. phones)
- receive notification of new email, eBay auction ending, new FB message, etc. without the need to have the tab open
- possibly client-to-client in the future, e.g. open this tab on my mobile phone, pull-sync, etc.
- Messages are encrypted so that the service provider (Mozilla) does not get to read them (like Sync)
- People should be able to run their own service (like Sync)
- Must be super easy for web apps to implement (adoption!)
Milestones
First prototype and research phase (End of Jan 2011)
- First prototype
- Server: simple Python app
- Client: use HTTP long polling
- No encryption
- Server code at http://hg.mozilla.org/users/sdasilva_mozilla.com/notifs_prototype1
- Client code at XXX
- Research messaging protocols (XMPP and AMQP)
- Decide on protocol + technology
- protocol: AMQP
- RabbitMQ broker + REST agents in Python
Second prototype using AMQP (End of Mar 2011)
- Develop system specification
- Notifications client API (AMQP + REST)
- Web app facing REST API
- Second prototype
- Client: (partially) implement AMQP client protocol for Firefox
- Server: Set up RabbitMQ broker, implement client + web app facing agents
- Assume users have Sync accounts
- Encryption: inspired by Sync
Proof of concept (End of Apr 2011)
- Goals
- Incorporate input from
- Brian Smith (crypto)
- UX team
- Ragavan (PM)
- Provide experimental Firefox + Fenec add-on
- Incorporate input from
- Code
- Demo
- [Video of Alex's and Shane's presentation]
- [Demo site] (requires MV VPN)