Firefox OS/Stingray: Difference between revisions
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 | * Product Manager: Joe Cheng | ||
* | * EPM: Howie Chang | ||
* UX: | * TAM: Francis Lee | ||
* Engineering | * UX: Juwei Huang / Tori Chen | ||
* Engineering | |||
* Gecko | * Gecko | ||
** Shian-Yow Wu | ** Shian-Yow Wu | ||
** Shih-Chiang Chien | ** 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 | * Gaia | ||
** Evelyn Hung | ** Evelyn Hung | ||
** John Hu | ** John Hu | ||
** Rex Lee | ** Rex Lee | ||
** | ** Tzu-lin Huang | ||
** Luke Chang | ** Luke Chang | ||
** | ** YiFan Liao | ||
** | ** Sean Lee | ||
== Ongoing work == | == Ongoing work == | ||
* | === Key focus areas of the team === | ||
* {{ | * 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] | ||
* | * {{Bug|1067781}} [Stingray] Card UI for Smart Screen | ||
* 2-layered widget support - {{bug|983001}} | * {{Bug|1067828}} [Stingray] Interconnectivity | ||
** | * {{Bug|1067862}} [Stingray] Remote Notification | ||
** | = Gaia = | ||
** | ====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 | |||
=== Web API === | ====Others==== | ||
* TV | * 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}} | ||
* | * 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}} | * 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==== | |||
== 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/ | * [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 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
- 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
- TV Components Overview
- bug 1067781 [Stingray] Card UI for Smart Screen
- bug 1067828 [Stingray] Interconnectivity
- bug 1067862 [Stingray] Remote Notification
Gaia
System Architecture
2-layered widget support- bug 983001- A prototype of 2-layered widget can be found at https://github.com/luke-chang/gaia/tree/TV_arch1
- Hybrid Widget Approach (more: https://wiki.mozilla.org/FirefoxOS/Stingray/Hybrid_Widget_Approach)
- meta bug - bug 1002336
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 979784landed 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
- 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.
- Support HTMLMediaElement.audioTracks and videoTracks - bug 744896
- 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.
- Add a new kind of MediaStream to by pass our media pipeline - bug 987498
- 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
- Layers Architecture of System/HomeScreen embedded Apps
- OIPF Functional Architecture
- OITF Terminal Functionality
- Apps Runtime for Broadcasting Services
- TV Tuner Control API - Study
- Introduction of TV IG
- Media Efforts for TV
- Introduction of Http Live Streaming.
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.