Firefox OS/Stingray: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(62 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}}
=== Gaia ===
* More detail can be found in Firefox OS Engineering status report: https://mana.mozilla.org/wiki/display/PM/Firefox+OS+Engineering+Status+Report
* DLNA support - {{bug|984108}}
* [https://docs.google.com/drawings/d/1xa5vWmWZejTYHAORkLvn4VsWwt12H0FMQH6IsKKITGw/edit?usp=sharing| TV Components Overview]
** SSDP advertising Service - {{bug|751172}}
* {{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 & Integration====
* Browser
* Device Deck
* FTU - Tutorial
* Settings
* Keyboard
* TV Deck
* TV program
* Dashboard
* App Deck
* Home
* System
* Presentation API
* Firefox account integration and cross experience


=== Web API ===
====Others====
* TV Tuner Web API - {{Bug|?}}  
* 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 2. New apps.list structure for multiple-devices.
** Step 3. Overwrite common-setting.json from build/GAIA_DEVICE_TYPE/settings.js
** Step 4. Remove distribution_tablet folder from gaia code base. {{bug|996461}}
*** Step a. Let homescreen APP's build system support  'GAIA_DEVICE_TYPE' flag.
*** Step b. Let wallpaper APP's build system support  'GAIA_DEVICE_TYPE' flag.
 
= Gecko =
====Web API====
* 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.
* Input Ports Web API - {{Bug|?}}
* Input Ports Web API - {{Bug|?}}
Line 48: 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 ==
* [https://docs.google.com/a/mozilla.com/presentation/d/15BifvQ0J9jfX4aJRpf0B_5HGIN8_aPRYZaIAjMsJg14/edit#slide=id.g129cc8e9f_170|2 Layers Architecture of System/HomeScreen embedded Apps]
* [https://docs.google.com/a/mozilla.com/presentation/d/15BifvQ0J9jfX4aJRpf0B_5HGIN8_aPRYZaIAjMsJg14/edit#slide=id.g129cc8e9f_170|2 Layers Architecture of System/HomeScreen embedded Apps]
* [https://docs.google.com/a/mozilla.com/document/d/1vZtXLNtxJsZsLs_ciSnV3b-AYdbYNDKN4n1PY1vaM9Q/edit|OIPF OIPF Functional Architecture]
* [https://drive.google.com/file/d/0BxKpB0y8NZSHSWVGQTg1MFpNcFk/edit?usp=sharing|OIPF OIPF Functional Architecture]
* [https://drive.google.com/file/d/0BxKpB0y8NZSHZG45RzZ0SnFobm8/edit?usp=sharing|OITF OITF Terminal Functionality]
* [http://slid.es/shih-chiangchien/app-runtime-for-broadcasting-services| Apps Runtime for Broadcasting Services]
* [https://docs.google.com/a/mozilla.com/file/d/0BxKpB0y8NZSHMDVjX0JDdTNOVFU/edit| TV Tuner Control API - Study]
* [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://wiki.mozilla.org/images/9/96/HttpLiveStream.pdf| Introduction of Http Live Streaming.]


== Backlog ==
== Backlog ==
* Introduce a new class inherited MediaStream to represent HW overlay stream.
* Introduce a new layer type to represent HW overlay frame.
* Introduce a new layer type to represent HW overlay frame.
* Introduce a new interface for compositor to pass position info into outside of Gecko.
* Introduce a new interface for compositor to pass position info into outside of Gecko.
* 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.

Latest revision as of 07:18, 7 July 2015

The Project

  • The Stingray project is an initiative to enable Firefox OS platform to run on larger screen TV

Key Mozilla Team Members

  • Product Manager: Joe Cheng
  • EPM: Howie Chang
  • TAM: Francis Lee
  • UX: Juwei Huang / Tori Chen
  • Engineering
  • Gecko
    • Shian-Yow Wu
    • Shih-Chiang Chien
    • Junior Hsu
    • Sean Lin
    • Kershaw Chang
    • Kilik Kuo
    • Gary Chen
    • James Cheng
    • Junior Hsu
    • Tommy Kuo
    • Kevin Chen
    • ChunMin Chang
    • Daosheng Mu
    • Eric Tsai
    • Amy Chung
  • Gaia
    • Evelyn Hung
    • John Hu
    • Rex Lee
    • Tzu-lin Huang
    • Luke Chang
    • YiFan Liao
    • Sean Lee

Ongoing work

Key focus areas of the team

Gaia

System Architecture

Applications & Integration

  • Browser
  • Device Deck
  • FTU - Tutorial
  • Settings
  • Keyboard
  • TV Deck
  • TV program
  • Dashboard
  • App Deck
  • Home
  • System
  • Presentation API
  • Firefox account integration and cross experience

Others

  • Build system supports multiple devices - bug 979784 landed to master by Gary Chen
    • Step 1. Add 'GAIA_DEVICE_TYPE' flag in gaia build system.
    • Step 2. New apps.list structure for multiple-devices.
    • Step 3. Overwrite common-setting.json from build/GAIA_DEVICE_TYPE/settings.js
    • Step 4. Remove distribution_tablet folder from gaia code base. bug 996461
      • Step a. Let homescreen APP's build system support 'GAIA_DEVICE_TYPE' flag.
      • Step b. Let wallpaper APP's build system support 'GAIA_DEVICE_TYPE' flag.

Gecko

Web API

  • 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.
  • Input Ports Web API - bug ?
    • The purpose is to let web app show media stream and detect plug-in status from HDMI/AV cable.
    • It is on going to discuss for leveraging getUserMedia series Web API.
  • HTMLMediaElement.audio/videoTracks Web API - bug 744896
  • MediaStream
    • Implement Track related methods and events in MediaStream.webidl - bug 985265
    • Create a new type of MediaStreamTrack for text and metadata - bug 987501
  • Expose a client UDP datagram socket API to web application - bug 745283
  • Presentation API - bug 1069230
  • mozWidget API - bug 1005818

Media

  • DOM Level
    • Support HTMLMediaElement.audioTracks and videoTracks - bug 744896
    • 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.
  • HW Key Management - bug 989198
    • Capturing & bubbling phase between system app & it's nested iframe. 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

Backlog

  • Introduce a new layer type to represent HW overlay frame.
  • Introduce a new interface for compositor to pass position info into outside of Gecko.
  • Introduce a new interface for decoding image through HW component.
  • Introduce a fake tuner driver/HAL for B2G emulator.
  • Feature detection for TV category. ex: 4 color keys / no touch.