Services/WebPush: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 4: Line 4:


==Project Contacts==
==Project Contacts==
''Principal Point of Contact'' - <i>Name</i> <i>contact@info</i>
''Principal Points of Contact'' - Ben Bangert (bbangert@mozilla), Kit Cambridge (kcambridge@mozilla), JR Conlin (jrconlin@mozilla)
''IRC'' - #<i>channel</i>
''IRC'' - #push
''Group Email'' - TBD
''Group Email'' - [https://lists.mozilla.org/listinfo/dev-push dev-push@mozilla.com]


==Goals==
==Goals==
<i>How will you know things are working?</i>
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.
<i>What problems does this solve?</i>
 
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==
==Use Cases==
<i>How will this be used?</i>
<i>How will this be used?</i>
Line 19: Line 20:
=Design=
=Design=
==Points of Contact==
==Points of Contact==
Engineer - <i>Name</i> <i>contact@info</i>
Engineer - Ben Bangert (bbangert@mozilla), Kit Cambridge (kcambridge@mozilla), JR Conlin (jrconlin@mozilla)


== UX/UI ==
== UX/UI ==
<i>design elements and considerations. Not required for services with no User facing element, but still recommended to discuss with a rep from the group.</i>
This is a back-end service and has no user facing components.  
 
<i>Name</i> <i>contact@info</i>


==API Reference/Documentation==
==API Reference/Documentation==
See the [https://github.com/webpush-wg/webpush-protocol DRAFT proposal] for Protocol specifics.
=== Data Schema ===
=== Data Schema ===
<i>How will data be stored</i>
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.
=== API ===
<i>How to call the data</i>
==== <i>method</i> <i>URI</i> ====
<i>description</i>
 
Arguments <i>argument descriptions</i>
Returns: <i>returned contents</i>


==Platform Requirements==
==Platform Requirements==
<i>What are the things this needs (OS, language, databases, etc.)?
Currently the autopush system is built using Python 2.7 and is run off of AWS instances.  
 
==Libraries Required==
<i>List of external project dependencies. (Stuff that's not pulled in via the installation script)</i>


==Code Repository==
==Code Repository==
<i>Links to the published code bases</i>
The current server implementation is [https://github.com/mozilla-services/autopush autopush].
==Release Schedule==
<i>Predicted code delivery dates</i>
=Schedule=
Requirements Collection - ??/??
Minimum Viable Product - ??/??
Integration - ??/??
Start of QA testing - ??/??
Load Testing - ??/??
Public Beta - ??/??
Release - ??/??
=QA=
=QA=
==Points of Contact==
==Points of Contact==
Engineer - <i>Name</i> <i>contact@info</i>
Engineer - Richard Pappalardo - rpappalardo@mozilla
==Test Framework==
==Test Framework==
Autopush currently has 100% code coverage with included integration tests.
See: https://travis-ci.org/mozilla-services/autopush/


=Security and Privacy=
=Security and Privacy=
Fill out the security & privacy bug template: https://bugzilla.mozilla.org/form.moz-project-review
(https://wiki.mozilla.org/Websites/Kick-Off_Form)


For security reviews, there's:
Autopush extends the security review done for SimplePush.
https://wiki.mozilla.org/Security/ReviewProcess
See [https://wiki.mozilla.org/Services/SimplePushServer#Security_and_Privacy SimplePush security]


==Points of Contact==
==Points of Contact==
==Questionnaire Answers==
yvan@mozilla
===1.1 Goal of Feature ===
===2. Potential Threat Vectors and Mitigation Points===
==Review Status==
''Bugzilla Tracking #'' -
see https://wiki.mozilla.org/Security/Reviews
==Issues and Resolutions==


=Legal=
=Legal=

Revision as of 19:01, 4 September 2015

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

Deployment Architecture

Bugzilla Tracking # -

Escalation Paths

Lifespan Support Plans

Logging and Metrics

Points of Contact

Tracking Element Definitions

Data Retention Plans

Dashboard URL

Brand & Marketing

https://bugzilla.mozilla.org/form.creative

Points of Contact

Review Meeting

Customer Support

Points of Contact

Sumo Tags

Review Meeting

Documentation Internationalization