Platform/Roadmap: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(→‎Security: Adding items for SecEng)
(Drop old content. Link to a newer related page.)
 
(90 intermediate revisions by 19 users not shown)
Line 1: Line 1:
<section begin="summary" />{{RoadmapSummary
Old content removed. See related more up to date page: [[Platform/2022PlannedWork]].
|icon=Tempicon.png
|pagelocation=Platform/Roadmap
|pagetitle=Firefox Platform 2015 Roadmap
|owner=Martin Best
|updated=December 2014
|status=Draft
|description=This roadmap outlines the current direction for Firefox Platform development through 2015.  The following document is subject to change at anytime.  It is also not a commitment to ship a features but rather an intent to implement and land them on by default in the nightly version of Firefox unless otherwise stated.}}
<section end="summary" />
 
 
Related Links:
* [https://groups.google.com/forum/#!topic/mozilla.dev.platform/mHqE7QmHeqQ Firefox Desktop Q1 2015 Areas of Focus Post]
* [https://wiki.mozilla.org/RapidRelease/Calendar Firefox Release Calendar]
* [https://wiki.mozilla.org/Platform/Roadmap2012 2012 Platform Roadmap]
 
 
=Teams=
==Accessibility==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
[everything below not finalized]
* Screen Reader v1.0 for FxOS.
* Integrate and expand FxOS accessibility test coverage.
* Webspeech TTS hookup on Windows
* Instantiate "BarrierSmash" program
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* Accessibility support for E10s. (stretch targeting Gecko 40)
* Accessibility Metrics
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* Accessibility Dev Tool.
* Accessibility Training Materials
* Web Facing Accessibility API
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
==DOM==
 
{| 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
* IndexedDB in Workers
* Picture Tag
* requestSync (FxOS-only precursor to BackgroundSync)
* TCP Socket in Workers
* e10s (drag-and-drop, clipboard, leak detection and reporting)
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* BackgroundSync
* Pre-rendering API
* Shadow DOM
* Custom Elements
* Web Manifest
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* Web Push
* Media Controls API
* localStorage + Quota Manager
* Image Resizing API
* FileSystem API
* Web Share primitive (towards Web Activities standardization)
* finish remaining WebIDL conversions
* JS-implemented plugins
* IndexedDB data change observer events
* Device Orientation Locking (any spec work; others doing implementation)
* Broadcast channel
* Message Port
* Remove appcache
* Directory upload
* DOM bits of Object.observe
* Get rid of child array
* WebGL in Workers
* Web Audio in Workers
------ 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;" |
 
* e10s Milestone 4 completed in Gecko 38 ([http://is.gd/XKZkQ5 buglist])
* e10s Milestone 5 completed in Gecko 38 ([http://is.gd/7MuzQK buglist])
* e10s Milestone 6 completed in Gecko ~39 ([http://is.gd/yOVr9r buglist])
* Addon migration / CPOW mitigation tools
 
------ Items above planned to be done before or during Gecko 39 (Q1) ------
 
* e10s rollout to Aurora ~39
* e10s Milestone 7 completed in Nightly ~39 ([http://is.gd/BNgUVN buglist])
* e10s Milestone 8 completed in Nightly ~39 ([http://is.gd/jUNCg5 buglist])
* e10s rollout to Beta ~39
 
------ Items above planned to be done before or during Gecko 42 (Q2) ------
 
* e10s rollout to Release
* milestone completion placeholder - additional milestones will be defined later in the year for winding the e10s project down.
 
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
 
|}
 
==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 Thread Compositing Windows
* e10s - Ship Electrolysis
* Project Silk
* Graphics - FirefoxOS Critical Memory Usage Reduction
* WebGL 2 Demo
* WebGL Desktop Performance
* 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
* ARM Mobile Opts - Support demo
* Detailed GC jank Telemetry
* ES6 Classes
* SAB demo
* SIMD.js demos
* ARM 64 baseline on Intel
* CGC Target release
* JIT Frame for Profiler JIT Coach plumbing
* Experimental SIMD.js for ASM.js on x86 only (Intel demo)
* ES6 Generators JITted
* ES6 Symbols
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* SIMD.js on ION Intel
* GC/CC scheduling improvements
* Shared Array Buffer v1
* Research PGO
* Enable the backtracking allocator for all Ion code
* Improve web framework (Shumway/Ember/Angular) performance
* ES6 let and const
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* JS team reduce jank (GC tuning)
* SIMD.js on ION ARM
------ 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;" |
* Enable OMT Animations on all OMTC platforms
* -webkit CSS compatibility for fix-list sites
* Images downscale during decode
* Vertical Text (basic text, form controls)
* CSS Font Loading
* e10s Layout Support
* CSS Object fit and position
* CSS display:contents
* CSS scroll snapping
 
------ Items above planned to be done before or during Gecko 39 (Q1) ------
 
* Web Animation API
* HTML5 <canvas> improvements
* Vertical Text (tables)
* CSS 3D Transforms ( plane splitting & other interop improvements )
* CSS Ruby
 
------ Items above planned to be done before or during Gecko 42 (Q2) ------
 
* CSS Images (media-fragments)
* CSS Shapes (shape-outside for floats)
* CSS Box Alignment (for block layout)
* CSS Grid
 
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
 
* CSS Masking
 
------ Items above planned to be done before end 2015 but may get reprioritized ------
 
| 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 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;" |
* Enhance Page Load Performance
* Platform-independent MP3 parser, platform-dependent decoders
* Ensure all crash reports are going to Socorro
* OpenH264 on Android
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* Standalone WebRTC library usable by third parties Loop client prototype for major platforms (iOS, Android, Windows)
* Pre-Rendering Web Pages
* Background Hang Reporting (BHR) working with E10S
* Enhance screen mirroring performance
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* Allow multiple Gecko windows via multiple GeckoView instances
* Download locales on-demand in split APK (snorp, esawin)
* Download fonts on-demand in split APK
* Improve Power Effeciency
------ 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;" |
* HTTP/2 ships preffed on (currently scheduled for Gecko 35)
* Network Predictor landed & enabled on m-c ({{bug|1009122}})
* Idle mode for networking (optimize radio power use): ({{bug|1085760}})
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* Necko bits needed for Smart Data Management (split "System" data into browser, apps, etc): ({{bug|1070944}})
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* Network predictor: prefetch resources into HTTP cache if they are very likely to be used.
------ 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;" |
* OneCRL
* Phase 1 of CA program migration to SalesForce
* SHA-1 warnings
 
 
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* Name constraints on root CAs
* OneCRL based on (subject, public key)
* Certificate observatory
* Finish removal of 1024-bit roots
 
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* WebCrypto hardware-backed keys
* Certificate transparency (behind a pref)
* Mozilla::pkix integration with NSS
* Intermediate certs in SalesForce
 
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
* TLS 1.3
* Certificate chain collection from browsers
 
| style="vertical-align:top;" |
* WebCrypto
|}
 
==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;" |
* EME/CDM sandboxing for Windows 7+
* e10s sandboxing for Windows
* e10s sandboxing for OS X
* e10s sandboxing for Linux
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* EME/CDM sandboxing for Windows XP and Vista
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* EME/CDM sandboxing for OS X
* EME/CDM sandboxing for Linux
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
|}
 
==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;" |
* SRI (Sub-resource integrity) for 3rd party scripts and styles.
* CSP (content-security policy) suggestions in Dev Edition/Dev Tools.
* Insecure passwords warning in Dev Edition/Dev Tools.
* Tracking Protection Experiments - {{bug|1119891}}.
* Security hooks revamp completed for Gecko internals.
* Add on signing support available.
 
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* Encryption for password manager database.
* Prototype for isolated Private Browsing sessions.
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* Containers for isolated non-private browsing sessions.
* Lightbeam-lite/Tracking Detection
* Security hooks revamp complete for addons/extensions.
* Referer policy experiments.
 
------ 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 (we may ship VP9 pref'd off by default)
* Web Audio and WebRTC working well together
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* OpenH264 for Android working well
* Audio workers
* Web Audio performance improvements
* Simulcast
* e10s problems fixed
* 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.
|}
 
==Web Compatibility==
 
{| class="wikitable" width="100%"
! style="text-align: center;" width: "50%;" | Current Plans !! style="text-align: center;" width: "50%;" | Previous Plans
|-
| style="vertical-align:top;" |
* Hold [[WebCompat Summit (2015)|WebCompat Summit]]
* [[Compatibility/Telemetry|Compatibility Telemetry]]
* Reusable Workshop + conference materials developed
------ Items above planned to be done before or during Gecko 39 (Q1) ------
* Compatibility dashboard for Telemetry, Bugzilla
* Develop automated mobile compatibility infrastructure (to be tracked on dashboard)
* Redundant GitHub webcompat/web-bugs issues data storage.
------ Items above planned to be done before or during Gecko 42 (Q2) ------
* Ship [https://docs.google.com/a/mozilla.com/document/d/1c5w87-KDZCP9eltjfk98GL_i-hyqQ193J86_e1L4wnQ/edit#heading=h.mje3211pzj4p MDN Web Compat Service], in conjunction with MDN + Cloud Services teams
* Get 1 other major browser vendor involved in webcompat.com
* [https://github.com/webcompat/webcompat.com/milestones/Better%20mobile%20bug%20reporting Better mobile reporting for webcompat.com]
* [https://github.com/webcompat/webcompat.com/milestones/Launch%201st%20Translated%20version%20of%20Webcompat.com i18n for webcompat.com] (at least 1 other language)
------ Items above planned to be done before or during Gecko 45 (End 2015) ------
| style="vertical-align:top;" |
* Nothing here for now.
|}
 
=Initiatives=
 
* 60fps
** Focused on producing a smooth, jank free experiences.  60fps goal is dependant on media type.
* BarrierSmash
** Ensure 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-process browser (aka 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/Roadmap|Shumway]] (Flash), [[Media/EME|MSE/EME]], WebRTC (Google Talk, Facebook Video)
** [https://wiki.mozilla.org/Platform/Games#2015_Goals Games Program]
 
 
[[Category:Roadmaps]]

Latest revision as of 00:28, 15 April 2022

Old content removed. See related more up to date page: Platform/2022PlannedWork.