FlyWeb: Difference between revisions

4,617 bytes added ,  3 August 2017
no edit summary
(ordering)
No edit summary
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[File:FlyWeb.png|150px|frameless|left|FlyWeb]]
'''Note:''' This project is not being actively maintained. Information below is provided for archival purposes.


<div style="float: right; margin: 0px 0px 10px 25px;">[[File:FlyWeb.png|link=]]</div>
=='''Program Description'''==
The web already powers the world's email, media, shopping, and more. Interacting with these things is a breeze because they all use the web. What if the electronics around us were the same?
The web already powers the world's email, media, shopping, and more. Interacting with these things is a breeze because they all use the web. What if the electronics around us were the same?


Meet <strong>FlyWeb</strong>. FlyWeb is a very simple idea at its core. Instead of phones interacting only with the cloud, they can discover and interact with electronics around them that are running empty web clients, such as TV's, projectors, game consoles, etc. The electronics come to life when connected to phones. The key here is that either the phones serve web apps to these electronics, or the electronics serve web apps to the phones.
Meet FlyWeb. FlyWeb is a very simple idea at its core. Instead of phones interacting only with the cloud, they can discover and interact with electronics around them that are running empty web clients, such as TV's, projectors, game consoles, etc. The electronics come to life when connected to phones. The key here is that either the phones serve web apps to these electronics, or the electronics serve web apps to the phones.  
 




Line 19: Line 20:
The web is the best platform for serving all of these needs. Indeed, it has been designed for them for over a decade.
The web is the best platform for serving all of these needs. Indeed, it has been designed for them for over a decade.


=Demo Videos=
===User Stories and Acceptance Criteria===
* [https://www.dropbox.com/s/hn4hk3mn6ra0sfa/FlyWeb%20%40%20Mozlando.mp4?dl=0 Demo at Mozlando MoCo/MoFo All Hands 12/10/15]
Coming soon!
* [https://blog.mozilla.org/blog/2015/11/09/mozfest-2015-demo-garage-showing-whats-possible-with-the-open-web/?fb_action_ids=10208274568127989&fb_action_types=og.likes Demo at Mozfest 11/5/15]
<!--- {| class="wikitable"
* [https://youtu.be/j3E4dKNaQRM Early Trailer Video]
! style="text-align: center;" | Title
** [https://youtu.be/kq1ygsQzuO0 Developer commentary over this video.]
! style="text-align: center;" | BUG ID
* [https://youtu.be/g-zHE33xKng Early-stage browser casting demo.]
! style="text-align: center;" | User story
! style="text-align: center;" | Acceptance Criteria
|-
| Bugzilla Lite
| [https://bugzilla.mozilla.org/show_bug.cgi?id=1180660 1180660]
| As a user I want to be able to raise bugs directly from the device so that I can inform Mozilla directly of any of my requirements.  
| it should be easy to attach logs - it should be easy to attach screenshots - it should receive feedback on the ID of the bug i have raised - it should be easy to get an overview of all the items I have raised
|} --->
 
=='''Program Status'''==
{| class="wikitable"
! style="text-align: center;" | Milestone
! style="text-align: center;" | Date
! style="text-align: center;" | Status
|-
| MozFest Demo
| 11/6-7/2015
! style="background:#00B2FF;" | DONE
|-
| Mozlando Demo
| 12/7-11/2015
! style="background:#00B2FF;" | DONE
|-
| Platform Development
| 1/2016
! style="background:#00EC00;" | ON TARGET
|-
| Land on Master
| 6/2016
! style="background:#00EC00;" | ON TARGET
|-
| London All Hands Conference
| 6/2016
! style="background:#00EC00;" | ON TARGET
|}
 
----
 
=='''Program Timeline'''==
[[File:FWMilestones.png]]
 
----
 
=='''Detailed Milestones'''==


=Proposal=
{| class="wikitable"
! style="text-align: center;" | Milestone
! style="text-align: center;" | Status
|-
| FlyWeb internal (privileged) APIs written up in WebIDL and implemented.
! style="background:#00B2FF;" | DONE
|-
| FlyWebDiscoveryManager WebIDL class that serves as an abstract fronted for service-discovery across multiple transports.
! style="background:#00B2FF;" | DONE
|-
| An internet-and-mdns-specific backend implementation for FlyWebDiscoveryManager that lets the APIs discover ‘_http._tcp’ and ‘_flyweb._tcp’ services advertised on the local network via MDNS (Bonjour).
! style="background:#00B2FF;" | DONE
|-
| Integration with the firefox UI to present a toolbar button that lists discovered FlyWeb services in a menu.
! style="background:#00B2FF;" | DONE
|-
| When the user selects a menu item, open a tab that browses to the service (currently using an ip-based URL).
! style="background:#00B2FF;" | DONE
|-
| Implementation of initial ‘publishServer’ and ‘connectToService’ web APIs exposed to content.
! style="background:#00B2FF;" | DONE
|-
| Addition of a temporary “FlyWeb” protocol (flyweb://) to enable testing and mockup of an http-like server embedded in gecko
! style="background:#00B2FF;" | DONE
|-
| Implement anonymous, browser-based naming of services.  For security purposes, the browser will have to assign a token hostname to a service as needed, and route that hostname to the service’s IP address (bypassing normal DNS mechanics).
! style="background:#00B2FF;" | DONE
|-
| Modify the “publishServer” Web API to hook into FlyWeb’s backend service publishing API.
! style="background:#00B2FF;" | DONE
|-
| Modify the "publishServer" API to implement a http server rather than the custom flyweb:// protocol.
! style="background:#00B2FF;" | DONE
|-
| Modify the "publishServer" API to implement a http server rather than the custom flyweb:// protocol.
! style="background:#00EC00;" | ON TARGET
|-
| Implement JS fallback mDNS implementation (Android, Windows)
! style="background:#00EC00;" | ON TARGET
|-
| Draft web API
! style="background:#00EC00;" | ON TARGET
|-
| Draft protocol spec for FlyWeb
! style="background:#00EC00;" | ON TARGET
|-
| Wi-Fi Direct transport implementation on Android
! style="background:#00EC00;" | ON TARGET
|-
| Implement Certificate protocol for encrypted communication
! style="background:#00EC00;" | ON TARGET
|-
| Implement Stable Naming based on Certs
! style="background:#00EC00;" | ON TARGET
|-
| All-Hands Conference Demo implementation
! style="background:#00EC00;" | ON TARGET
|-
| Maker community for IoT use cases
! style="background:#00EC00;" | ON TARGET
|-
| Web dev community for Peer-2-Peer use cases
! style="background:#00EC00;" | ON TARGET
|}


==Draft Proposal==
----
<big>[https://docs.google.com/document/d/12i_UjTvmhViXho-wIy4UWrghuFxLls_HYEk1F9-f_GM/edit?usp=sharing Draft Proposal Link]</big>


==Draft Specification==
=='''MVP Scope'''==
<big>[https://github.com/flyweb/spec Draft Specification Link]</big>


==Bug Tracking==
<bugzilla>
<bugzilla>
     {
     {
Line 42: Line 146:
     }
     }
</bugzilla>
</bugzilla>
----
=='''Program Stakeholders'''==
{| class="wikitable"
! style="text-align: center;" | Role
! style="text-align: center;" | Name
! style="text-align: center;" | IRC
|-
| EPM
| Nicole Yee
| nicoleyee
|-
| EM
| Jonas Sicking
| sicking
|-
| TL
| Kannan Vijayan
| djvj
|-
| Engineering
| Justin D'Arcangelo
| justindarc
|-
|}
*EPM = Engineering Program Manager
*EM = Engineering Manager
*TL = Tech Lead
----
==Reference Links==
=Demo Videos=
* [https://air.mozilla.org/friday-plenary-flyweb/ Demo at Mozlando 12/11/15]
* [https://blog.mozilla.org/blog/2015/11/09/mozfest-2015-demo-garage-showing-whats-possible-with-the-open-web/?fb_action_ids=10208274568127989&fb_action_types=og.likes Demo at Mozfest 11/5/15]
* [https://youtu.be/j3E4dKNaQRM Early Trailer Video]
** [https://youtu.be/kq1ygsQzuO0 Developer commentary over this video.]
* [https://youtu.be/g-zHE33xKng Early-stage browser casting demo.]
=Proposal=
* [https://docs.google.com/document/d/12i_UjTvmhViXho-wIy4UWrghuFxLls_HYEk1F9-f_GM/edit?usp=sharing Draft Proposal Link]
* [https://github.com/flyweb/spec Draft Specification Link]
=Security=
* [https://docs.google.com/document/d/1eqLb6cGjDL9XooSYEEo7mE-zKQ-o-AuDTcEyNhfBMBM/edit?usp=sharing A discussion about FlyWeb security by Ekr]
* [[FlyWeb/Security scenarios|A list of example scenarios that are useful when discussing security]]


=Communication=
=Communication=
Line 57: Line 213:
<br>
<br>
You have been invited to attend a Mozilla Vidyo conference. Please click on the link below to attend:<br>
You have been invited to attend a Mozilla Vidyo conference. Please click on the link below to attend:<br>
<br>
<br>https://v.mozilla.com/flex.html?roomdirect.html&key=kMx0n47x0LUONw0P2Zhr2HDS0b0<br>
https://v.mozilla.com/flex.html?roomdirect.html&key=8uhXHJqVblWNGubS4x0he1qB810<br>
<br>
<br>
If you do not have a user account, please enter your name in the "Guest Name" field and then click "Join".<br>
If you do not have a user account, please enter your name in the "Guest Name" field and then click "Join".<br>
Line 75: Line 230:
NZ/Auckland: +64 9 555 1100, extension 92, 98860
NZ/Auckland: +64 9 555 1100, extension 92, 98860
|}
|}
==Team==
* [mailto:kvijayan@mozilla.com Kannan Vijayan (:djvj)] - engineering
* [mailto:jdarcangelo@mozilla.com Justin D'Arcangelo (:justindarc)] - engineering
* [mailto:jonas@sicking.cc Jonas Sicking (:sicking)] - specifications
* [mailto:nyee@mozilla.com Nicole Yee (:nicoleyee)] - project management


=Project Management=
=Project Management=
Line 109: Line 258:


==All meeting minutes==
==All meeting minutes==
===2016===
* [https://public.etherpad-mozilla.org/p/flywebstandups Weekly Standups]
===2015-Q3===
===2015-Q3===
* [[FlyWeb/Meetings/2015-08-20 - FlyWeb+Presentation API|2015-08-20 - FlyWeb+Presentation API]]
* [[FlyWeb/Meetings/2015-08-20 - FlyWeb+Presentation API|2015-08-20 - FlyWeb+Presentation API]]
Confirmed users
945

edits