Gecko 1.9 Roadmap: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
== Introduction to the Gecko 1.9 Roadmap ==
== Introduction to the Gecko 1.9 Roadmap ==


This roadmap describes the planned capabilities of the Mozilla platform, often known as "Gecko", in the 1.9 release.  The primary product delivery vehicle for this platform is Firefox 3, which will be explored, discussed, and refined elsewhere, likely in a manner similar to that employed for [http://wiki.mozilla.org/Firefox2 Firefox 2].
This roadmap describes the planned capabilities of the Mozilla platform, often known as "Gecko", in the 1.9 release.  The primary product delivery vehicle for this platform is Firefox 3, which will be explored, discussed, and refined elsewhere, likely in a manner similar to that employed for [http://wiki.mozilla.org/Firefox2 Firefox 2].  There are several major areas of development for Gecko 1.9, intended to serve both the applications built on top of it (chiefly Firefox 3) and applications built on the web which need or would benefit from improvements in web technology. Many of these web-facing enhancements will be implementations of existing standards, in whole or in part. Some will be new standards.


The work described in this document will be performed -- in several cases it is already <i>being</i> performed, as of February 2006 -- on the trunk of Mozilla CVS, with the 1.8 branch preserved largely intact.  Some of the features listed below may be pulled forward into that 1.8 branch if needed for product releases off that branch, but you shouldn't count on it.  We will preserve all API (declared-frozen or not) compatibility on the 1.8 branch, so only selected additional APIs are thinkable. (A Gecko 1.8 Roadmap is also needed, and it should be expected to describe the criteria by which necessarily-API-compatible changes may be selected for promotion to the 1.8 release stream.)
The work described in this document will be performed -- in several cases it is already <i>being</i> performed, as of February 2006 -- on the trunk of Mozilla CVS, with the 1.8 branch preserved largely intact.  Some of the features listed below may be pulled forward into that 1.8 branch if needed for product releases off that branch, but you shouldn't count on it.  We will preserve all API (declared-frozen or not) compatibility on the 1.8 branch, so only selected additional APIs are thinkable. (A Gecko 1.8 Roadmap is also needed, and it should be expected to describe the criteria by which necessarily-API-compatible changes may be selected for promotion to the 1.8 release stream.)
Line 12: Line 12:


The owner of record for this document is Mike Shaver (shaver@mozilla.org), and all errors or omissions within it are first and foremost his responsibility.  Brendan Eich (brendan@mozilla.org) continues to drive the vision and architecture of the platform in the large, and his influence on the platform roadmap is both significant and indispensible.  In the case of a tie, disputes will be settled by single combat.
The owner of record for this document is Mike Shaver (shaver@mozilla.org), and all errors or omissions within it are first and foremost his responsibility.  Brendan Eich (brendan@mozilla.org) continues to drive the vision and architecture of the platform in the large, and his influence on the platform roadmap is both significant and indispensible.  In the case of a tie, disputes will be settled by single combat.
== Graphics and layout capabilities ==
Graphics and layout changes represent some of the most invasive work proposed for the Gecko 1.9 development cycle. They form the core of the architectural shifts in 1.9, and are considered to be the most difficult and riskiest elements.
To manage risk, this roadmap has proposed that major graphics and layout work -- especially the cairo-substrate and reflow-branch changes -- be scheduled as early as possible, in staged landings.  The work required to make cairo the default graphics subsystem on the trunk is nearing completion as of this writing (February 2006), and the reflow branch has also shown significant progress, but both will require significant and risky additional work before they can be laid to rest, and we continue to recommend that this work and risk be front-loaded in the Gecko 1.9 schedule.
=== Planned ===
==== cairo Graphics Substrate ===
([http://wiki.mozilla.org/Mozilla2:GFXEvolution details], [http://wiki.mozilla.org/FutureGfxWhiteboard more details], [http://wiki.mozilla.org/Roadmap_Scratchpad:cairo|schedule]])
We plan to replace our aging and limiting <abbr title="graphic">gfx</abbr> infrastructure with the [http://www.cairographics.org/introduction cairo] 2D graphics library.  The aim of shifting to cairo is to bring modern, hardware-accelerated 2D graphics capabilities to the whole of the web, without requiring proprietary plugins or rendering obsolete the broad and rich set of web authoring techniques developed over the past decade.  This change will have as a side-effect the dropping of support for Windows versions prior to Windows 2000 (such as Windows 95, 98, and ME); we believe that this is an appropriate and acceptable cost to bear in order to overcome the limitations of our current gfx model and the rendering capabilities exposed to the web.
=== SVG improvements ===
([http://www.mozilla.org/projects/svg/#status status])
The SVG support [http://developer.mozilla.org/en/docs/SVG_in_Firefox_1.5 shipped in Firefox 1.5] has proven useful and valuable, but we know -- and knew before 1.5 shipped -- that it can be made much more so.  Features such as [http://www.w3.org/TR/SVG11/filters.html#FilterElement filters], [http://www.w3.org/TR/SVG11/text.html#TextPathElement text pathing] and [http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement
foreign objects] are high on the list, but all of SVG 1.1 is in scope for Gecko 1.9.
=== Canvas ===
The [http://developer.mozilla.org/en/docs/Canvas_tutorial &lt;canvas&gt; element] was another graphical highlight of the Firefox 1.5 release, and we intend to improve it in Gecko 1.9.  In addition to substantial performance improvements, we are investigating text support and a 3D context.

Revision as of 03:34, 5 February 2006

Introduction to the Gecko 1.9 Roadmap

This roadmap describes the planned capabilities of the Mozilla platform, often known as "Gecko", in the 1.9 release. The primary product delivery vehicle for this platform is Firefox 3, which will be explored, discussed, and refined elsewhere, likely in a manner similar to that employed for Firefox 2. There are several major areas of development for Gecko 1.9, intended to serve both the applications built on top of it (chiefly Firefox 3) and applications built on the web which need or would benefit from improvements in web technology. Many of these web-facing enhancements will be implementations of existing standards, in whole or in part. Some will be new standards.

The work described in this document will be performed -- in several cases it is already being performed, as of February 2006 -- on the trunk of Mozilla CVS, with the 1.8 branch preserved largely intact. Some of the features listed below may be pulled forward into that 1.8 branch if needed for product releases off that branch, but you shouldn't count on it. We will preserve all API (declared-frozen or not) compatibility on the 1.8 branch, so only selected additional APIs are thinkable. (A Gecko 1.8 Roadmap is also needed, and it should be expected to describe the criteria by which necessarily-API-compatible changes may be selected for promotion to the 1.8 release stream.)

Much more information on the management of these branches, and post-1.8.0 releases of Gecko 1.8, is available in the branch plan.

Readers of this document will notice a conspicuous absence of bug lists, detailed schedules, or decomposition of development work into individual tasks. While this roadmap is intended to provide a statement of direction for the platform in Gecko 1.9, responsibility for detailed planning of such areas of development is necessarily devolved to the groups doing -- or, in the case of some larger tasks, leading -- the design, development, and testing of specific capabilities. We seek here to make clear the "whats" and "whys", but not to elaborate in meaningful detail on the "hows" or "whens".

As this roadmap describes the future, and not history, some revision is to be expected. The delineation of "planned" and "desired" work is hopefully made clear below; for work to be considered "planned", there should be credible understanding of the "hows" and "whens", as well as clear description of the "whos". We strongly encourage the leaders of such "planned" work to commit their understanding to a public document, and keep it updated and linked from appropriate project pages.

The owner of record for this document is Mike Shaver (shaver@mozilla.org), and all errors or omissions within it are first and foremost his responsibility. Brendan Eich (brendan@mozilla.org) continues to drive the vision and architecture of the platform in the large, and his influence on the platform roadmap is both significant and indispensible. In the case of a tie, disputes will be settled by single combat.

Graphics and layout capabilities

Graphics and layout changes represent some of the most invasive work proposed for the Gecko 1.9 development cycle. They form the core of the architectural shifts in 1.9, and are considered to be the most difficult and riskiest elements.

To manage risk, this roadmap has proposed that major graphics and layout work -- especially the cairo-substrate and reflow-branch changes -- be scheduled as early as possible, in staged landings. The work required to make cairo the default graphics subsystem on the trunk is nearing completion as of this writing (February 2006), and the reflow branch has also shown significant progress, but both will require significant and risky additional work before they can be laid to rest, and we continue to recommend that this work and risk be front-loaded in the Gecko 1.9 schedule.

Planned

= cairo Graphics Substrate

(details, more details, [1]])

We plan to replace our aging and limiting gfx infrastructure with the cairo 2D graphics library. The aim of shifting to cairo is to bring modern, hardware-accelerated 2D graphics capabilities to the whole of the web, without requiring proprietary plugins or rendering obsolete the broad and rich set of web authoring techniques developed over the past decade. This change will have as a side-effect the dropping of support for Windows versions prior to Windows 2000 (such as Windows 95, 98, and ME); we believe that this is an appropriate and acceptable cost to bear in order to overcome the limitations of our current gfx model and the rendering capabilities exposed to the web.

SVG improvements

(status)

The SVG support shipped in Firefox 1.5 has proven useful and valuable, but we know -- and knew before 1.5 shipped -- that it can be made much more so. Features such as filters, text pathing and [http://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement foreign objects] are high on the list, but all of SVG 1.1 is in scope for Gecko 1.9.

Canvas

The <canvas> element was another graphical highlight of the Firefox 1.5 release, and we intend to improve it in Gecko 1.9. In addition to substantial performance improvements, we are investigating text support and a 3D context.