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 | |||
ADD-006a | Ship the FUEL JavaScript library |
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) | |||
GKO-019 | Support for ContentEditable |
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 | bug 337344 | |
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-001k | Enhanced Security Tab in Page Info | Johnathan Nightingale | bug 377076 | |
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 |