Platform/Roadmap: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎JavaScript: Initial 2015)
(inline current and past Roadmap years)
 
(139 intermediate revisions by 24 users not shown)
Line 1: Line 1:
=Teams=
Current plans: [[Platform/Roadmap2025]]
==Accessibility==


{| class="wikitable" width="100%"
Previously:
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
* [[Platform/Roadmap2024]]
|-
* [[Platform/Roadmap2023]]
| style="vertical-align:top;" |
* [[Platform/Roadmap2022]]
* Add info Here
* [[Platform/Roadmap2021]]
* Another item here
* ...
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* [[Platform/Roadmap2012]]
* More stuff
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* More stuff
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}


==DOM==
== See Also ==
 
* [[Platform]] page for more
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Service Workers [Offline]
* IndexedDB in Workers [Offline]
* Picture Tag [Web Compatibility, Presto]
* requestSync (FxOS-only precursor to BackgroundSync) [Offline, Candle]
* TCP Socket in Workers [Offline]
* e10s (drag-and-drop, clipboard, leak detection and reporting)
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* BackgroundSync [Offline, Candle]
* Pre-rendering API [Presto]
* Shadow DOM [Web Compatibility]
* Custom Elements [Web Compatibility]
* Web Manifest [Web Compatibility]
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* Web Push [Offline, Candle, Web Compatibility]
* Image Resizing API [Candle, 60fps, MemShrink]
* Web Share primitive (towards Web Activities standardization) [Web Compatibility]
* finish remaining WebIDL conversions [CrashKill]
* JS-implemented plugins [CrashKill, Webify]
* IndexedDB data change observer events [Web Compatibility, Candle]
* localStorage + Quota Manager [FxOS feature enabler]
* FileSystem API [Web Compatibility]
* Media Control API [FxOS request]
* Device Orientation Locking (any spec work; others doing implementation) [Web Compatibility]
* Broadcast channel [Web Compatibility]
* Message Port [Web Compatibility]
* Remove appcache [Offline]
* Directory upload [Web Compatibility]
* DOM bits of Object.observe [Web Compatibility]
* Get rid of child array [MemShrink]
* WebGL in Workers [60fps]
* Web Audio in Workers [Web Compatibility]
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
|}
 
==e10s==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Add info Here
* Another item here
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* More stuff
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* More stuff
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
==Graphics==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* FirefoxOS GFX Device Support
* OMTC - Off Main Thead Compositing Windows
* e10s - Ship Electrolysis
* Project Silk
* Graphics - FirefoxOS Critical Memory Usage Reduction
* WebGL 2 GDC Demo
* Critical WebGL Desktop Peformance
* Desktop OOM driver related issues
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* APZ on Desktop
* Tiling on Desktop
* Desktop Scrolling Performance
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* APZ - "fake overscroll"
* APZ - OOP iframe support
* Zooming-in Improvements
* Overscroll Improvements
* Expose the graphics card details
* WebGL Mobile Performance
* WebGL Performance Parity on Desktop
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
==JavaScript==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Parsing and Caching Optimization Shumway [Presto, FlashKill]
* ARM Mobile Opts - Support GDC demo [FFOS, 60fps]
* Detailed GC jank Telemetry [MemShrink, 60fps]
* ES6 Classes [WebCompat]
* SAB GDC MWC demo [WebCompat, Presto, 60fps]
* SIMD.js GDC MWC demos [Presto, 60fps, WebCompat]
* ARM 64 baseline on Intel [FFOS]
* CGC Target release [MemShrink]
* JIT Frame for Profiler JIT Coach plumbing [DevTools]
* Experimental SIMD.js for ASM.js on x86 only (Intel demo) [WebCompat, Presto]
* ES6 Generators JITted [WebCompat, Presto]
* ES6 Symbols [WebCompat]
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* SIMD.js on ION Intel [Presto, 60fps, WebCompat]
* GC/CC scheduling improvements [MemShrink, 60fps]
* Shared Array Buffer v1 [WebCompat, Presto, 60fps]
* Research PGO [Presto, 60fps]
* Enable the backtracking allocator for all Ion code [Presto]
* Improve web framework (Shumway/Ember/Angular) performance  [Presto, FlashKill]
* ES6 let and const [WebCompat]
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* JS team reduce jank (GC tuning) [60fps]
* SIMD.js on ION ARM [Presto, 60fps, WebCompat, FFOS]
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
==Layout==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Add info Here
* Another item here
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* More stuff
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* More stuff
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
==Media==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* MSE - Media Source Extensions (nightly)
* EME - Encrypted Media Extensions (nightly)
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* MSE (release)
* EME (release)
* Daala
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* MSE improvements
* EME continued development
* Video quality, performance and memory consumption
* MP4 demuxer written in Rust
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* This space intentionally left blank
|}
 
==Mobile Media==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Add info Here
* Another item here
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* More stuff
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* More stuff
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
==Mobile Platform==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Add info Here
* Another item here
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* More stuff
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* More stuff
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
==Networking==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Add info Here
* Another item here
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* More stuff
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* More stuff
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
==PKI==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Add info Here
* Another item here
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* More stuff
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* More stuff
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
==Sandboxing==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Add info Here
* Another item here
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* More stuff
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* More stuff
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
==Security==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Add info Here
* Another item here
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* More stuff
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* More stuff
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
==WebRTC / WebAudio==
<b> (All these features/fixes below are landing in Nightly during these quarters) </b>
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Rewrite SDP/JSEP and add BUNDLE support
* Multistream, renegotiation support
* VP9 codec support in WebRTC
* Web Audio and WebRTC working well together
* e10s problems fixed
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* OpenH264 for Android working well
* Audio workers
* Web Audio performance improvements
* Simulcast
* All echo and audio problems in WebRTC 1:1 calls resolved
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* getUserMedia and audio output sandboxing working
* Considerably better NAT traversal (including ICE proxy and UPnP support)
* Audio output selection
* Data channels in workers
* Compliant with "v1.0" (or equivalent) of the WebRTC spec
 
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
==Games==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Testing & Benchmarks
** Collaborate with QA to develop a regular cadence for running benchmarks + analysis
** Collaborate with QA to develop a "games test plan" for each release cycle
** Reporting: create a mechanism for reporting the above to incite action on part of engineering
------ Items above planned to be done throughout 2015 ------
* GDC 2015 {{bug|1107589}}
** Technical areas of focus include include: Polish & Performance, WebVR, pthreads, SIMD, WebGL2, and possibly Web Audio
** Identify all Demo Content and continue to define technical requirements
** Work with PR to identify campaign messaging, demo deliverables and related schedule
** Pre-event hardware requirements, training, and attendance logistics
* Win64: confirm and communicate schedule
* Emerge from Q1 with a solid plan for triage going forward
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* In progress
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* In progress
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
=Initatives=
 
* 60fps
** Focused on producing a smooth, jank free experiences.  60fps goal is dependant on media type.
* BarrierSmash
** Insure that accessibility features are working throughout our products.
* Candle
** Program targeted at reducing energy usage.
* CrashKill
** Improve the overall stability of Gecko and the project that rely on it.
* CritSmash
** Fix known critical security bugs.
* Electrolysis
** This is focused on providing multi processor tab support and another name for e10s.
* Offline
** Offline Support
* Presto
** Program targeted at improving overall load times and performance.  This is resurrecting an older program that was discontinued.
* MemShrink
**Reduce memory usage (all products)
* Web Compatibility
** Improve the overall web compatibility of Gecko.
* Webify
** Reduce the webs dependence on plugins.  This includes several content targeted initiatives such as the games program (Unity), Shumway (Flash), MSE/EME (Flash/Netflix), WebRTC (Google Talk, Facebook Video)
 
[[Category:Roadmaps]]

Latest revision as of 23:30, 5 October 2025