|
|
(294 intermediate revisions by 33 users not shown) |
Line 1: |
Line 1: |
| ''Note: The lists contained in here have only the next release attached. They are not prioritized yet, but should be soon.''
| | Current plans: [[Platform/Roadmap2025]] |
|
| |
|
| Firefox is the best delivery vehicle that we have for [http://www.mozilla.org/about/mission.html Mozilla's mission]. One important aspect of this is the tools that it makes available to web developers, add-ons developers and to internal Firefox developers.
| | Previously: |
| | * [[Platform/Roadmap2024]] |
| | * [[Platform/Roadmap2023]] |
| | * [[Platform/Roadmap2022]] |
| | * [[Platform/Roadmap2021]] |
| | * ... |
| | * [[Platform/Roadmap2012]] |
|
| |
|
| While much of the recent past has been focused on HTML5, it's become obvious that where we want the web to go has to go well beyond the capabilities that HTML5 offer and build something that isn't just a slightly improved way to render web pages, but moves the web forward in a way that's unique and takes advantage of its capabilities when compared with platforms like Windows, OSX and the rise of Application store models.
| | == See Also == |
| | | * [[Platform]] page for more |
| == Five Areas of Focus == | |
| To this end, there are five areas where we should be focusing during 2011 and beyond. These include:
| |
| | |
| === Support for Application Models ===
| |
| When we talk about applications we're not just talking about the ability to download and install an app, although that's an important component. We're also talking about taking the application installation model, mixing it with a distribution and communication model as well as giving developers new ways to monetize their applications. This should also include a new set of display capabilities for web page developers can take advantage of. The install paradigm is one that users are used to using as a metaphor for advanced permissions.
| |
| | |
| Also, as we build out our infrastructure in other areas we'll be able to connect those to our application model as well. | |
| | |
| === Firefox Should Know Who You Are (Identity and Social) ===
| |
| The way that people are finding things on the web has changed quite a bit over the last couple of years. Social sites act as an additional vector along side search engines. Also the rise of facebook and other identity platforms means that we're starting to see who you are on the web become the property of web sites, locking you into their models and using it as a way to track you as you browse the web. In the browser we have the unique position to offer a neutral identity and social platform that puts the user in control of their online life. We will offer services and APIs that will help web developers build better applications that at the same time puts users in control of their services.
| |
| | |
| === Firefox Should Make It Easy To Share With Friends (Sharing) ===
| |
| Built around much of the identity and social infrastructure that will be built to support those services, there are web-facing APIs that web developers will be able to use to make it easy to share web pages and information. (This solves the "NASCAR" problem on many sites that make it possible for you to share links.)
| |
| | |
| === Firefox Should Enable a New Set of Real-time (Push-based) Applications ===
| |
| Right now web pages are applications that are only loaded when you happen to have a web page open. This leads to two specific problems. First, any kind of system that wants to offer a background notification (like gmail) means that you always have to have it open, in its entirety. This takes up large amounts of resources, attention and real estate. (See Application Tabs as one way to work around this problem.)
| |
| | |
| Second, it severly limits web applications on mobile. Many important mobile experiences are about mobile data that's delivered to you on demand, and requires a new model for event delivery that doesn't require waking up the CPU and radio to poll for new data that - more often than not - isn't there.
| |
| | |
| To this end we need new models for applications and the lifetime and activation of web pages that allows you to build applications that can be activated remotely, span mobile and desktop and bring us into a world where you can be connected no matter where you, no matter what device you're on, with a single identity.
| |
| | |
| === Firefox Should be Built on a Modern Engine ===
| |
| At the same time that we're building out these new capabilities for web developers, we should also make sure that we continue to invest in the baseline for our engine, APIs for add-ons authors, performance and other strategic areas.
| |
| | |
| == Application Models ==
| |
| === Workers ===
| |
| * Pass files into workers
| |
| * localstorage "lite" for workers
| |
| * EventSource for workers
| |
| * WebSockets for workers
| |
| * IndexedDB for workers
| |
| * Support for cross-window communications
| |
| | |
| === Monetization ===
| |
| * JavaScript APIs for entitlements
| |
| * Appetizer
| |
| | |
| === Distribution ===
| |
| * Store
| |
| | |
| === Packaging ===
| |
| * [ needs more data ] | |
| | |
| === JavaScript Libraries ===
| |
| * Granular library loading support
| |
| ** Load a library
| |
| ** Parse a library
| |
| * Support for JavaScript library hashes to avoid cache lookup
| |
| * Support for Error Events that work
| |
| | |
| === Applications without windows ===
| |
| * EventSource (server-sent) events
| |
| ** Over HTTP <span style="color:#00DD00;">(Firefox 5)</span>
| |
| ** Over SMS (with backend notification service)
| |
| ** Application activation model for events for headless applications
| |
| * Persistent workers for background work that should be single threaded across windows
| |
| ** IndexedDB
| |
| ** Async messaging
| |
| * Global window for cross-tab communications
| |
| | |
| === Better Files Support ===
| |
| * Support for a file "sandbox"
| |
| * Support for File Writer interfaces
| |
| * Storing large files in IndexedDB
| |
| * Ability to drag a file out of a web page (download_url)
| |
| * Pictures and media integration (a better file picker)
| |
| * Upload a directory with relative pathnames preserved
| |
| | |
| === Networking ===
| |
| * Support for an XHR stream API - replace download with something that can read as the stream comes in
| |
| * WebSockets <span style="color:#00DD00;">(Firefox 5)</span>
| |
| * TLS Slow Start
| |
| * TLS False Start <span style="color:#00DD00;">(Firefox 5)</span>
| |
| | |
| === Mobile ===
| |
| * "Native" app install to home screen
| |
| * Server-sent events over SMS with Activation model
| |
| | |
| === Flexbox / Grid ===
| |
| * Support for these & specs for better application UI
| |
| * "Replace XUL with HTML"
| |
| | |
| === Display ===
| |
| * Color Correction control
| |
| * CSS 2.1 tests fallout <span style="color:#00DD00;">(Firefox 5)</span>
| |
| * Finish CSS 3 Backgrounds <span style="color:#00DD00;">(Firefox 5)</span>
| |
| * Full Screen APIs <span style="color:#00DD00;">(Firefox 5)</span>
| |
| * text-overflow: elipsis <span style="color:#00DD00;">(Firefox 5)</span>
| |
| * 3D Transforms <span style="color:#00DD00;">(Firefox 5)</span>
| |
| * Control over font downloading display behaviour
| |
| * Events for font, css and JS downloads completed
| |
| * WebP support (maybe)
| |
| | |
| === Content ===
| |
| * Video capture and upload
| |
| * WebSRT for HTML5 video
| |
| * WebM + Adaptive Bandwidth
| |
| * HTML5 video looping
| |
| * Finish HTML5 forms
| |
| * Content Editable
| |
| ** Web-exposed transation manager
| |
| ** Events system
| |
| ** Works by default
| |
| ** Selection API
| |
| ** Accessibility API
| |
| | |
| === Developer Tools ===
| |
| * Inspector <span style="color:#00DD00;">(Firefox 5)</span>
| |
| * Web Timing spec <span style="color:#00DD00;">(Firefox 5)</span>
| |
| | |
| == Identity and Social ==
| |
| === Account Manager ===
| |
| * In-browser UI <span style="color:#00DD00;">(Firefox 5)</span>
| |
| * Web APIs <span style="color:#00DD00;">(Firefox 5)</span>
| |
| | |
| === Log into the browser ===
| |
| * In-browser UI
| |
| | |
| === Mozilla ID service ===
| |
| * Account Dashboard
| |
| * User Consent Flow
| |
| * ID Provider
| |
| * OAuth consumer
| |
| * Single sign-on for Mozilla Properties
| |
| * Contacts connector
| |
| ** Contacts web API
| |
| ** Contacts UI
| |
| ** Connects to Sharing (F1)
| |
| | |
| === Data Broker UI ===
| |
| * Sharing data from one application to another
| |
| | |
| == Sharing ==
| |
| This service is similar to the F1 service but is based on the identity services that we will build, including the Mozilla ID service, the contacts connector and any other social services we will build into the browser.
| |
| | |
| === Components ===
| |
| * UI and Chrome
| |
| * Backend service
| |
| * Sharing Web API
| |
| | |
| == Real Time (Push) Applications ==
| |
| === Application Framework ===
| |
| * Activation model for headless applications
| |
| * Activation model to go from headless to UI
| |
| * Notifications APIs
| |
| * Service to connect SMS with registered applications
| |
| * EventSource API
| |
| | |
| === Real Time Audio and Video support ===
| |
| * Specs for HTML binding APIs for audio and video
| |
| * Networking stack (STUN, ICE, other)
| |
| * Audio & Video capture and playback stack
| |
| * Device integration
| |
| * Out of band real-time point to point protocol
| |
| * Out of band real-time point to point Web API
| |
| | |
| == Solid Baseline ==
| |
| === Metrics ===
| |
| * Telemetry
| |
| | |
| === Privacy ===
| |
| * Do not track header
| |
| * 3rd Party Cookies setting from Safari (dwitte has plans)
| |
| * Secure Storage (Nicholas' proposal)
| |
| * Secure DNS
| |
| ** How to connect to SSL?
| |
| ** UI Elements?
| |
| ** Identity connections?
| |
| | |
| === Performance ===
| |
| * Priorities in Caching
| |
| * HTTP Pipelining
| |
| * DNS Pre-fetch for link coloring
| |
| * Continued JS engine improvements
| |
| * Byte Arrays in many APIs
| |
| | |
| === Layout ===
| |
| * Deeper integration with layers for GPU acceleration (especially SVG)
| |
| * Removing the view system (code improvement, performance)
| |
| * Display-list-based invalidation (ditto)
| |
| * Rework inline layout (ditto)
| |
| * Finishing CSS 2.1 (run-ins, page-break) <span style="color:#00DD00;">(Firefox 5)</span>
| |
| ** run-ins are from css 2.1 testing
| |
| ** page-break is wanted by authors
| |
| * Many CSS3 features
| |
| ** Flexbox reimplementation (also chrome perf)
| |
| ** Grid implementation
| |
| ** Writing-mode (vertical text)
| |
| ** CSS animations
| |
| ** Ruby
| |
| ** Updating multicol (all of these needed to catch up to Webkit and/or IE)
| |
| ** Some kind of CSS3 grid/template layout (I suspect Google and/or Microsoft will make a move here, and the Web needs it)
| |
| | |
| === GFX ===
| |
| * https://wiki.mozilla.org/Platform/GFX/Firefox.next
| |
| | |
| [[Category:Roadmaps]]
| |