Firefox/Namoroka/Initial Plan: Difference between revisions
m (+Category:Namoroka) |
|||
Line 120: | Line 120: | ||
= 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]] |
Revision as of 15:17, 30 March 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 be developed in line with the Firefox Charter, with specific focus on the following areas:
- Performance
- Allow no regressions in existing system performance metrics, and create some metric for system responsiveness (aka: "Tbeachball"). Budget development resource and prioritize projects to improve startup time (Ts), user interface responsiveness, and performance, with a specific focus on reducing the time required to perform common user tasks.
- 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
- Provide 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, with an initially scheduled release of early 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 (April 13 2009 - June 30 2009)
- 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 (July 1 2009 - Oct 30 2009)
- 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 (November 2 2009 - January 29 2010)
- 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
- profile & analyse front-end code for potential startup (Ts) improvements
- profile & analyse front-end code for user interface responsiveness on common tasks (ex: open a new tab/window, play video, print page)
- optimize Places system to improve database query responsiveness
- create animations for common user interactions where they make sense
- Personalization and Customization
- improve theme structure to make it easier to create themes, ship multiple themes, switch between themes
- support lightweight themes (Personas) by default
- add support for lightweight, easy-to-develop add-ons
- customize browser behaviours based on personal history
- opening a new tab / navigation tasks
- search related tasks
- form fill tasks
- about:me personal portal
- identity management
- Task Based Navigation
- support web navigation by tag / date / source metadata
- add ability to search for an existing tab
- allow users to create, save, restore groups of tabs
- allow users to accomplish common web-application tasks (Taskfox)
- provide basic file management in download manager
- Web Application Support
- improve user interface for sending files to websites
- improve editing tools for creating rich data on websites
- allow users to save a page as web app
- System Integration
- new default theme for Windows using Aero
- integrate with OSX dictionaries
- Other
- optimize security UI for common user certificate management tasks
- merge common site-specific controls with identity button
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
- aggressive use of connection pre-caching
- improved cache pinning support / less cache entropy on crash (to speed session restore time)
- solidifying nsIRunnable and thread support before Mozilla 2
- Web Application Support
- offline data storage mechanism for web application developers
- 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)