|Firefox Product Roadmap|
|Owner: Asa Dotzler||Updated: 2018-04-18|
|Firefox is a key expression of Mozilla's mission and manifesto; it represents our vision of a people-centric web experience, as well as a platform and tooling that make it possible to do amazing things with the web.|
In 2018 Firefox browsers will be fast, personal, mobile, and opinionated.
No strategy can capture everything we're doing with the Firefox browsers over the next year, but this document covers the key focus areas: making Firefox browsers even faster, making them more personal, supercharging mobile, and getting opinionated on behalf of users. (All dates are estimates and subject to change.)
To accomplish fast, Mozilla will continue the Quantum effort, replacing Gecko internal components with those prototyped in the Servo engine and updating and re-writing other areas of Firefox for performance and reliability.
To become more personal, Mozilla will invest in making browser extensions easier to build, discover and use with more APIs, and changes to both the browser and the Mozilla add-ons service that expose add-ons to more people.
On the mobile front, Firefox Klar will be getting the Quantum treatment with performance optimizations and re-writes, Firefox for iOS will be tuned for iPads and gain on-by-default Tracking Protection, and Firefox for FireTV will continue to mature.
Last but not least, in 2018, Firefox will get more opinionated. People on the web deserve a browser that represents people first, a browser that isn't neutral when it comes to advertising, tracking and other dark patterns on the web.
People love fast. 2017 was all about making Firefox faster and that's why we called it Firefox Quantum. There's still more room to improve and in 2018 Mozilla will continue to focus on speed. Bringing another significant component over from our research and development engine, Servo, will improve how smooth websites render. Updates to our content painting system will allow the main thread, and thus the browser UI and focused tab, to stay responsive, and changes to our networking stack will result in faster page loads.
WebRender: With WebRender, we want web apps to run at a silky smooth 60 frames per second (FPS) no matter how big the display is or how much of the page is changing from frame to frame. Initial releases will be for selected Nvidia GPUs. (Firefox 64)
Retained Display List: Gecko will retain the display list between paints, only building a new display list for the parts of the page that changed since we last painted and then merge the new list into the old to get an updated list. (Firefox 61)
Race Cache with Network: When we detect that disk IO may be slow, we send a network request in parallel, and we use the first response that comes back. For users with slow spinning disks and a low latency network, the result would be faster loads. (Firefox 59)
TCP fast open: a TCP extension to speed up the opening of successive TCP connections between two endpoints. (Firefox 60)
Tab Warming: "Tab warming" is what we're calling the process of pre-emptively rendering the layers for a tab, and preemptively uploading them to the compositor, when we're pretty sure you're likely to switch to that tab (61)
Off Main Thread Painting: With OMTP the visual state of the page is still computed on the main thread, but the potentially costly task of rasterization is passed off to a designated “rasterization thread”, and the main thread can carry on and stay responsive. (Firefox 58 on Windows, 59 on Mac)
Async Blocklist Loading: With async blocklist loading users will see faster startup times. (2018)
OOP Extensions for Mac and Linux: We've already shipped out of process extensions for Windows leading to faster page loads and more browser responsiveness. This year we'll catch up on Mac and Linux. (2018)
Replace storage.local implementation: For improved extension performance, we will replace the storage.local implementation with something more efficient. (2018)
Faster startup first paint: Firefox will show a browser window as soon as possible after startup, not waiting on the full stack to load. (2018)
Firefox has always been the most customizable browser available. This year, we're investing to make Firefox the best option for users to tailor their web experiences to their needs. We'll provide new APIs to make extensions and themes more capable and we'll add features in the browser and at addons.mozilla.org that help people discover and use add-ons that will make a difference.
Context-aware AMO: People arrive at AMO for different reasons and with different levels of experience. We'll use the signals we receive to better assist the user with what they came for. (Q4)
Telemetry-Aware Add-on Recommender (TAAR): we will integrate our add-on recommender with addons.mozilla.org and within Firefox in places like Discovery Pane. (Q4)
Contextual Feature Recommender: CFR is a system that proactively delivers personalized Firefox feature and extension recommendations to users based on their behaviour. (Q4)
Expanded Theme Support, and Element Theming Support in Extensions: Firefox will become more themeable allowing users to customize additional browser components such as sidebars, popups and scroll bars (Q3) In addition, more APIs will be added to allow themed components to respond to different browser states such as active, inactive, focused and mouse-hover. (Q3)
More Extension APIs: Firefox extensions will become more capable with additional features for tab management and organization, including a full implementation of Tab Hiding (61) and User Scripts (61) APIs. Two other highly requested feature areas, Toolbars and Secure Overlays (Q4) will land an initial set of development APIs, while other feature areas such as Session Management, Bookmark Management (Q3) and Clipboard Interaction (Q2) will be rounded out with incremental APIs.
User-created Themes: In addition to installing themes from Mozilla Add-ons website, Firefox users will be able to easily design, use, and share their own unique browser themes. (October)
Provide Firefox installers to non-Firefox users visiting AMO. Instead of offering an “Install” button to a non-Firefox client viewing add-ons on AMO, a stub installer may be offered that provides the user with Firefox and the add-on viewed. (May)
Lockbox integration with Firefox: Mozilla's new password manager will integrate with Firefox and Firefox accounts allowing users to take their passwords beyond the browser. (2018)
Multi-factor auth for Firefox Accounts: Firefox Accounts will get multi-factor auth via Time-based One-Time Passwords. (Q2)
Account Recovery for Firefox Accounts: offer users a first version of our account recovery mechanism which allows users to recover their encrypted data even if they've forgotten their password. (Q3)
Language Switching: Provide an interface for users to switch languages and make language pack discovery and installation part of the Firefox UX. (63)
Policy Manager: Firefox will allow computer administrators to customize features (e.g. proxy, default bookmarks, etc.) for their users. The policy manager supports two implementations: A policies.json file in the distribution directory or Windows GPO. (Firefox 60)
In 2017 we focused almost totally on making desktop Firefox blazing fast with the Quantum effort. This year we expand our focus to include more mobile work, with new products like Lockbox, and targeted feature updates that will make all of our mobile apps silky smooth, more powerful, and a joy to use whether it's Firefox for Android, Firefox for iOS, Firefox for FireTV, or Firefox Focus and Klar.
Transition Klar to GeckoView: Currently, the Firefox Klar browser uses WebView to render sites. We're moving to GeckoView, which will bring WebAssembly, WebRTC, WebGL 2, WebVR, and other emerging, modern web technologies to the Klar browser (Q3).
Klar Features: Klar will also gain Search and Autocomplete (May), anti-fingerprinting, an A/B testing framework, and Contextual hints (July)
Stylo in Firefox for Android: Firefox for Android will be getting some “Quantum” treatment with the incorporation of the Stylo CSS engine. (60)
Firefox for iOS will gain Drag and Drop from other applications, Full Hardware Keyboard support, Tracking Protection enabled by default in an upcoming release in early April. More updates and navigational improvements, specifically for iPad will be coming up later in the summer. (April 12)
Updates for Firefox Focus for Android: Firefox Focus will get Search and Autocomplete (May), Request Desktop Site, an A/B testing framework, Contextual hints (July), Find in page and more ad and tracker blocking (December).
Firefox for FireTV matures: Firefox for FireTV will gain custom tiles (Q1), parental controls, Pocket video feed, request desktop site (Q2), and a custom keyboard with Awesomebar powers. (Q3)
Lockbox Mobile apps: People will be able to access their saved passwords in an iOS app with an Android app to follow. (2018)
The web has grown and changed dramatically over the last two decades and not all for the better. Trackers, intrusive ads and other dark patterns threaten to drive people away from the open web and that's not good for people browsing or publishing. Over the next year or so, Firefox will take a stand against tracking, intrusive ads, and other dark patterns on the web by blocking the worst content and more clearly communicating the privacy and other protections the browser offers.
Filter certain types of ads by default: Firefox will offer users a simple ad filtering option. We're in the early stages still, researching types of advertisements that should be blocked by default. (Q3)
Block ad re-targeting: We are working on blocking cross-domain tracking. Details to follow. (Q3)
New Privacy Controls: We will bring all of our key privacy controls into a single location in the product making them more discoverable and putting users in control of their data privacy experience. (Q3)
Tracking Protection Improvements: We would like to make tracking protection more fine-grained allowing users to turn on or off specific types of tracker. We will also opportunistically block trackers when page load performance is adversely impacted. (Q3)
Global permissions management: Permission prompts, especially for notifications, have gotten out of control and users must deny them individually at every site that offers them. Firefox will provide users with a way to disable permission prompts globally for Location, Camera, Microphone, and Notifications. (Firefox 59)
Block video auto-play: Firefox will provide users with a way to block video auto-play that doesn't break websites. (62)
Breach Alerts: Breach alerts will inform a user if a site they've visited has been breached and will ask if the user wants to have their account checked to determine if it was compromised. If it was compromised, some helpful information will be presented to the user. (October)
Web Platform and Tooling advancements
The roadmap described above focuses primarily on the Firefox consumer products. Web developers will not be left out and will see significant improvements to the Firefox web platform and our developer and designer tooling.
ES6 Modules: Allows you to use native ECMAScript modules, for example defining modules with <script type="module">, defining fallback scripts with <script nomodule>, and importing code features that have been exported from modules. (60)
CSS Shapes: CSS Shapes can be applied to floats. A circle shape on a float will cause inline content to wrap around the circle shape instead of the float's bounding box. (61)
Variable Fonts (OpenType Font Variations): the technology enables a single font file to behave like multiple fonts. (61)
Web Authentication: an API enabling the creation and use of strong, attested, scoped, public key-based credentials by web applications, for the purpose of strongly authenticating users. (60)
W3C Pointer Events: creates a single DOM event model to handle pointing input devices such as a mouse, pen/stylus or touch. (59)
3-Panel Inspector: This feature allows the Rules view to detach into its own dedicated panel. As result, developers have the ability to author and debug CSS at the same time.(61)
Shapes Path Editor: The Shape Path Editor is a developer tool that allows modification of CSS Shapes and Clip Paths right in the browser. In Firefox 61 the platform will support the Shape Outside CSS property and we will extend the tool to go with the platform feature.(61)
New Font Tooling: In Firefox 61, the layout team introduces support for Variable Fonts. We take this opportunity to rethink Firefox' fonts tooling and provide a new experience to developers working on both variable and non-variable fonts. (61 through 63, shipped in steps)
Flexbox Inspector: The Flexbox Inspector will allow developers to highlight and debug the flexbox layout model. In later releases (66) we will add separate tools to analyze Alignment and Sizing of elements. (64)
Service Workers panel: developers need to have a solid Service Worker debugging experience that matches Chrome's experience so they can make sure their apps work in Firefox. (61)
Source Maps Excellence: Source Maps are the translation layer for developers to transform and minify their original code with modern tools while keeping it debuggable. Going beyond what any browser currently provides, our tools will map variables and correctly step through original code. (61)
Framework Support: Attract back modern web app developers into our tools by matching up how devtools represent frameworks (components, state, errors, callstacks, etc) to the mental models of developers (Q3)
Context-based Devtools Feature Recommendation: Recommend features and extensions based on developers' technologies to level users up into advanced features and developer extensions for a stickier experience. (Q3)
Onboarding for Chrome devtools users: Show users switching from Chrome around; what's cool, what's different from Chrome and what's new. (Q3)
Performance Profiling for GeckoView: Enable the performance tooling that made Quantum Flow a success for the GeckoView project (61)
Remote Debugging: Support mobile push needs a solid mobile debugging experience, by replacing WebIDE with a modern and well integrated flow that doesn't get in the way. (62/63)