Firefox OS/Smart TV: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 2: Line 2:
* The project is an initiative to enable Firefox OS platform to run on larger screen TV
* The project is an initiative to enable Firefox OS platform to run on larger screen TV


= Key Mozilla Team Members =
= Key Mozilla Team Members and Plans/ongoing work=
== Device / Partner Strategy ==
== Device / Partner Strategy ==
* Charles Chen
* Charles Chen
'''Plan and ongoing work'''
==== Plan and Ongoing Work ====
*


== Product ==
== Product ==
Line 11: Line 12:
* Product Champion: Jinghua Zhang
* Product Champion: Jinghua Zhang
* UX: Harly, Juwei, Tori
* UX: Harly, Juwei, Tori
==== Plan and Ongoing Work ====
*
== Cross Product ==
== Cross Product ==
* Joe Cheng (Firefox OS)
* Joe Cheng (Firefox OS)
* Karen Rudnitski (Firefox Mobile)
* Karen Rudnitski (Firefox Mobile)
* UX: Harly, Juwei, Tori
* UX: Harly, Juwei, Tori
==== Plan and Ongoing Work ====
*
== Marketplace ==
== Marketplace ==
* David Almstrom
* David Almstrom
==== Plan and Ongoing Work ====
*
== Content ==
== Content ==
* Desigan (Dees) Chinniah
* Desigan (Dees) Chinniah
==== Plan and Ongoing Work ====
*
== Research ==
== Research ==
* Margaret Schroeder
* Margaret Schroeder
Line 24: Line 33:
* Lindsay Kenzig
* Lindsay Kenzig
* Andy Chen
* Andy Chen
==== Plan and Ongoing Work ====
*
== Go-To-Market==
== Go-To-Market==
* Christina Lu
* Christina Lu
* Jane Hsu
* Jane Hsu
==== Plan and Ongoing Work ====
*
== Program Management ==
== Program Management ==
* Howie Chang
* Howie Chang
==== Plan and Ongoing Work ====
*
== Technical Account Management ==
== Technical Account Management ==
* Francis Lee
* Francis Lee
== Engineering ==
==== Plan and Ongoing Work ====
*
== Engineering Team==
* Gecko
* Gecko
** Shian-Yow Wu
** Shian-Yow Wu
Line 56: Line 73:
** YiFan Liao
** YiFan Liao
** Sean Lee
** Sean Lee
==== Gecko Plan and Ongoing Work ====
=====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}}
<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.
* HW Key Management - {{bug|989198}}
** 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=====
==== Gaia Plan and Ongoing Work====
=====System Architecture=====
* <strike>2-layered widget support</strike> - {{bug|983001}}
** 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
=====Others=====
* 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.


= Ongoing work =
= Ongoing work =

Revision as of 06:25, 8 July 2015

Firefox OS Smart TV

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

Key Mozilla Team Members and Plans/ongoing work

Device / Partner Strategy

  • Charles Chen

Plan and Ongoing Work

Product

  • Product Manager: Joe Cheng
  • Product Champion: Jinghua Zhang
  • UX: Harly, Juwei, Tori

Plan and Ongoing Work

Cross Product

  • Joe Cheng (Firefox OS)
  • Karen Rudnitski (Firefox Mobile)
  • UX: Harly, Juwei, Tori

Plan and Ongoing Work

Marketplace

  • David Almstrom

Plan and Ongoing Work

Content

  • Desigan (Dees) Chinniah

Plan and Ongoing Work

Research

  • Margaret Schroeder
  • Rina Tambo Jensen
  • Lindsay Kenzig
  • Andy Chen

Plan and Ongoing Work

Go-To-Market

  • Christina Lu
  • Jane Hsu

Plan and Ongoing Work

Program Management

  • Howie Chang

Plan and Ongoing Work

Technical Account Management

  • Francis Lee

Plan and Ongoing Work

Engineering Team

  • 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

Gecko Plan and Ongoing Work

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

Gaia Plan and Ongoing Work

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.

Ongoing work

Device / Partner Strategy

Product

Cross Product

Marketplace

Content

Research

Go-To-Market

Program Management

Technical Account Management

Engineering 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.