Services/WebPush

From MozillaWiki
Jump to: navigation, search

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

Points of Contact

Review Meeting

Customer Support

Points of Contact

Sumo Tags

Review Meeting

Documentation Internationalization