From MozillaWiki

Note: This project is not being actively maintained. Information below is provided for archival purposes.

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?

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.





Why?

The connected devices market is ready to explode. As the market grows, much like the early internet, these devices are being segregated into walled gardens of one-off proprietary initiatives, such as AirPlay, the Google Cast API, etc. These solutions not only lock their users into specific vendor ecosystems -- to the benefit of those vendors and detriment of their users -- but also require significant investment to solve each use case.

Many of these connected devices initiatives have common underlying platform needs:

to discover and connect devices together,

enable bi-directional communication,

allow arbitrary, but secure code execution on each side,

and require knowledge of as few details of a device's peers as possible.

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

User Stories and Acceptance Criteria

Coming soon!

Program Status

Milestone Date Status MozFest Demo 11/6-7/2015 DONE Mozlando Demo 12/7-11/2015 DONE Platform Development 1/2016 ON TARGET Land on Master 6/2016 ON TARGET London All Hands Conference 6/2016 ON TARGET

Program Timeline

Detailed Milestones

Milestone Status FlyWeb internal (privileged) APIs written up in WebIDL and implemented. DONE FlyWebDiscoveryManager WebIDL class that serves as an abstract fronted for service-discovery across multiple transports. 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). DONE Integration with the firefox UI to present a toolbar button that lists discovered FlyWeb services in a menu. DONE When the user selects a menu item, open a tab that browses to the service (currently using an ip-based URL). DONE Implementation of initial ‘publishServer’ and ‘connectToService’ web APIs exposed to content. DONE Addition of a temporary “FlyWeb” protocol (flyweb://) to enable testing and mockup of an http-like server embedded in gecko 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). DONE Modify the “publishServer” Web API to hook into FlyWeb’s backend service publishing API. DONE Modify the "publishServer" API to implement a http server rather than the custom flyweb:// protocol. DONE Modify the "publishServer" API to implement a http server rather than the custom flyweb:// protocol. ON TARGET Implement JS fallback mDNS implementation (Android, Windows) ON TARGET Draft web API ON TARGET Draft protocol spec for FlyWeb ON TARGET Wi-Fi Direct transport implementation on Android ON TARGET Implement Certificate protocol for encrypted communication ON TARGET Implement Stable Naming based on Certs ON TARGET All-Hands Conference Demo implementation ON TARGET Maker community for IoT use cases ON TARGET Web dev community for Peer-2-Peer use cases ON TARGET

MVP Scope

54 Total; 1 Open (1.85%); 52 Resolved (96.3%); 1 Verified (1.85%);





Program Stakeholders

Role Name 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

Demo Videos

Proposal

Security





Communication

Video Conferencing - Vidyo Room

Quick link to join with the Vidyo app (prompts install if needed)

We have our own Vidyo room for meetings. Contributors and non-employees are welcome to attend all meetings. Here are the full details for joining:

"FlyWeb" Vidyo Room Hello,



You have been invited to attend a Mozilla Vidyo conference. Please click on the link below to attend:



https://v.mozilla.com/flex.html?roomdirect.html&key=kMx0n47x0LUONw0P2Zhr2HDS0b0



If you do not have a user account, please enter your name in the "Guest Name" field and then click "Join".



To join from a telephone, dial one of the following numbers depending on your nearest location:



US Toll Free +1 800 707 2533, pin 369, conf 98860

US/CA/Mountain View +1 650 903 0800, extension 92, 98860

US/CA/San Francisco: +1 415 762 5700, extension 92, 98860

US/OR/Portland: +1 971 544 8000, extension 92, 98860

CA/BC/Vancouver: +1 778 785 1540, extension 92, 98860

CA/ON/Toronto: +1 416 848 3114, extension 92, 98860

UK/London: +44 (0)207 855 3000, extension 92, 98860

FR/Paris: +33 1 184 883 737, extension 3, extension 92, 98860

DE/Berlin: +49 30 983 333 000, extension 92, 98860

NZ/Auckland: +64 9 555 1100, extension 92, 98860

Project Management

Trello dashboard

We use Trello for project management. All ongoing tasks are listed there.

Meetings

Calendar

Calendar

The FlyWeb team has a public calendar with every team meeting.

Instructions for Adding to your Calendar

Open the calendar. Click on the "+ Google Calendar" button in the very bottom right of your screen.

You can also use the XML and ICS methods, but these are not recommended.

Note: The "Find a Time" feature will not work for other people if you import this calendar. As a consequence, others will not see that you are unavailable when attending a FlyWeb meeting. We suggest either accepting this, or adding the meetings to your main calendar as well.

Standups

We have two weekly standups, with both times available on the Public Calendar. These standups happen in the FlyWeb Vidyo room.

All meeting minutes

2016

2015-Q3

See Also

User and Market Research: Due to the confidential nature of the interviews, and our respect for our interviewees' privacy, we are restricting access to this information.

Strategy Essays

Related Initiatives