Firefox OS/Stingray: Difference between revisions

 
(46 intermediate revisions by 9 users not shown)
Line 3: Line 3:


== Key Mozilla Team Members ==  
== Key Mozilla Team Members ==  
* Product Marketing: Jane Hsu
* Product Manager: Joe Cheng
* PM: Joe Cheng
* EPM: Howie Chang
* UX: Mike Tsai
* TAM: Francis Lee
* Engineering: Keven Kuo
* UX: Juwei Huang / Tori Chen
* Engineering
* Gecko
* Gecko
** Marco Chen
** Shian-Yow Wu
** Shian-Yow Wu
** Gene Lian
** Shih-Chiang Chien
** Shih-Chiang Chien
** Gina Yeh
** Junior Hsu
** Shelly Lin
** Sean Lin
** Solomon Chiu
** Kershaw Chang
** Kilik Kuo
** Gary Chen
** James Cheng
** Junior Hsu
** Tommy Kuo
** Kevin Chen
** ChunMin Chang
** Daosheng Mu
** Eric Tsai
** Amy Chung
* Gaia
* Gaia
** Evelyn Hung
** Evelyn Hung
** John Hu
** John Hu
** Rex Lee
** Rex Lee
** Gary Chen
** Tzu-lin Huang
** Luke Chang
** Luke Chang
** Tzu-lin Huang
** YiFan Liao
** Sherman Chen
** Sean Lee


== Ongoing work ==
== Ongoing work ==
* Scope is still being determined and there is a master meta bug created
=== Key focus areas of the team ===
* {{bug|980768}} [Stingray] TV support
* Priority items for the team : {{Bug|1146810}}
* [https://docs.google.com/drawings/d/1xa5vWmWZejTYHAORkLvn4VsWwt12H0FMQH6IsKKITGw/edit?usp=sharing| Components Overview]
* More detail can be found in Firefox OS Engineering status report: https://mana.mozilla.org/wiki/display/PM/Firefox+OS+Engineering+Status+Report
=== Gaia ===
* [https://docs.google.com/drawings/d/1xa5vWmWZejTYHAORkLvn4VsWwt12H0FMQH6IsKKITGw/edit?usp=sharing| TV Components Overview]
==== System Architecture ====
* {{Bug|1067781}} [Stingray] Card UI for Smart Screen
* 2-layered widget support - {{bug|983001}}
* {{Bug|1067828}} [Stingray] Interconnectivity
** IAC protocol - {{bug|983002}}
* {{Bug|1067862}} [Stingray] Remote Notification
** Widget iframe management by system app - {{bug|983003}}
= Gaia =
** Custom homescreen app with widget enabled - {{bug|983004}}
====System Architecture====
** Sample widgets - {{bug|983006}}
* <strike>2-layered widget support</strike> - {{bug|983001}}
** Blocking all inputs to widgets - {{bug|983007}}
** A prototype of 2-layered widget can be found at https://github.com/luke-chang/gaia/tree/TV_arch1
 
* [[FirefoxOS/Stingray/Hybrid_Widget_Approach|Hybrid Widget Approach]] (more: https://wiki.mozilla.org/FirefoxOS/Stingray/Hybrid_Widget_Approach)
** meta bug - {{bug|1002336}}
 
* [[FirefoxOS/Stingray/SmartScreen/|Card UI for Smart Screen Wiki Page]]


==== Applications ====
====Applications & Integration====
* DLNA support - {{bug|984108}}
* Browser
** [https://docs.google.com/a/mozilla.com/drawings/d/1y5p1izYsfWl5oBbliuryi4iphiOob6E1-AebMER5zD4/edit| Components Diagram]
* Device Deck
** SSDP advertising Service - {{bug|751172}}
* FTU - Tutorial
* Http Live Streaming
* Settings
** m3u8 parser
* Keyboard
** ts convert to mp4 streaming format.
* TV Deck
* TV program
* Dashboard
* App Deck
* Home
* System
* Presentation API
* Firefox account integration and cross experience


==== Others ====
====Others====
* Build system supports multiple devices - {{bug|979784}}
* Build system supports multiple devices - <strike>{{bug|979784}}</strike> landed to master by Gary Chen
** Step 1. Add 'GAIA_DEVICE_TYPE' flag in gaia build system.
** Step 1. Add 'GAIA_DEVICE_TYPE' flag in gaia build system.
** Step 2. New apps.list structure for multiple-devices.
** Step 2. New apps.list structure for multiple-devices.
Line 54: Line 75:
*** Step b. Let wallpaper APP's build system support  'GAIA_DEVICE_TYPE' flag.
*** Step b. Let wallpaper APP's build system support  'GAIA_DEVICE_TYPE' flag.


=== Web API ===
= Gecko =
====Web API====
* TV Manager Web API - {{Bug|998872}}  
* TV Manager Web API - {{Bug|998872}}  
** It is on going to polish a first version then open to public space. ex: Bugzilla and dev-webapi@lists.mozilla.org.
** It is on going to polish a first version then open to public space. ex: Bugzilla and dev-webapi@lists.mozilla.org.
Line 65: Line 87:
** Create a new type of MediaStreamTrack for text and metadata - {{Bug|987501}}
** Create a new type of MediaStreamTrack for text and metadata - {{Bug|987501}}
* Expose a client UDP datagram socket API to web application - {{Bug|745283}}
* Expose a client UDP datagram socket API to web application - {{Bug|745283}}
* Ethernet Manager Web API - {{Bug|969268}}
* Presentation API - {{Bug|1069230}}
* mozWidget API - {{Bug|1005818}}
 
<big>'''Media'''</big>
* '''DOM Level'''
** '''Support HTMLMediaElement.audioTracks and videoTracks''' - {{bug|744896}}
*** Probably won't implement the audio mixing and video selecting in our decoding pipeline.
*** ''How to map AudioStreamTrack to AudioTrack? (Video as well)''
**** Proposal 1: Change the spec of MediaStreamTrack
**** https://groups.google.com/forum/?hl=en#!topic/mozilla.dev.media/FOOHGdwD16Y
**** Proposal 2: Implement the mapping internally
** '''Implement Track related methods and events in MediaStream.webidl''' - {{bug|985265}}
*** Not necessary for this TV project, but would benefit the user experience of using front/end camera with getUserMedia a lot.
 
* '''Internal Only'''
** '''Add a new kind of MediaStream to by pass our media pipeline''' - {{bug|987498}}
*** aka. HWOverlayMediaStream.
*** Construct a new kind of MediaStream, this would be an abstract layer, indicating its media resource is fetched from a particular hardware driver.
*** By pass our MediaStreamGraph pipeline, and hook up its listeners with HAL interface specific to the platform.
** '''Create a new type of MediaStreamTrack for text and metadata''' - {{bug|987501}}
*** In order to let MediaStream handle tracks such as subtitles, captions, metadata.


=== Gecko ===
* Add a new kind of MediaStream to by pass our media pipeline - {{bug|987498}}
** The mediastream class will be used to represent TV stream which might be rendered by HW Overlay.
* HW Key Management - {{bug|989198}}
* HW Key Management - {{bug|989198}}
** Study Phase including 1. capturing & bubbling phase between system app & it's nested iframe. 2. work with Keyboard app. 3. How to detect which keys are supported by platform?
** Capturing & bubbling phase between system app & it's nested iframe. [https://wiki.mozilla.org/WebAPI/BrowserAPI/KeyboardEvent| Wiki]
** Work with Keyboard app.  
** How to detect which keys are supported by platform?
 
* Allow nested oop <iframe mozbrowser> without nested content processes - {{bug|879475}}
** Just be transferred to stream 3.
 
====EME====


== Presentations ==
== Presentations ==
Line 81: Line 127:
* [http://slides.com/shih-chiangchien/w3ctv-intro| Introduction of TV IG]
* [http://slides.com/shih-chiangchien/w3ctv-intro| Introduction of TV IG]
* [https://drive.google.com/file/d/0BxKpB0y8NZSHVjFuY2hGWnZOdUU/edit?usp=sharing| Media Efforts for TV]
* [https://drive.google.com/file/d/0BxKpB0y8NZSHVjFuY2hGWnZOdUU/edit?usp=sharing| Media Efforts for TV]
* [https://wiki.mozilla.org/images/9/96/HttpLiveStream.pdf| Introduction of Http Live Streaming.]


== Backlog ==
== Backlog ==
Line 87: Line 134:
* Introduce a new interface for decoding image through HW component.
* Introduce a new interface for decoding image through HW component.
* Introduce a fake tuner driver/HAL for B2G emulator.
* Introduce a fake tuner driver/HAL for B2G emulator.
* Feature detection for TV category. ex: 4 color keys / no touch.
Confirmed users
217

edits