Features/Services/Notifications: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 9: Line 9:
{{FeatureTeam
{{FeatureTeam
|Feature product manager=None Assigned
|Feature product manager=None Assigned
|Feature feature manager=Mike Connor
|Feature lead engineer=JR Colin
|Feature lead engineer=JR Colin
|Feature security lead=None Assigned
|Feature security lead=David Chan
|Feature privacy lead=None Assigned
|Feature privacy lead=N/A
|Feature localization lead=N/A
|Feature localization lead=N/A
|Feature accessibility lead=N/A
|Feature accessibility lead=N/A
|Feature qa lead=None Assigned
|Feature qa lead=James
|Feature ux lead=None Assigned
|Feature ux lead=None Assigned
|Feature product marketing lead=None Assigned
|Feature product marketing lead=None Assigned
|Feature operations lead=Services Ops
|Feature operations lead=Services Ops
|Feature additional members=:ally
|Feature additional members=Jeff
}}
{{FeaturePageBody
|Feature open issues and risks=* needs privacy review
* needs security review
** is pending for crypto
* needs ops review
** petef is involved
** estimate: initial load ~100 msgs/day
* needs a first real consumer
* needs a PMM/BD before launch
* hardware for production has not been ordered?
* deployment timeline is in question
* B2g question: are they adopting it? is an addon feasible?
* AITC - also expresssed interest
* Desktop - is an addon really a good idea?
* Android - is an addon a good idea?
* Definition of Success (one was not set)
** Someone out side of mozilla consumes it by EOY
*** bonus points for a major social web property (fb, twitter, etc) a year after release
** 1000 msg/day by EOY
|Feature overview=Notifications are a way for websites to send small messages to users when the user is not on the site. iOS and Android devices already support their own push notification services, but we want to make a better notifications system available to the whole web.
|Feature users and use cases=*''Email Notice'' -
A webapp provider wishes to communicate with their audience. The provider has a set of user tokens for their customers. They then send messages to token@mozillamessaging.com (domain tbd). Notifications parses the message, wraps the message in a useful wrapper, and then relays the message to the registered user address, thus providing the user the ability to quiet noisy providers, drop compromised addresses and otherwise manage their message delivery.
 
In addition, these alerts may be passed on to other devices/platforms that are running the webapp. (Note, some care should be exercised to prevent user from being "spammed" by these sorts of notifications. e.g. Same Notifications appearing on every device, email and other notification system they possess.)
 
*''Event Alert'' -
**subclasses: Timed Alerts, Reaction Alerts, Correspondence Alert
**A user wishes to receive alerts when an event of interest is about to
happen. The user signs up with a service, and the service receives a user token. At a significant time, the service then sends a JSON notification to that user token, which causes the notification to appear on any browser that the user is currently using. 
 
*''Cancel Alert'' -
A user no longer wishes to receive alerts for a given notification. The user
loads their admin and control panel and disables the queue. The user can either temporarily silence a given notification queue (in which case, notifications are still collected, but not immediately alerted to the user) or delete the queue (in which case, incoming notifications are rejected, existing notifications are removed, and the queue is no longer associated with the user.)
 
 
|Feature dependencies=* Clients
** This product page only covers the backend system.
* Desktop - addon?
* B2G - ?
* Android - addon?
* Services Ops - deployment
 
|Feature requirements=* Transparency: Process MUST be transparent to user. For example, other than clicking "Yes" or "No" to a dialog of the web app requesting to send notifications, the user should not be aware of the underlying mechanics of the process.
 
* Security: From the point a message leaves the sender until it arrives at its intended recipient, all communications may not be easily readable by unauthorized persons (e.g. anyone besides the sender and the recipient). By "easily" we mean it should not be trivial to decrypt a message, but take a long enough time and resources so that such effort is not viable. Encryption is optional, but the key should be provided by the client service.
 
* Anonymity: Web apps MUST not know anything about user (insofar as the communication between the web app and server is concerned; if the user is logged in to GMail and signs up for notifications, then obviously Google can associate the resulting subscription with the user who created it).
 
* Portability: Service MUST work with any device that supports the protocol.
 
* Control: The user should be able to disable or delete any created notification channel. Upon deletion, the user should not see any additional messages sent to that channel. The sender should be notified that messages to that channel are no longer being accepted.
 
|Feature non-goals=* Not an identity solution
* Not an instant message replacement system
* Not a large content distribution (not files, movies). There will be a size limit.
|Feature functional spec=* limit size is 1024 bytes per notification
|Feature ux design=* Without firm commitment from clients, there are no official UX specs.
** Jeff's addon has ux from a community member
 
|Feature implementation plan=see github
|Feature security review=security review: ?
|Feature privacy review=data safety review: 2012/03/15
privacy review: ?
|Feature localization review=responsibility of the consuming client. no plan of record
|Feature accessibility review=responsibility of the consuming client. no plan of record
|Feature qa review=General Services QA
|Feature operations review=General Services Ops
|Feature implementation notes=* crypto is optional
* Jeff has a shiny demo!
|Feature landing criteria=* Needs at least one client
** DOM API & DOM Crypt library
* Needs production servers
}}
}}
{{FeaturePageBody}}
{{FeatureInfo
{{FeatureInfo
|Feature priority=Unprioritized
|Feature priority=Unprioritized
|Feature theme=The Web is the Platform, Establish Credible Apps System
|Feature list=Other
|Feature list=Other
|Feature engineering team=Services
|Feature engineering team=Services
}}
}}
{{FeatureTeamStatus}}
{{FeatureTeamStatus}}
* https://wiki.mozilla.org/Services/Roadmaps/Notifications
* https://wiki.mozilla.org/Services/Notifications
Confirmed users
385

edits