CloudServices/Loop: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
(obsolete page)
 
(22 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{LastUpdated}}
{{blackboxwarning|
Firefox Hello (aka Loop) is being [https://support.mozilla.org/kb/hello-status shutdown from Firefox 49].<br />These pages serve as an archive and reference.
}}


{{Draft}}
<h1><i>Loop Project Checklist Page</i></h1>
==Overview==
*[http://people.mozilla.org/~sescalante/webRTC-allup/webRTC-allupGantt.html Draft Cross-functional Project Plan] Note: This plan is not a commitment to dates and is a work in progress.


=Overview=
* High level diagram:
[[File:Loop diagram.png]]


The loop project aims to provide a WebRTC application firefox users can use from within Firefox.
==Important Dates==
The server part handles registration of the clients, generation of temporary links and communication with the WebRTC infrastructure provider.
* <s>{{mok}} 2014-04-14 :: Review MVP User Stories</s>
* <s>{{mok}} 2014-04-25 :: Definition of user flows, architecture & API confirmed for how authentication will work
* Milestones <i>TBD</i></s>
* <s>{{mok}} Week of May 19th: Work Week in Paris with TEF</s>
* {{mok}} June 3 - 5 : Work week with TokBox focused on Product roadmap and Marketing
* [https://www.google.com/calendar/embed?src=bW96aWxsYS5jb21fNTY0NW1uMWpnamQ5aG8zaXNodHRodnQybHNAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ Hello Cross-Team Planning Calendar]


=Definitions=
==Project Contacts==
* Complete cross-functional [https://wiki.mozilla.org/Services/Loop/DRIs 'DRI List']
* IRC channel: #media
* Loop Development Mailing List: [https://mail.mozilla.org/listinfo/loop-services-dev loop-services-dev]


- Simple Push URL: an URL the server can ping in order to wake up the client.
==Goals==
- FxA assertion: a Firefox Account assertion (read token) containing a way to identify the user on the server
<i>How will you know things are working?</i>
- Provider tokens: In order to initiate a call between two parties, the provider issues tokens, session ids and client need to have an API key.
<i>What problems does this solve?</i>
==Use Cases==
[https://docs.google.com/a/mozilla.com/spreadsheet/ccc?key=0AlJmiyFngeSwdGJEVnItQ2NVbGx6NXdjbVBUYmIxSGc&usp=drive_web#gid=0 Loop MVP User Stories]


=APIs=
===MVP Loop===
<onlyinclude>
<bugzilla>
{
    "blocks": "971986",
    "resolution": "---",
    "include_fields": "id, priority, summary, status, assigned_to",
    "order": "bug_id"
}
</bugzilla>


A "*" means this URI requires authentication (Ideally you should pass a valid BrowserID assertion, current implementation does that with a session cookie).
==Engineering Meeting Notes==
* Archived notes can be found on the [https://wiki.mozilla.org/CloudServices/Loop/WeeklyStandup weekly standup wiki page]


'''POST /registration'''
==Requirements==
Associates a Simple Push Endpoint (URL) with the authenticated user. (Requires a "simple_push_url" parameter.)
* <i>List of requirements</i>
==Get Involved==
<i>Call to action for folks who want to help.</i>
=Design=
==Points of Contact==
* [https://wiki.mozilla.org/Loop/Contacts Contacts for Hello, webRTC, and cross-team partners]


== UX/UI ==
Please see the Cloud Services [https://wiki.mozilla.org/CloudServices/UX#Loop UX wiki] for more information.


'''POST /call-url'''
==API Reference/Documentation==
Create the call url a callee can click on. (Requires "remote_id" and "valid_duration" parameters).
see https://wiki.mozilla.org/CloudServices/Loop/Server


==Platform Requirements==
<i>What are the things this needs (OS, language, databases, etc.)?


'''GET  /calls/{token}'''
==Libraries Required==
Get the app (that's the url in question, which displays an app) (No parameter required.)
<i>List of external project dependencies. (Stuff that's not pulled in via the installation script)</i>


==Code Repository==
<i>Links to the published code bases</i>
==Release Schedule==
<i>Predicted code delivery dates</i>
=QA=
==Points of Contact==
* Loop QA Lead: Anthony Hughes (IRC: ahughes, Email: [mailto:ahughes@mozilla.com ahughes@mozilla.com])


'''POST /calls/{token}'''
==Test Framework==
Add an incoming call (does a simple push notif and gets room tokens), return participant tokens. (No parameter required.)
* For now, see the following sites:
** Loop-Server: https://wiki.mozilla.org/QA/Services/LoopTestEnvironments
** Loop-Server: https://wiki.mozilla.org/QA/Services/LoopServerLoadTesting
** Loop-Server: https://wiki.mozilla.org/Services/Loop/Try_Loop
** Loop QA (Client and Server, Desktop and Mobile): https://wiki.mozilla.org/Loop/QA
** Loop-Client Test Plan: https://docs.google.com/a/mozilla.com/document/d/1xYZijHnJ1JeJhONm2AYvxSnD2tWztC16WGFyD5U_d6g


=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)


'''GET  /calls/'''
For security reviews, there's:
https://wiki.mozilla.org/Security/ReviewProcess


List incoming calls for the authenticated user. (No parameter required.)
==Points of Contact==
==Questionnaire Answers==
===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==


=User Flow=
=Legal=
<!-- Please note. Do not add sensitive elements to this public page. Any project that involves Personal Identifying Information MUST contact legal. Be smart, don't get us sued. -->
==Points of Contact==


Let's say Bob wants to be called by Alice.
=Operations=
The workflow is as follows:
<!-- Get Operations involved as soon as it is feasible. They'll need to set up staging and production machines and can help suggest methods for project deployment, monitoring and tracking that will keep you from being woken up at 3AM. -->


1. Bob registers with SimplePush, he gets a simple push url back and listens to the WebSocket connection;
==Points of Contact==
2. Bob asks the server to generate a call url for him;
==Deployment Architecture==
3. Bob gives this URL to Alice;
''Bugzilla Tracking # '' -
4. Alice clicks on the link, server validates the URL and displays a WebApp with a message "do you want to call Bob"?
==Escalation Paths==
5. Alice decides to call Bob, server validates the URL
==Lifespan Support Plans==
6. Server gets provider tokens;
 
7. Server stores the callee token and session id in database;
=Logging and Metrics=
8. Server pings the Simple Push Server to wake up Bob's client;
==Points of Contact==
9. Server returns caller token, session id and API Key to Alice's client
==Tracking Element Definitions==
10. Bob client wakes up, go on the server to look at the list of incoming calls;
==Data Retention Plans==
11. Server returns the list of calls (containing provider information) to Bob's client.
==Dashboard URL==
12. Connection can be done between Alice and Bob!
=Customer Support=
==Points of Contact==
==Sumo Tags==
==Review Meeting==
==Documentation Internationalization==

Latest revision as of 15:51, 11 October 2016

Warning

Firefox Hello (aka Loop) is being shutdown from Firefox 49.
These pages serve as an archive and reference.

Warning

Loop Project Checklist Page

Overview

  • High level diagram:

Loop diagram.png

Important Dates

  • [ON TRACK] 2014-04-14 :: Review MVP User Stories
  • [ON TRACK] 2014-04-25 :: Definition of user flows, architecture & API confirmed for how authentication will work
  • Milestones TBD
  • [ON TRACK] Week of May 19th: Work Week in Paris with TEF
  • [ON TRACK] June 3 - 5 : Work week with TokBox focused on Product roadmap and Marketing
  • Hello Cross-Team Planning Calendar

Project Contacts

Goals

How will you know things are working? What problems does this solve?

Use Cases

Loop MVP User Stories

MVP Loop

Full Query
ID Priority Summary Status Assigned to
1078286 -- Lenovo X1 carbon 34xx default camera driver not working with WebRTC video REOPENED

1 Total; 1 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Engineering Meeting Notes

Requirements

  • List of requirements

Get Involved

Call to action for folks who want to help.

Design

Points of Contact

UX/UI

Please see the Cloud Services UX wiki for more information.

API Reference/Documentation

see https://wiki.mozilla.org/CloudServices/Loop/Server

Platform Requirements

What are the things this needs (OS, language, databases, etc.)?

Libraries Required

List of external project dependencies. (Stuff that's not pulled in via the installation script)

Code Repository

Links to the published code bases

Release Schedule

Predicted code delivery dates

QA

Points of Contact

Test Framework

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: https://wiki.mozilla.org/Security/ReviewProcess

Points of Contact

Questionnaire Answers

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

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

Customer Support

Points of Contact

Sumo Tags

Review Meeting

Documentation Internationalization