Firefox/Namoroka/Initial Plan: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
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


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 discussion page.

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)