User:Christopherblizzard/6das6dsa
![]() |
Platform 2012 Roadmap | |
Owner: Chris Blizzard | Updated: 2012-01-20 | |
This roadmap outlines the current strategy and direction for Mozilla Platform development through 2011. 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 that and build something that moves the web forward in a way that takes advantage of its unique capabilities, and will allow you to move seamlessly from phones to tablets to your desktop. |
Vision
We want the platform in Firefox to enable app-quality experiences and developer productivity that rivals native platforms.
Networking
Name | Description | Status | When | Who |
---|---|---|---|---|
Compete WebSockets to Match RFC | This brings WebSockets to the point where it matches the IETF RFC. It includes the protocol and API bits from the W3C. | Done | Done | Networking & Blizzard |
Support for SPDY | SPDY is a new protocol built on the request app model of the web that allows for multiplexing, connection sharing and is SSL-only. It saves costs for server vendors who will have to deal with fewer connections per page load. And for end users it makes pages generally feel faster to load. | Checked in for testing, not enabled by default. | Testing in Q1, deployment depending on feedback. | Networking & Blizzard |
DASH WebM Support | This adds support for adaptive streaming for video with the WebM codec. It's based on the WebM + DASH spec that's being done by Google. | Work underway | Work underway in Q1. Delivery based on spec stability and feedback, but hopefully in Q2. | Networking & Blizzard |
HTTP Pipelining | This adds support for HTTP pipelining to desktop browsers by default. HTTP pipelining offers a significant page load performance win especially over higher-latency connections (like mobile or any trans-oceanic connection.) The risk here is medium, as the patches have excellent back-off characteristics but pipelining has historically been considered to be difficult to implement. Pipelining is actually used on most mobile devices, but hasn't been turned on in desktop browsers to date. | Has patches | After SPDY is done. | Networking & Blizzard |
HTTP Pre-connections | Adding support for pre-connections would open HTTP connections ahead of page loads or after search results under the assumption that users will always go to the same sites. Chrome and IE both do this. | Not started | After pipelining. | Networking & Blizzard |
Apps
Name | Description | Status | When | Who |
---|---|---|---|---|
Identity (Verified Email) | This gives us the ability to assert that an email address has been verified, which is a proxy for identity. This has its own roadmap, but is worth mentioning because it's an important part of the overall roadmap for the rest of the apps platform. | First stage already deployed, with more UI coming in later quarters. | Q1 | Dan Mills |
Receipts | Receipts allows you to assert that a particular identity has paid for a service or item. | Underway (Jennifer) | Q1? | Dan Mills |
Install process for Apps | An install process allows you to install an app into your browser or into your operating system. | Underway | Q1? | Jennifer |
Make App Cache opportunistic for Firefox Desktop | This makes the app cache act much like our current cache, in that it has a bounded size and will expire old data. It also means we don't have to ask the user for permission to install something without context. This is useful in the browser context. | Waiting on a resource | Q2 | DOM & Media & Blizzard |
Updates to the App Cache | We need to update the App Cache to make it work better in many situations that have been identified since the original specs were written. This includes support in the face of CDNs, extra APIs, etc. | Scoping | Q2 to finish scoping and start work | DOM & Networking & Blizzard |
WebSQL for Mobile | Depending on feedback, we might want to implement WebSQL for mobile due to an installed user base. | Not started | Q2 | DOM & Blizzard |
Improve Register Protocol Handler | We need to improve our register protocol handler for Apps. | Unknown (Ben) | ? | DOM & Ben |
Replacement for Web Intents | Web Intents allows applications to register themselves to handle actions and content. The current spec is apparently quite large and complicated and never got off the ground. So it needs re-visiting. | Unknown (tantek & hason) | Maybe start in Q1? | Tantek & Hanson |
Install trigger - Scope in Q1 | In order to support installations we need the ability for a web site to trigger an install. This is essentially part of our store functionality. | Scoping | Q1 | Hanson |
Push Notifications | Push notifications allow us to push data to installed apps on people's computers and browsers. This would be a pretty major change to the architecture of the web, is closely and would need background tasks and and activation system to support it. These would only be available to "installed" apps. | Unscoped | Later in 2012 | Blizzard |
Background tasks | Background tasks are things that apps can do in the background. These things could be the result of a push notification, network event or a timer that's running. They would only be available to "installed" applications, but could prove very useful. | Unscoped | Later in 2012 | Blizzard |
Low-level Socket API | One thing that's oft requested (especially for games) is a low-level read/write socket API that's available for installed apps. Native platforms can do this easily. This would not be available to untrusted applications/web pages. | Unscoped | Later in 2012 | DOM & Networking & Blizzard |
Open HTTP without cookies | One thing that's often requested by app developers is the ability to make arbitrary HTTP requests that don't share the cookie state with the browser. This is similar to the low-level socket API but is HTTP-specific. Another way to describe this: getting rid of the cross-domain restrictions for installed applications. This would not be available to untrusted applications/web pages. | Unscoped | Later in 2012 | DOM & Networking & Blizzard |
Devices
Devices
Taking a picture - In Progress, Late Q1 / Early Q2 (sicking) Finish IndexedDB (File & Key Support) - Done Dialer (B2G) - Underway Network Status (B2G) - Underway Vibration (B2G) - Underway Battery (B2G) - Underway Contacts (sicking & B2G) - Underway Upload a Directory (sicking) (mhanson) - Q2 Access to Local Media Storage (and on USB) - Pictures, Video, Music (sicking & B2G) - Q2 Drag Files with download_url - Q2 Finish Touch and Multi-touch (sicking) - Q2 Ambient Light - Q2 Proximity to Your Face - Q2 Can't upload files > 2GB in size (annoy) - Unknown Plugins destroyed on visibility changes (annoy) - Unknown
Layout (https://wiki.mozilla.org/Platform/Layout#Feature_Planning)
Readability - Underway, Iterate in Q1/Q2 based on testing WebKit Properties (based on data & feedback) - Start in Q1 / Late Q2 CSS Flexbox - Late Q1 / Early Q2 CSS Grid - Start in Q2 CSS Regions - Later in 2012 CSS Exclusions - Later in 2012 CSS Images - Later in 2012 gradients (syntax changes, animation) - Later in 2012 CSS @supports - Later in 2012 CSS Paginated Overflow - Later in 2012 @page support - Later in 2012 ruby support - Later in 2012 Spring Scolling (Facebook & sicking) - Later in 2012 Scrolling APIs - Later in 2012
Media
Full Screen Support - Done WebRTC - Demo in Q1, Finish in Q2/Q3 Mobile H.264 Support - Q2 Media Stream Processing APIs - Q2 Video Capture & Upload - Q2 Mouse Lock - Q2 or Q3
Marketing
Finish HTML5 to html5test.org Finish Audio to areweplayingyet.org