Firefox/Push Notifications
Overview
Push notifications is a a collection of features, webAPIs, and servers enabling web applications to efficiently notify client browsers of an event. Ideal use cases are a messaging, email, calendar, and games.
High Level Design
Push Notification contains the following technologies:
Notification API
WebAPI landed in Fx22. Can be used without push and service workers, but will be a popular use case.
https://developer.mozilla.org/en-US/docs/Web/API/notification
Service Workers
Service workers is the ability for your browser to run a script in the background enabling offline applications, background processing, and push notifications.
https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker
Push WebAPI
Web DOM API that enables a website to subscribe a client, upon granting permission, to send events to the client. https://developer.mozilla.org/en-US/docs/Web/API/Push_API
Push Server
Mozilla hosted server that brokers the registration and sending of push events from web app servers to clients. https://wiki.mozilla.org/Services/SimplePushServer
http://autopush.readthedocs.org/en/latest/api.html
Milestones
M1: Targeting Fx42
- Initial implementation of Push WebAPI
- Currently no changes to the existing Notification UI
- Fx42 Notification UI uplifts requested for improved user control exposed due to the Push WebAPI
- bug tree TBA
- Supports service workers, enabling push events when all tabs are closed.
- Support for Android or iOS in M2
- Push event contains no data at this time.
M1.1: Server side policies for large scale usage.
M2: Fx43/44
- Improved Notification management and user control features.
Future
- Use HTTP2 to conform to W3C WebPush spec.