Firefox/Namoroka/Initial Plan: Difference between revisions
m (moved Firefox/Namoroka to Firefox/Namoroka/Initial Plan: That was the initial plan) |
|||
| (14 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
<div style="width: 80%; border: thin dotted #aaa; padding: 10px; background-color: #FCF6CF"> | <div style="width: 80%; border: thin dotted #aaa; padding: 10px; background-color: #FCF6CF"> | ||
'''This is a DRAFT document. Please do not edit these pages without permission of the Firefox product drivers. Your feedback and comments are welcomed on the [[Talk:Firefox/Namoroka|discussion page]].'''</div> | '''This is a DRAFT document. Please do not edit these pages without permission of the Firefox product drivers. Your feedback and comments are welcomed on the [[Talk:Firefox/Namoroka|discussion page]].'''</div> | ||
| Line 8: | Line 6: | ||
== Goals == | == Goals == | ||
Namoroka will | Namoroka will focus on the following areas: | ||
;Performance | ;Performance | ||
: | :Observable improvements in user-perceptible performance metrics such as startup, time to open a new tab, and responsiveness when interacting with the user interface. Common user tasks should feel faster and more responsive. | ||
;Personalization & Customization | ;Personalization & Customization | ||
| Line 17: | Line 15: | ||
;Task Based Navigation | ;Task Based Navigation | ||
:Allow users to organize their tabs, history, downloaded files, and other resources according to the task they were attempting to accomplish. Provide support for executing common web-based tasks, mash-up style, without having to visit a website. | ::Allow users to organize their tabs, history, downloaded files, and other resources according to the task they were attempting to accomplish. Provide support for executing common web-based tasks, mash-up style, without having to visit a website. | ||
;Web Application Support | ;Web Application Support | ||
: | :Blur the distinction between web and desktop applications, providing web developers with the tools required to create rich application experiences for a user who is connected or disconnected from the Internet. Act as the intermediary between web applications and the user's OS desktop. | ||
;System Integration | ;System Integration | ||
| Line 26: | Line 24: | ||
== Development Schedule == | == Development Schedule == | ||
Namoroka will be based on Gecko 1.9.2, with an | Namoroka will be based on Gecko 1.9.2 (see [[Platform]]), with an intended release target of early-to-mid 2010. As always, we will only release the finished product [http://blog.mozilla.com/ftr/2008/02/11/when-its-ready/ when it's ready]. | ||
Namoroka will employ a highly iterative, milestone based development process which will rely on feedback from developers, testers and users to ensure that we are properly investing time and resources. An initial exploration phase will be used to investigate development cost and benefit, as well as to create user interaction prototypes. This will be followed by an alpha development phase for early user testing and feedback, and then a beta phase for broader compatibility testing. | Namoroka will employ a highly iterative, milestone based development process which will rely on feedback from developers, testers and users to ensure that we are properly investing time and resources. An initial exploration phase will be used to investigate development cost and benefit, as well as to create user interaction prototypes. This will be followed by an alpha development phase for early user testing and feedback, and then a beta phase for broader compatibility testing. | ||
; Exploration & Prototyping ( | ; Exploration & Prototyping (2 months) | ||
* identify & begin work on user interface polish issues | * identify & begin work on user interface polish issues | ||
* explore development areas of interest in consultation with the community and report on cost/benefit | * explore development areas of interest in consultation with the community and report on cost/benefit | ||
| Line 39: | Line 37: | ||
* '''alpha''' level milestones to be produced during this phase, primarily to test new platform features | * '''alpha''' level milestones to be produced during this phase, primarily to test new platform features | ||
; Product Development ( | ; Product Development (5 months) | ||
* fortnightly progress checkups on all development plans | * fortnightly progress checkups on all development plans | ||
* major user interface changes to be implemented and iterated on first in an [http://www.mozilla.org/hacking/incubator-repository.html incubator repository] with regular merges into the main development tree | * major user interface changes to be implemented and iterated on first in an [http://www.mozilla.org/hacking/incubator-repository.html incubator repository] with regular merges into the main development tree | ||
| Line 45: | Line 43: | ||
* first '''beta''' milestone to be delivered at the end of this phase | * first '''beta''' milestone to be delivered at the end of this phase | ||
; Polish & Delivery ( | ; Polish & Delivery (3 months) | ||
* revise user interface features based on beta testing feedback | * revise user interface features based on beta testing feedback | ||
* polish and bugfixing | * polish and bugfixing | ||
| Line 59: | Line 57: | ||
;Performance | ;Performance | ||
* | * [P1] achieve dramatic, human-perceivable (>50ms) speed increases on startup | ||
* | * [P1] achieve dramatic, human-perceivable (>50ms) speed increases on common user tasks | ||
* | ** opening a new tab | ||
** loading a bookmarked page | |||
** autocompleting a location in the Awesomebar | |||
** play rich media content | |||
* animation and other interaction techniques to reduce lag between action and feedback, and to improve perceived speed | |||
;Personalization and Customization | ;Personalization and Customization | ||
* | * [P1] "light weight" themes which do not require a restart to install | ||
* [P1] "light weight" add-ons which to not require a restart to install | |||
* add | * [P2] customize browser behaviours based on personal history | ||
* customize browser behaviours based on personal history | |||
** opening a new tab / navigation tasks | ** opening a new tab / navigation tasks | ||
** search related tasks | ** search related tasks | ||
** form fill tasks | ** form fill tasks | ||
** about:me personal portal | ** about:me personal portal | ||
* identity management | * [P2] identity management | ||
;Task Based Navigation | ;Task Based Navigation | ||
* support web navigation by tag / date / source metadata | * [P1] support web navigation by tag / date / source metadata | ||
* add ability to search for an existing tab | * [P1] add ability to search for an existing tab | ||
* allow users to create, save, restore groups of tabs | * [P2] allow users to create, save, restore groups of tabs | ||
* allow users to accomplish common web-application tasks ([[Taskfox]]) | * [P2] allow users to accomplish common web-application tasks ([[Taskfox]]) | ||
* | * [P2] support file management tasks (delete, move, etc) in download manager | ||
; Web Application Support | ; Web Application Support | ||
* improve user interface for sending files to websites | * [P1] improve user interface for sending files to websites | ||
* improve editing tools for creating rich data on websites | * [P1] allow users to save a page as web app | ||
* [P2] improve editing tools for creating rich data on websites | |||
;System Integration | ;System Integration | ||
* new default theme for Windows using Aero | * [P1] new default theme for Windows using Aero Glass | ||
* integrate with OSX dictionaries | * [P2] integrate with OSX dictionaries | ||
;Other | ;Other | ||
* optimize security UI for common user certificate management tasks | * [P1] merge common site-specific controls with identity button | ||
* [P2] optimize security UI for common user certificate management tasks | |||
= Firefox.next Platform Requirements = | = Firefox.next Platform Requirements = | ||
| Line 103: | Line 103: | ||
* chrome JIT | * chrome JIT | ||
* ability to register chrome components without restart | * ability to register chrome components without restart | ||
* | * network resource pre-caching to reduce page load times when clicking a link | ||
* improved cache pinning support | * improved cache pinning support | ||
* make cache more reliable so that it can be used when restoring a user session on a restart or after a crash | |||
* solidifying nsIRunnable and thread support before Mozilla 2 | * solidifying nsIRunnable and thread support before Mozilla 2 | ||
; System Integration | ; System Integration | ||
| Line 120: | Line 118: | ||
= Firefox.next Build Infrastructure Requirements = | = Firefox.next Build Infrastructure Requirements = | ||
* bigger server pool for tryserver builds (due to increased reliance on incubator repositories) | * bigger server pool for tryserver builds (due to increased reliance on incubator repositories) | ||
[[Category:Namoroka]] | |||
Latest revision as of 12:55, 8 August 2009
Firefox.next
After Firefox3.5 ("Shiretoko") is released, the next version of Firefox will be developed under the project name "Namoroka". The version number will be initially set to "3.6", but this should not be considered final, and as such the project may also be referred to as "Firefox.next".
Goals
Namoroka will focus on the following areas:
- Performance
- Observable improvements in user-perceptible performance metrics such as startup, time to open a new tab, and responsiveness when interacting with the user interface. Common user tasks should feel faster and more responsive.
- Personalization & Customization
- Simplify the development, discovery, installation and management of browser customization and functional extension. Where possible, provide a custom fit user experience based on a user's interaction history. Act in the user's interests, leveraging existing knowledge about their identity and browsing habits.
- Task Based Navigation
-
- Allow users to organize their tabs, history, downloaded files, and other resources according to the task they were attempting to accomplish. Provide support for executing common web-based tasks, mash-up style, without having to visit a website.
- Web Application Support
- Blur the distinction between web and desktop applications, providing web developers with the tools required to create rich application experiences for a user who is connected or disconnected from the Internet. Act as the intermediary between web applications and the user's OS desktop.
- System Integration
- Integrate with the look and feel of the host operating system, including data-level interactions with existing system services such as dictionaries.
Development Schedule
Namoroka will be based on Gecko 1.9.2 (see Platform), with an intended release target of early-to-mid 2010. As always, we will only release the finished product when it's ready.
Namoroka will employ a highly iterative, milestone based development process which will rely on feedback from developers, testers and users to ensure that we are properly investing time and resources. An initial exploration phase will be used to investigate development cost and benefit, as well as to create user interaction prototypes. This will be followed by an alpha development phase for early user testing and feedback, and then a beta phase for broader compatibility testing.
- Exploration & Prototyping (2 months)
- identify & begin work on user interface polish issues
- explore development areas of interest in consultation with the community and report on cost/benefit
- determine platform requirements for front end features
- create prototypes in incubator repositories and/or as JS/XUL snippets
- write up development plans for items to be included in final product
- identify items for future releases & Mozilla Labs experimentation
- alpha level milestones to be produced during this phase, primarily to test new platform features
- Product Development (5 months)
- fortnightly progress checkups on all development plans
- major user interface changes to be implemented and iterated on first in an incubator repository with regular merges into the main development tree
- monthly alpha level milestones to be produced to test new platform and front end features
- first beta milestone to be delivered at the end of this phase
- Polish & Delivery (3 months)
- revise user interface features based on beta testing feedback
- polish and bugfixing
- beta milestones to be delivered every 4-6 weeks to get wider user feedback
- Milestone Definitions
- Alpha: major platform and user interface changes will occur between milestones
- Beta: minor user interface changes will occur between milestones, based on user feedback. Platform changes will be limited to correctness fixes only (no new features)
- Release Candidate: only functional correctness changes
Firefox.next Development Areas of Interest
Anyone can propose an area of interest for development, though until the documentation is complete, it will not be considered for inclusion in the product.
- Performance
- [P1] achieve dramatic, human-perceivable (>50ms) speed increases on startup
- [P1] achieve dramatic, human-perceivable (>50ms) speed increases on common user tasks
- opening a new tab
- loading a bookmarked page
- autocompleting a location in the Awesomebar
- play rich media content
- animation and other interaction techniques to reduce lag between action and feedback, and to improve perceived speed
- Personalization and Customization
- [P1] "light weight" themes which do not require a restart to install
- [P1] "light weight" add-ons which to not require a restart to install
- [P2] customize browser behaviours based on personal history
- opening a new tab / navigation tasks
- search related tasks
- form fill tasks
- about:me personal portal
- [P2] identity management
- Task Based Navigation
- [P1] support web navigation by tag / date / source metadata
- [P1] add ability to search for an existing tab
- [P2] allow users to create, save, restore groups of tabs
- [P2] allow users to accomplish common web-application tasks (Taskfox)
- [P2] support file management tasks (delete, move, etc) in download manager
- Web Application Support
- [P1] improve user interface for sending files to websites
- [P1] allow users to save a page as web app
- [P2] improve editing tools for creating rich data on websites
- System Integration
- [P1] new default theme for Windows using Aero Glass
- [P2] integrate with OSX dictionaries
- Other
- [P1] merge common site-specific controls with identity button
- [P2] optimize security UI for common user certificate management tasks
Firefox.next Platform Requirements
- User Experience Enablement
- support user interface animations in XUL
- compositor (to support layered/cropped user interface window elements)
- Performance
- chrome JIT
- ability to register chrome components without restart
- network resource pre-caching to reduce page load times when clicking a link
- improved cache pinning support
- make cache more reliable so that it can be used when restoring a user session on a restart or after a crash
- solidifying nsIRunnable and thread support before Mozilla 2
- System Integration
- OSX Dictionary integration
- OSX Services & AppleScript integration
- OSX Keychain integration
- Windows Aero Glass
- Windows Aero Peek
- Windows 7
Firefox.next Build Infrastructure Requirements
- bigger server pool for tryserver builds (due to increased reliance on incubator repositories)