Firefox OS/Stingray: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(26 intermediate revisions by 7 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}}
* More detail can be found in Firefox OS Engineering status report: https://mana.mozilla.org/wiki/display/PM/Firefox+OS+Engineering+Status+Report
* [https://docs.google.com/drawings/d/1xa5vWmWZejTYHAORkLvn4VsWwt12H0FMQH6IsKKITGw/edit?usp=sharing| TV Components Overview]
* [https://docs.google.com/drawings/d/1xa5vWmWZejTYHAORkLvn4VsWwt12H0FMQH6IsKKITGw/edit?usp=sharing| TV Components Overview]
=== Gaia ===
* {{Bug|1067781}} [Stingray] Card UI for Smart Screen
==== System Architecture ====
* {{Bug|1067828}} [Stingray] Interconnectivity
* {{Bug|1067862}} [Stingray] Remote Notification
= Gaia =
====System Architecture====
* <strike>2-layered widget support</strike> - {{bug|983001}}
* <strike>2-layered widget support</strike> - {{bug|983001}}
** <strike>IAC protocol</strike> - {{bug|983002}}
** <strike>Widget iframe management by system app</strike> - {{bug|983003}}
** <strike>Custom homescreen app with widget enabled</strike> - {{bug|983004}}
** <strike>Sample widgets</strike> - {{bug|983006}}
** <strike>Blocking all inputs to widgets</strike> - {{bug|983007}}
** A prototype of 2-layered widget can be found at https://github.com/luke-chang/gaia/tree/TV_arch1
** 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)
* [[FirefoxOS/Stingray/Hybrid_Widget_Approach|Hybrid Widget Approach]] (more: https://wiki.mozilla.org/FirefoxOS/Stingray/Hybrid_Widget_Approach)
** meta bug - {{bug|1002336}}
** meta bug - {{bug|1002336}}
** Homescreen Base - {{bug|1002344}}
*** template - <strike>{{bug|1002377}}</strike> landed to master by Luke Chang
*** utilities - an algorithm to know nearest element from each direction - {{bug|1002350}}
*** utilities - selection border - <strike>{{bug|1006378}}</strike> landed to master by John Hu
*** applications - <strike>{{bug|1002355}}</strike> landed to master by Luke Chang
*** app list - <strike<{{bug|1002358}}</strike> landed to master by Luke Chang
** Widget Editor - {{bug|1002337}}
*** layout editor - <strike>{{bug|1002339}}</strike> landed to master by John Hu
*** widget editor - <strike>{{bug|1002341}}</strike> landed to master by John Hu
*** persistence module - <strike>{{bug|1002343}}</strike>  landed to master by John Hu
** Widget Manager - <strike>{{bug|1002345}}</strike> landed to master by Rex Lee
** Enable widget support on homescreen - <strike>{{bug|1009444}}</strike> landed to master by John Hu
** Sample Widgets - {{bug|1002348}}


==== Applications ====
* [[FirefoxOS/Stingray/SmartScreen/|Card UI for Smart Screen Wiki Page]]
* DLNA support - {{bug|984108}}
** [https://docs.google.com/a/mozilla.com/drawings/d/1y5p1izYsfWl5oBbliuryi4iphiOob6E1-AebMER5zD4/edit| Components Diagram]
** SSDP advertising Service - {{bug|751172}}
* Http Live Streaming
** m3u8 parser
** media player with using [http://www.w3.org/TR/media-source/| Media Source Extensions API ]


==== Others ====
====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 - <strike>{{bug|979784}}</strike> landed to master by Gary Chen
* 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.
Line 71: 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 82: 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}}
* Presentation API - {{Bug|1069230}}
* mozWidget API - {{Bug|1005818}}


=== Gecko ===
<big>'''Media'''</big>
<big>'''Media'''</big>
* '''DOM Level'''
* '''DOM Level'''
Line 92: Line 98:
**** https://groups.google.com/forum/?hl=en#!topic/mozilla.dev.media/FOOHGdwD16Y
**** https://groups.google.com/forum/?hl=en#!topic/mozilla.dev.media/FOOHGdwD16Y
**** Proposal 2: Implement the mapping internally
**** Proposal 2: Implement the mapping internally
** '''Implement Track related methods and events in MediaStream.webidl''' - {{bug|985265}}
** '''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.
*** Not necessary for this TV project, but would benefit the user experience of using front/end camera with getUserMedia a lot.
Line 101: Line 106:
*** Construct a new kind of MediaStream, this would be an abstract layer, indicating its media resource is fetched from a particular hardware driver.
*** 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.
*** 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}}
** '''Create a new type of MediaStreamTrack for text and metadata''' - {{bug|987501}}
*** In order to let MediaStream handle tracks such as subtitles, captions, metadata.
*** In order to let MediaStream handle tracks such as subtitles, captions, metadata.
Line 113: Line 117:
** Just be transferred to stream 3.
** Just be transferred to stream 3.


* To enable NPAPI
====EME====


== Presentations ==
== Presentations ==

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.