User:Mconnor/Past/Notifications: Difference between revisions
Jump to navigation
Jump to search
(→Client) |
(→Server) |
||
Line 16: | Line 16: | ||
= Server = | = Server = | ||
Building a server for this project has the following initial requirements: | |||
* Implement a server (using XMPP or similar) that can track clients and send messages meant for that user | |||
* Authentication will share credentials with existing Mozilla Services LDAP. | |||
* Offline messaging must be supported for cases where clients are not online | |||
* Architecture must be capable of supporting iPhone push notifications as an output | |||
* Service must be high-availability and scalable, or have a plan for how that can be achieved |
Revision as of 20:12, 18 November 2010
Overview
The Notifications project is intended to enable direct communication between websites and users via the browser, in as close to real time as possible, without requiring users to leave pages open.
One of the core principles of the original Weave project was to enable services like this in a privacy-first context. To that end, we will look to build this on top of strong crypto, so that messages are not readable in transit, even through the server.
Client
Client integration with Firefox (Desktop and Mobile) has the following initial requirements:
- Create a content-exposed API for granting sites permission to notify users. This will return the information necessary to securely pass messages to the server.
- Implement generation and syncing of keys to multiple devices (pub/priv? AES key per site?)
- Integration of an XMPP (or similar) client with Firefox
- Ensure that the XMPP client understands how to set "away" so that notifications are broadcast intelligently
- Implement UI for displaying notifications received and decrypted
Server
Building a server for this project has the following initial requirements:
- Implement a server (using XMPP or similar) that can track clients and send messages meant for that user
- Authentication will share credentials with existing Mozilla Services LDAP.
- Offline messaging must be supported for cases where clients are not online
- Architecture must be capable of supporting iPhone push notifications as an output
- Service must be high-availability and scalable, or have a plan for how that can be achieved