Services/WebPush
Contents
WebPush
Overview
WebPush is a DRAFT proposal to allow remote servers to send data to web applications.
Project Contacts
Principal Points of Contact - Ben Bangert (bbangert@mozilla), Kit Cambridge (kcambridge@mozilla), JR Conlin (jrconlin@mozilla) IRC - #push Group Email - dev-push@mozilla.com
Goals
The web has predominantly existed as user agents requesting data from remote servers. As the Web matures, there is an increasing need and desire for those servers to be able to send information to user agents that may not be immediately connected (e.g. an event of interest occurred, a user action is requested, etc.) Several systems have been created to address this requirement, however none of these talk to each other, or have cumbersome requirements. WebPush looks to standardize these systems with a lighter weight event and data system.
Webpush should be considered "successful" if we see wide adoption. Currently Mozilla, Google and Microsoft have all stated that they will provide WebPush functionality.
Use Cases
How will this be used?
Requirements
- List of requirements
Get Involved
Call to action for folks who want to help.
Design
Points of Contact
Engineer - Ben Bangert (bbangert@mozilla), Kit Cambridge (kcambridge@mozilla), JR Conlin (jrconlin@mozilla)
UX/UI
This is a back-end service and has no user facing components.
API Reference/Documentation
See the DRAFT proposal for Protocol specifics.
Data Schema
Data is currently stored in AWS DynamoDB tables. Data storage is mostly around associating channels to connected user agents and routing messages for delivery. No user provided data is stored.
Platform Requirements
Currently the autopush system is built using Python 2.7 and is run off of AWS instances.
Code Repository
The current server implementation is autopush.
QA
Points of Contact
Engineer - Richard Pappalardo - rpappalardo@mozilla
Test Framework
Autopush currently has 100% code coverage with included integration tests. See: https://travis-ci.org/mozilla-services/autopush/
Security and Privacy
Autopush extends the security review done for SimplePush. See SimplePush security
Points of Contact
yvan@mozilla
Legal
Points of Contact
Operations
Points of Contact
oremj@mozilla
Deployment Architecture
Bugzilla Tracking # -
Escalation Paths
Lifespan Support Plans
Logging and Metrics
Points of Contact
kparlente@mozilla
Tracking Element Definitions
Data Retention Plans
We store no data elements aside from operational information. Each connection and provider is assigned a unique, per instance identifier. The server only knows about active connections that it must support as well as any pending, data free connection events for a pending 72 hour period.
Dashboard URL
- Kibana - General usage and reporting
- Data Dog - Machine status and tracking
- Sentry - Operational event monitoring and alerts
Brand & Marketing
https://bugzilla.mozilla.org/form.creative