Platform/Roadmap

From MozillaWiki
< Platform
Revision as of 19:59, 12 December 2014 by Naveed (talk | contribs) (→‎JavaScript: Initial 2015)
Jump to navigation Jump to search

Teams

Accessibility

Current Plans Previous Plans
  • 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) ------
  • Nothing here for now.

DOM

Current Plans Previous Plans
  • 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

Current Plans Previous Plans
  • 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) ------
  • Nothing here for now.

Graphics

Current Plans Previous Plans
  • 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) ------
  • Nothing here for now.

JavaScript

Current Plans Previous Plans
  • 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) ------
  • Nothing here for now.

Layout

Current Plans Previous Plans
  • 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) ------
  • Nothing here for now.

Media

Current Plans Previous Plans
  • 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) ------
  • This space intentionally left blank

Mobile Media

Current Plans Previous Plans
  • 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) ------
  • Nothing here for now.

Mobile Platform

Current Plans Previous Plans
  • 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) ------
  • Nothing here for now.

Networking

Current Plans Previous Plans
  • 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) ------
  • Nothing here for now.

PKI

Current Plans Previous Plans
  • 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) ------
  • Nothing here for now.

Sandboxing

Current Plans Previous Plans
  • 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) ------
  • Nothing here for now.

Security

Current Plans Previous Plans
  • 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) ------
  • Nothing here for now.

WebRTC / WebAudio

(All these features/fixes below are landing in Nightly during these quarters)

Current Plans Previous Plans
  • 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) ------
  • Nothing here for now.

Games

Current Plans Previous Plans
  • 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) ------
  • 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)