Firefox:3.0 PRD

Introduction

This document describes the product requirements for Firefox 3.0. The intent is that all items described here will be implemented prior to the end of the product's development cycle of approximately 12 months.

This document also anticipates an interim milestone marker to be released as Firefox 2.0 which will include completed implementations of some of the smaller or less complex items listed below. Many of the larger and more complex items will have their development efforts stretched out over the entire cycle, meaning those items will only appear in the Firefox 3.0 release.

Firefox and Gecko

Firefox 3 will be based on the 1.9 release of the Mozilla platform, often known as "Gecko". Thus in addition to its own feature items, it will pick up the enhancements to graphics rendering, JavaScript, layout, XUL, etc. anticipated in the Gecko 1.9 Roadmap. Gecko 1.9 development currently (April 2006) takes place on the trunk, see the branch plan.

Requirements

Marketing & Transition Experience

  • Less than a 5.0 MB download on Windows
  • Large deployment scenarios?


Functional Capability & Usability

Focus Area & Work Items Release Priority
Places (An Updated Approach to Bookmarks & History)
  • Floating icons/toolbars
    Firefox:Places:Scratch Pad
3.0 P2
Tabbed Browsing
  • drag and drop reordering of tabs (P2)
  • overflow collector
  • open tab right-next to the active one
  • return of "force link to open in" options (P2)
  • Grouping tabs like windows with "grouped tab functions"
  • making a group of urls to open on one click like bookmarks
  • saving opened tab urls as "URL Group"
  • permissions of tab: "Lock Tab", "Duplicate Tab"
     Firefox:Tabbed Browsing:Scratch Pad
2.0 P3
Software Update
  • remove Extensions and Themes from Software Update wizard
  • allow Software Update Wizard to be disabled
  • allow for automatic download and notification of "Updates Ready to Install"
  • coalesce pertinent patches with better available release - e.g. don't show 1.0.1 to users through update service if patch fixes bug.
  • allow custom update channels, configurable via extension
  • ensure background update continues to function.
     Firefox:Software Update:Scratch Pad
2.0 P2
Extensions and Themes
  • move Update functionality into Extension/Theme manager, revise UI to make more streamlined and show updates.
  • allow drag and drop reordering
  • remove uninstall and update buttons and replace with a "tools" menu (cog icon)
  • add various notifications for installed, uninstalled, disabled, enabled etc.
  • install (and uninstall) without restart
  • remote blacklisting (disabling) of extensions via GUID
     Firefox:Extensions:Scratch Pad
2.0 P2
Search Engines
  • search engine management
  • allow keyboard aliases for sherlock files
  • generate sherlock files for form fields
  • "url sanitizer"
     Firefox:Search:Scratch Pad
3.0
Download Manager
  • resumable downloading
  • exe signature detection
  • exe info warning box
  • proper display name of helper applications
  • correct download location for Linux
  • open and show functionality for Linux
     Firefox:Download Manager:Scratch Pad
2.0/3.0
Session Saving
  • save open tabs/windows
  • save session data (session histories, post data, form values, etc)
  • option about session restoration on firefox start
     Firefox:Session Saving:Scratch Pad
3.0 P4
Per Site Options
  • ability to set per-host preferences using UI (Info Window tab)
  • settings for: fonts/colors, stylesheet, saved form information, saved passwords, cookies, popups, xpinstall, image loading, java, javascript, download location/policy, force links into tabs
     Firefox:Info Window:Per Site Options:Scratch Pad
3.0
Info Window
  • 5 tab info panel at the bottom of the browser window, featuring:
  • General page (Title, Description, Location, Referrer, Type, Size (Size with Media), Type, Encoding, Modified, Expires);
  • Links page (list of links with multi-select capable Save As... button);
  • Media page with multi-select capable Save As... button;
  • Security page with identity verifier, encryption level, View Certificate button and info popups;
  • Per-Site Options panel (see above).
     Firefox:Info Window:Scratch Pad
2.0 P3
Find Toolbar
  • revive IME support for find-as-you-type
  • identify and resolve error cases for find toolbar appearing incorrectly or taking the "/" key literally
     Firefox:Find Toolbar:Scratch Pad
3.0 P2
Developer Tools
  • revive Inspector Options panel
     Firefox:Developer Tools:Scratch Pad
3.0 P4
Keybindings
  • Extensions and IE compatibility interests are causing an ever increasing tug-of-war over the limited set of keys available to us. Some kind of keybinding configuration system listing commands and allow the user to assign bindings, with predefined schemes like "Firefox", "IE", etc. This probably should be an ABE entry.
     Firefox:Configurable Keybindings 
2.0 P3
MacOS X
  • modal vs. floating window audit
  • form controls
  • customizable toolbar sheet
  • drag and drop images
  • menulist syncviewwithframe
  • default browser
  • safari, IE migrators etc.
1.5 P2
Usability Enhancements
  • Download Manager: Ability to save chosen file-types to directory. For example, all *.pdf & *.doc to "My Documents", *.mp3 to "My Music" and so on...
1.5 P2

Codebase & Platform Design

Focus Area & Work Items Release Priority
XULRunner
See XULRunner docs 3.0
XUL
  • correct NativeTheme rendering for tabs, groupbox/captions, sliders, menus
  • generic customizable toolbar widget with standardized context menus across all apps
3.0 P2
Tree Sanity
  • separate out mozapps from toolkit, appropriately juggle content between two.
2.0 P3