Firefox3/Product Requirements Document
< Firefox3
The Firefox 3 PRD Spreadsheet is still available here. This page will also be kept up to date. Please link relevant bugs and design documents in the "Bugs/Design links" column.
Add-ons
P1
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| ADD-003e | Unify add-ons management system and add plugin management system | Rob Strong | ||
| ADD-003h | Support shipping of localized user-facing addon text | Rob Strong |
P2
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| ADD-001a | Add-ons can be installed in fewer mouse clicks | Rob Strong | ||
| ADD-001b | Ensure user understands the risks about installing extensions | Rob Strong | ||
| ADD-001c | Clarify XPi install dialogs and user interactions | Rob Strong | ||
| ADD-01d | Help wanted | Remove extension installation whitelist | Rob Strong | |
| ADD-001e | At risk | Install Add-on without requiring a browser resetart | Rob Strong | |
| ADD-002a | Allow Add-on configuration UI to be accessed from main application configuration UI | Rob Strong | ||
| ADD-002b | Improve discoverability of Add-on configuration UI | Rob Strong | ||
| ADD-003a | Add visual indication to browser UI when Add-on updates are available | Rob Strong | ||
| ADD-003b | Add permanent button for restarting Firefox | Rob Strong | ||
| ADD-003d | Simplify language and unify terminology related to Add-ons | Rob Strong | ||
| ADD-003g | Support displaying information about the update in the updater | Rob Strong | ||
| ADD-003j | Support add-on conflict resolution | Rob Strong | ||
| ADD-005b | Promote the existence of Add-ons that could help the user accomplish their current task | Rob Strong | ||
| ADD-005c | Help documents should link to related Add-on categories on addons.mozilla.org |
P3
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| ADD-003c | At risk | Simplify task flow for updating single addons | ||
| ADD-003f | At risk | Allow addons to control other types of extensions and ensuring that model is extensible | ||
| ADD-003i | At risk | Support for use of some kind of service for extension dependency resolution | ||
| ADD-004a | At risk | Making signing a requirement or higher value in install experience | ||
| ADD-004b | At risk | Providing a lower priv model for certain classes of extension | ||
| ADD-005a | At risk | Improve quality of results from Plugin Finders | ||
| ADD-005d | At risk | Small "Add-on" button on managers, dialogs, etc. which links directly to related Add-on categories in AMO |
Content handling
P1
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| CON-001a | Support web services as MIME type handlers | Dan Mosedale | ||
| CON-002a | Needs def | Should be able to play all popular media formats when plugins/codecs are installed | ||
| CON-002b | Needs def | It should be easy to locate and install missing plugins | ||
| CON-002d | Needs def | Support all media types on all platforms as best we can | ||
| CON-003a | Simplify content handling UI | Dan Mosedale |
P2
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| CON-001b | Minimize/remove local MIME type database for local applications | Dan Mosedale | ||
| CON-002c | Needs def | Identify ways to mitigate plugin crashes | ||
| CON-003b | Create an easy-to-use MIME type handling configuration system | Dan Mosedale | ||
| CON-004a | Needs def | Revised downloads manager | Dan Mosedale | |
| CON-005b | Easier retrieval of files that a user has downloaded in the past | Dan Mosedale | ||
| CON-006a | Integrate download manager with third-party virus scanners and malware protection | Dan Mosedale | ||
| CON-007a | Support pause/resume for downloads. Improve download handling across multiple sessions | Dan Mosedale | ||
| CON-008a | At risk | Create document-parsing framework for detecting microformats | ||
| CON-008b | At risk | Create API for developers to leverage the microformat detection framework |
P3
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| CON-001c | At risk | Properly handle streaming content types - embedded or handed off to a helper app | ||
| CON-003c | At risk | Ability to show or sniff content on demand and view in plaintext or HTML or other format instead | ||
| CON-005c | At risk | Simplified (not window) UI for managing downloads | ||
| CON-007b | At risk | Download manager can be extended in a way that feels tightly integrated | ||
| CON-009a | At risk | Display microformats in content area | ||
| CON-009b | At risk | Allow user to configure microformat handlers | ||
| CON-009c | At risk | Support hCard, hCal, and geo | ||
| CON-009e | At risk | Allow web developers to override microformat display attributes | ||
| CON-010a | At risk | Simplify the print preview dialog |
Distribution
P1
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| DIST-001a | Smooth upgrade while retaining branding customizations | Dan Mills | ||
| DIST-001b | Ability to lock in branding (cannot be uninstalled easily) | Dan Mills |
Gecko/Platform
P1
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| GKO-004a | Pass ACID 2 test | David Baron | ||
| GKO-007a | Add UI elements for enabling offline app usage | Chris Double | ||
| GKO-007b | Add backend elements for offline app support | Chris Double | ||
| GKO-008a | Cairo graphics | Vlad Vukicevic | ||
| GKO-008b | Cocoa widgets on Mac | Josh Aas | ||
| GKO-008c | Linking Content/Chrome Frame Trees | Robert O'Callahan | ||
| GKO-008g | nxTextFrame migration to Thebes | Robert O'Callahan | ||
| GKO-008h | Frame Display Lists | Robert O'Callahan | ||
| GKO-009c | Caret painting rewrite | Blake Kaplan | ||
| GKO-013a | P3? | Language-agnostic DOM | ||
| GKO-015a | Cross-domain XMLHttpRequest | Jonas Sicking | ||
| GKO-016b | Killing nested event queues | Shebs ?? | ||
| GKO-016c | Graydon's Cycle Collector | Graydon/Peterv |
P2
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| GKO-001a | At risk | Printed pages should break without breaking lines | ||
| GKO-001b | At risk | Print layout and preview layout should look identical | ||
| GKO-001c | At risk | Print layout should be zoomed/cropped to fit desired page size | ||
| GKO-001d | At risk | Printed material should match user expectations | ||
| GKO-002a | At risk | Change "Do you want to resend the request?" dialog to an error page | ||
| GKO-002b | At risk | Form content management, loss prevention | ||
| GKO-005a | Save web pages as PDF documents | Stuart Parmenter | ||
| GKO-006a | Native form controls and HTML content for Mac OS | Josh Aas | ||
| GKO-008d | Hoist plugins to toplevel children | Robert O'Callahan | ||
| GKO-008e | Widget removal | Robert O'Callahan | ||
| GKO-008f | View Removal | Robert O'Callahan | ||
| GKO-009a | Fix units in Gecko | Eli Friedman | ||
| GKO-009b | P1? | Reflow branch | David Baron | |
| GKO-012a | No Go | JavaScript 2 | Brendan, Graydon | |
| GKO-016e | Cache item pinning for offline support | Dave Camp | ||
| GKO-018 | Support for Quartz Netscape Plugin API (NPAPI) |
P3
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| GKO-003a | At risk | Provide infrastructure for and extensible Web page archiving system | ||
| GKO-009d | Residual style handling | Blake Kaplan | ||
| GKO-010a | XUL Transform support | Vlad Vukicevic | ||
| GKO-011a | No Go | XBL2 | Jonas Sicking | |
| GKO-014a | At risk | SVG as image format | ||
| GKO-016a | At risk | Firefox on XULRunner (and shipping XULRunner platform) | Benjamin Smedberg | |
| GKO-016d | At risk | XPCOM restart in-process | Benjamin Smedberg | |
| GKO-016f | At risk, Needs def | Offline web browsing | Dave Camp, Robert O'Callahan | |
| GKO-017a | At risk | ATK support rearchitecture | Stan Shebs? | |
| GKO-017b | At risk | Mac OS X accessibility support | Aaron Leventhal? |
User support
P1
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| HELP-002b | Make it easier for users to solve their problems and engage with our support community | |||
| HELP-003a | Make it easier to get rapid feedback on problems being encountered by users |
P2
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| HELP-001a | Need def | Improve the user support environment from beginning to end | ||
| HELP-002a | At risk | Support reporting multiple types of problems | ||
| HELP-002c | At risk | Recommend relevant documentation/information to user when a problem is submitted | ||
| HELP-003b | Provide some sort of feedback/information/status to people who have reported issues | |||
| HELP-004a | Better integration with online, real-time support resources | |||
| HELP-005a | At risk | Context sensitive help: Topics should be immediately relevant to users |
P3
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| HELP-006a | Showcase breadth of customization updates |
OS platform integration
P1
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| OSPI-001a | At risk | Build system should create a MSI/MSP bundle (Windows only) | ||
| OSPI-002a | Collect crash stack data and report it to central server | Ted Mielczarek | ||
| OSPI-002b | Improve usability of crash report UI | Ted Mielczarek | ||
| OSPI-004a | At risk | Integrate with Windows Vista parental controls | Doug Turner |
P2
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| OSPI-001b | At risk | Version detection for Windows - Vista vs XP since we may want to have a different theme for each. Installation configuration piece | ||
| OSPI-005a | Growl alert notifications for Mac OS X | Shawn Wilsher | ||
| OSPI-006a | At risk, Need help | When logging out in Linux it crashes Firefox - it doesn't quit, it just dies, also true with Windows | ||
| OSPI-007a | At risk | Support ATK (accessibility API) on Linux | ||
| OSPI-008a | At risk | Support IAccessible 2 on Windows |
P3
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| OSPI-003a | At risk | Allow IT administrators to create group profile policies via the Windows Group Policy Object (GPO) |
Password, Identity
P1
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| PASS-001a | Only let the user save hte password after they know the login has succeeded | Justin Dolske | bug 226735 | |
| PASS-001b | Store more precise UIRs for autofilling user IDs and passwords | Justin Dolske | [bug 360493? |
P2
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| PASS-001c | Improve usefulness of password manager | Justin Dolske | ||
| PASS-001d | Improve discoverability of autofill UI for multiple accounts on the same site | Justin Dolske | bug 376668 | |
| PASS-001e | Improve the way password lists are sorted and add the ability to search or filter | Justin Dolske | bug 376682 | |
| PASS-001f | Improve usability of password manager list | Justin Dolske | bug 376682 | |
| PASS-001g | Simplify and promote the use of Master Password | Justin Dolske | ||
| PASS-002a | At risk | Support Microsoft CardSpace on Windows | Justin Dolske | |
| PASS-002b | At risk | Support OpenID | Justin Dolske | |
| PASS-003a | Generate hashed passwords for increased security (ref: pwdhash) | Justin Dolske, Robert Sayre | bug 376674 | |
| PASS-003c | OS-level secure password storage integration | Justin Dolske | bug 106400 |
P3
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| PASS-002c | At risk | Provide a simple identity management UI | ||
| PASS-003b | At risk | Out-of-band login support | Robert Sayre |
Places
P1
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| PLCS-001a | Provide platform support to enable syncing of Places datamodel objects to a remote server | Places Team | ||
| PLCS-001c | Provide platform support to support generic annotations | Places Team | ||
| PLCS-001d | Ensure that Places includes a usable and robust API for extensibility | Places Team | ||
| PLCS-002a | Unified user interface that improves the usability and discoverability of features | Places Team | ||
| PLCS-002b | Parity with Firefox 2 Bookmarks/History UI | Places Team | ||
| PLCS-003a | Protection and safeguarding against data loss | Places Team | ||
| PLCS-003b | Bookmark data is never lost between browsing sessions | Places Team | ||
| PLCS-003c | Provide backup and restore functionality for bookmarks | Places Team | ||
| PLCS-005a | Improve performance (as measured by memory use, transactional speed, and Ts) of bookmark and history storage and retrieval operations | Places Team |
P2
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| PLCS-001b | Build a sync client on the new sync infrastructure | Places Team | ||
| PLCS-002c | Provide some UI that allows users to mark a URI as "interesting" | Places Team | ||
| PLCS-002d | Provide some UI that allows users to annotate a URI with tags | Places Team | ||
| PLCS-003d | Make it easy for users to export their bookmarks for use in another application | Places Team | ||
| PLCS-004a | Index web page content into a DB that can be queried | Places Team | ||
| PLCS-004b | Allow users to search on all available URI metadata | Places Team |
P3
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| PLCS-002e | At risk | Provide some UI that allows users to annotate a URI with free-form notes | ||
| PLCS-004c | At risk | Support SQL queries of the bookmarks database in the Error Console |
Security, Privacy
P1
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| SPI-001a | Better UI indication of encryption, identity, previous interaction/knowledge of site and security/privacy context | Johnathan Nightingale | bug 377076 | |
| SPI-001b | Support website identity validation mechanism (ref: EV Certificates) | Johnathan Nightingale | ||
| SPI-001g | Simplify dialogs around certificate errors | Johnathan Nightingale | ||
| SPI-001i | Chromeless popup windows should have some forced chrome | Johnathan Nightingale | ||
| SPI-003b | At risk | Countermeasures for Java/plugin/extension vulnerabilities (disable, warn, offer updates) | jst? fx team? | |
| SPI-003c | Content restriction - Allow web authors to restrict scripts in headers | Jonas and Sayre? |
P2
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| SPI-001d | User should be able to determine the "identity" of a website when that information is available | Johnathan Nightingale | bug 377076 | |
| SPI-001e | Provide UI for displaying summary of security signals | Johnathan Nightingale | bug 377076 | |
| SPI-001f | Simplify the UI around presenting certificates | Johnathan Nightingale | ||
| SPI-001h | Improve dialogs/alerts related to security | Johnathan Nightingale | bug 377076 | |
| SPI-001j | Unify terminology and metaphors for "blocked malicious content" | Johnathan Nightingale | ||
| SPI-002a | At risk | Create a "private browsing mode" for Firefox - local client only | ||
| SPI-002b | At risk | Indicate privacy status in primary UI | ||
| SPI-003a | Blacklisting of malicious websites | Tony Chang | ||
| SPI-003d | Tighten the same-origin policy for local files (file: URLs, trusted, security) | DVeditz | ||
| SPI-003f | At risk | Extend Phishing Protection to include malware sites and Add-ons |
P3
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| SPI-001c | At risk | Indicate security and privacy status in secondary UI | ||
| SPI-002c | At risk | create pluggable architecture that supports private browsing | ||
| SPI-003e | At risk | Content restriction - Everything else involved with the content restriction proposal | ||
| SPI-003g | At risk | Sanitizing content sinks for full content, not just fragments |
Search
No P1s
P2
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| SRCH-001b | Support search engine shortcut keys | Gavin Sharp | ||
| SRCH-001c | Needs def | Rich search results | Gavin Sharp | |
| SRCH-001d | Resizable search bar | Neil Deakin |
P3
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| SRCH-001a | At risk | Easy-to-understand UI | ||
| SRCH-002a | At risk | Ability to declare a default search engine | ||
| SRCH-002b | At risk | Ability to use a temporary search engine and then restore the default |
Tabbed browsing
P1
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| TAB-006a | Data-loss issue related to tabs/windows |
P2
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| TAB-001a | At risk | Quickly group similar tabs together | ||
| TAB-002a | At risk | Quickly find the tab you're looking for | ||
| TAB-003a | At risk | Tear-off tabs (80% solution) | ||
| TAB-003d | At risk | Improve discoverability and usability of undo close tab | ||
| TAB-004d | Scrolling through tabs on tabstrip animation | Michael Ventor |
P3
| ID | Status | Requirement | Assignee | Bug/Design links |
|---|---|---|---|---|
| TAB-003b | At risk | Try to do more intelligent things with the Tab title space | ||
| TAB-003c | At risk | Resizable tabs | ||
| TAB-004a | At risk | Transitioning between tabs animation | ||
| TAB-004b | At risk | Opening/closing tabs animation | ||
| TAB-004c | At risk | Reordering tabs animation | ||
| TAB-005a | At risk | Add a pref to allow users to stop animations and plugins on background tabs | ||
| TAB-005b | At risk | Improve user control over undo close tab and session history |