Firefox2/PRD

From MozillaWiki
Jump to: navigation, search

NOTOC

<

div style="border: thin dotted #aaa; padding: 10px;"> THIS DOCUMENT IS BEING REWORKED. Product planning for Firefox 2 will take place as part of the Bon Echo Planning Center. Please do not edit this document. We are in the process of pulling forward specific sections, tracking bugs, etc. into the appropriate sections of the revised web site. Thanks.

If you are reviewing the feature set and requirements, please refer to the Requirements section of the Bon Echo Planning Center.

Feature Set

Bon Echo will retain all of the existing Firefox features, with improvements that:

These feature requirements are described in more detail below.

Release Roadmap

Bon Echo will meet the requirements of the Firefox Release Roadmap as a front-end feature release based upon the 1.8 branch of Gecko, that will preserve API capability with Firefox 1.5.

Milestones

Release Date Description
Alpha 1 March 2006 Developer Preview ("Dogfood")
  • includes new infrastructure pieces for stress testing and API feedback
  • intended for developers only, no guarantees about stability or dataloss
Alpha 2 May 2006 Feature Complete
  • all backend API/hooks are complete and being used by UI
  • UI design for features is complete
  • all new features are at least functional to the point of placeholder UI
  • intended for product testers and high-risk early adopters
cut MOZILLA_1_8_1_BRANCH, if desired (this kills MOZILLA_1_8_BRANCH)
Beta 1 June 2006 Feature Frozen
  • all feature work is complete, including UI
  • all strings are complete and available for l10n to start
  • intended for beta users
Beta 2 July 2006 Product Frozen
  • based on feedback from Beta 1
  • all feature work is complete, including UI
  • all strings are frozen
  • intended for beta users
RC 1 August 2006 Release Candidate
  • based on bugfixes from Beta 2
  • should represent final product
  • intended for wide audience of early adopters
RC 2 August 2006 Release Candidate (if needed)
  • based on bugfixes from RC 1
  • should represent final product
  • intended for wide audience of early adopters
FX 2 August 2006 Final Release
  • based on bugfixes from RC 2

Priorities

# Priority Description
P1 Mandatory Product will not ship without these.
P2 Highly Desirable A key feature that will make the product more complete, has great benefits to the end-user and major strategic impact.
P3 Nice to Have Lowest priority feature that may be incorporated, dropping first in favour of delivering P2 items.
P4 Future Intended for future release, included as they may influence design decisions and should be associated with the roadmap.
P5 Deleted Requirements that have been deleted from the product roadmap.

Product Requirements

Ownership & Change Management

Discussion about product management for Bon Echo will take place in the Bon Echo steering committee (which is an open subscription mailing list).

The Bon Echo PRD is maintained by the Product Management Team, including Ben Goodger, Christopher Beard, Mike Beltzner, and Mike Connor who work together with the Bon Echo steering committee and product team to deliver the overall product, defining content, prioritizing features and co-ordinating product delivery within the context of the Mozilla project.

Any proposed changes to these feature level requirements should be written up and submitted to the Bon Echo steering committee for discussion, and the Product Management team will make the appropriate changes to this document.

To nominate a bug that is not directly related to any of the requirements listed below as one that should be fixed as part of the Bon Echo project, mark it as blocking-firefox2? or blocking1.8.1? depending on the module.

Release Criteria

Requirements for release of Bon Echo are:

  • all P1 product requirements are complete
  • no functional regressions from Firefox 1.5
  • no performance regressions from Firefox 1.5
  • full QA testing has been completed on the release candidate code
  • all bugs marked blocking-firefox2+/? or blocking1.8.1+/? have been resolved
  • size of Windows compressed binary is less than or equal to 4.9MB
  • l10n builds are available for Tier 1 languages
  • Sec 508 Compliance form has been completed

Cross-Feature Requirements

  • all new code must be documented on Mozilla Developer Central
  • all user interface code must meet the Mozilla Accessibility Guidelines
  • new or modified strings must be brought to the attention of localization team
  • new or modified user interface behaviour must be brought to the attention of the documentation team
  • all bugs must be marked with their target milestone and assigned prioritization
  • any bug that blocks completion of a P1 product requirement should be marked either blocking-firefox2+ or blocking1.8.1+
  • any bug that significantly affects quality, stability or performance should be marked either blocking-firefox2? or blocking1.8.1?

Visual Refresh

Feature Manager: beltzner

Bon Echo will update its appearance to look and feel like a modern native application on all platforms. Incremental polish and refinement to the user interface will focus on improving the usability and accessibility of primary product features.

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="5" Chrome Polishing
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" assigned to
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | a2 || beltzner || review and simplify existing top level chrome |
-
3 | b1 || beltzner || consistent terminology and layout in dialogs |
-
3 | b1 || beltzner || eliminate unneccessary dialogs & UI pieces |
-
style="background-color: #efefef;" colspan="5" Theme Polishing
-
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | a2 || sgarrity || new icons for new features |
-
1 | b1 || sgarrity || new icons for all themes |
-
1 | a2 || vlad || ensure that NSITheme supports Windows Vista API |
-
1 | b1 || sgarrity || polish winstripe based on Windows Vista |
-
2 | b1 || sgarrity || polish pinstripe based on OS X 10.4 |
-
3 | b1 || sgarrity || polish gnomestripe based on Gnome |
-
}

Bookmarks and History

Bon Echo will modernize its data model to extend capabilities around synchronizing, storing and retrieving bookmark and history data and meta data. The existing bookmarks UI will be preserved, but augmented to facilitate ease of management, searching, and indexing of web browsing history and sites of interest.

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="5" Places
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | a1 || ben || implement new data storage layer using SQLlite with no impact to performance (startup, page load, new window times) |
-
1 | a2 || ben || parity with Firefox 1.x bookmark access points in toolbars and menus |
-
1 | a2 || ben || parity with existing management methods using drag and drop, clipboard, property editing, etc. |
-
1 | b1 || ben || easy way to add bookmarks through main browser UI |
-
2 | a1 || ben || import existing bookmarks and history from Mozilla profiles |
-
2 | a2 || ben || fast & easy search through bookmarks and history in main browser UI |
-
2 | a2 || ben || export bookmarks to standard format that can be imported by IE, Opera, Fx1.x |
-
2 | a2 || ben || developer API to access bookmarks and allow services to act as bookmark sources |
-
3 | a2 || ben || advanced management and search capabilities for history and bookmarks |
-
3 | b1 || ben || live bookmarks aggregation through "subscriptions" folder |
-
3 | a2 || ben || optional ability to annotate bookmarks and history with tags, notes, arbitrary metadata |
-
}

User Experience

Bon Echo will improve on the web browsing experience with enhancements to tabs, and the ability to restart the browser without losing state. It will also address many frequently raised usability issues to streamline the overall user experience.

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="5" Tabbed Browsing
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | a1 || mconnor || fix HTML target="" bugs for tabbed browsing |
-
1 | a1 || mconnor || UI for handling tab overflow |
-
1 | b1 || mconnor || default destination for new window links is new tabs |
-
1 | a1 || mconnor || improve discoverability and usability of close tab button |
-
1 | a1 || mconnor || implement heuristic for tab close selection behaviour to match user expectations |
-
2 | a2 || mconnor || UI for re-opening accidentally closed tabs |
-
2 | a2 || mconnor || UI for managing multiple tabs (preview, switching, etc) |
-
2 | b1 || beltzner || usabilty study on close tab buttons |
-
4 | b1 || mconnor || visual animation enhancements for tab re-ordering, preview, etc |
-
4 | b1 || mconnor || ability to tear off tabs |
-
style="background-color: #efefef;" colspan="5" Session Restore
-
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | a2 || dietrich || restore session after an application forced restart |
-
2 | a2 || dietrich || restore session after a crash |
-
3 | a2 || dietrich || option to allow advanced users to always restore session after normal shutdown |
-
style="background-color: #efefef;" colspan="5" Spell Check
-
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | a2 || cbeard || license requirements for english dictionary |
-
1 | b1 || cbeard || license requirements for l10n dictionaries |
-
2 | a2 || brettw || spell-as-you-type functionality for text fields |
-
}

Feeds

Bon Echo will make it easier for users to discover, preview and interact with web feeds. It will allow users to selectively view feeds with either Live Bookmarks, web applications, Extensions or standalone applications.

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="5" Feed Handling and Parsing
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
2 | a1 || ben || new RSS/Atom feed parser based on ... |
-
2 | a2 || ben || content sniffing to detect when content served as XML or text is actually a feed |
-
2 | a2 || ben || consistent user experience for previewing, handling & subscribing to feeds when user clicks on links or chrome that lead to feeds (ie: via feed://, link-rel or content sniffing) |
-
2 | a2 || ben || ability to subscribe to feeds using client app or web service |
-
3 | b1 || ben || developer APIs to access to feed content in format-agnostic fashion and feed parser |
-
3 | b1 || ben || content-area preview of XML-RSS/XML-Atom content |
-
style="background-color: #efefef;" colspan="5" User Interface Requirements
-
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
2 | a2 || ben || low-bar pretty-printing for RSS/Atom that displays content (images, sound files, movie files, text) in a human-readable format |
-
3 | a2 || ben || chrome priveledged controls for adding/handling feed subscriptions to bookmarks |
-
}

Extensions

Bon Echo will make it easier for users to add, remove, and configure Extensions. It will also provide a mechanism to protect users from potentially malicious or dangerous third-party Extensions.

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="5" User Interface Requirements
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
2 | a2 || rstrong || new add-ons manager that consolidates and simplifies managament (adding, removing, updating, disabling) themes and extensions || bug 329045
-
2 | a2 || rstrong || improve visibility of notification when extension updates are available || bug 307358
-
2 | a2 || rstrong || automatic extension updates |
-
2 | a2 || rstrong || more undestandable extension installation and update dialogs || bug 308916
-
3 | a2 || rstrong || add path into extension options from browser options |
-
5 | a2 || rstrong || password lockdown for extension installation |
-
style="background-color: #efefef;" colspan="5" Extension Blocklisting
-
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | a1 || rstrong || capability to enable, disable, and block installation of extensions based on a blocklist || bug 318338
-
1 | a1 || rstrong || new UI to indicate when an extension has been disabled & why || bug 329045
-
1 | a1 || justin || server-side resources for hosting the blocklist || bug 290759
-
1 | b1 || cbeard || policy and criteria for disabling and re-enabling extensions |
-
style="background-color: #efefef;" colspan="5" Locale Packs
-
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
2 | a2 || rstrong || support for extensions that provide l10n to applications or extensions || bug 285848
-
2 | a2 || rstrong || UI indication for extensions that have locale packs associated with them || bug 329045
-
}

Search

Bon Echo will modernize the search plugin specification to provide enhanced compatibility and extensibility. It will also make it easier for users to manage their search plugins.

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="5" User Interface Requirements
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | a2 || gavin || UI for adding and removing search plugins || bug 232272
-
2 | a2 || gavin || tool for restoring default search plugins |
-
2 | a2 || gavin || shadow text in search bar ("Search with Google") || bug 258672
-
2 | a2 || gavin || resizable search box || bug 205011
-
2 | a2 || gavin || support for multiple search boxes |
-
style="background-color: #efefef;" colspan="5" Searchplugins
-
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
2 | a1 || gavin || new XML based data model for search plugins || bug 317107
-
2 | a1 || gavin || import for Open Search format || bug 317107
-
2 | a1 || gavin || import for Sherlock format|| bug 317107
-
2 | a2 || gavin || API for type-ahead find search results |
-
2 | a2 || gavin || API for adding search engines, including JS methods |
-
2 | a2 || gavin || discovery of searchplugins using the <link rel> tag |
-
3 | a2 || gavin || auto-discovery of search plugins |
}

Distribution Support

Bon Echo will include new and enhanced capabilities that will facilitate customization, installation and life cycle support for multiple distribution channels.

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="5" Installer
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
2 | a2 || rstrong || move to NSIS installer || bug 326580
-
3 | a2 || rstrong || have installer only fetch app-extensions for advanced options when selected during install |
-
style="background-color: #efefef;" colspan="5" EULA
-
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | a2 || cbeard || must display EULA on install or on first run when install was silent or when browser was pre-loaded|
-
style="background-color: #efefef;" colspan="5" Distribution Channel Support
-
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | a2 || rstrong || mechanism for building co-branded builds for partner distributions |
-
1 | a2 || schrep || enhancements to software update infrastructre to support N distributions |
-
2 | a2 || cbeard || ability to select & install phishing protection extensions during installation |
-
2 | a2 || cbeard || ability to select & install phishing protection extensions on first run |
-
2 | a2 || cbeard || ability to bundle phishing protection extensions |
-
}

Infrastructure & Performance

Bon Echo will be optimized and tuned for general web browsing use cases.

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="5" Performance
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
2 | b1 || graydon? || no regressions in web compatibility |
-
2 | b1 || graydon? || improve memory usage by 10% |
-
2 | b1 || graydon? || no regressions in browsing speed / page load times |
-
style="background-color: #efefef;" colspan="5" Gecko 1.9 Platform Uplift
-
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | b1 || shaver || all security patches from gecko 1.9
-
2 | b1 || shaver || small, safe, but important gecko 1.9 patches
-
style="background-color: #efefef;" colspan="5" Instrumentation
-
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
2 | a2 || bryner || data model for user interface instrumentation |
-
2 | a2 || bryner || API and hooks to instrument user interface |
-
2 | a2 || bryner || UI to enable/disable instrumentation |
-
2 | a2 || justin || server-side infrastructure to collect data from instrumented builds |
-
}

Security

Bon Echo will act as a trusted friend, facilitating as safe and secure browsing experience as possible.

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="5" Phishing Protection
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | a2 || TBD || basic in-browser phishing protection |
-
1 | a2 || TBD || bundling or installation wizard to integrate enhanced phising protection |
-
1 | a2 || TBD || API for phishing protection extensions to use |
-
style="background-color: #efefef;" colspan="5" SSL
-
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
1 | a1 || beltzner || disable by default SSL2 and weak ciphersuites |
-
3 | a2 || beltzner || improve UI for SSL/security information |
-
3 | a2 || beltzner || APIs for 3rd party extensions to provide enhanced security mechanisms |
-
}

Documentation

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="5" End-User Documentation
style="background-color: #efefef; width: 20px" p
style="background-color: #efefef; width: 20px" m
style="background-color: #efefef;" implementation owner
style="background-color: #efefef;" item
style="background-color: #efefef;" bug
-
3 | a2 || justin || move existing help system to a web-accessible location |
-
3 | a2 || mconnor || reduce in-product help content to minimum amount required |
-
3 | a2 || mconnor || replace existing help UI with rich UI that brings user to online help |
-
4 | -- || mconnor || enhance online help system to be community edited, collect metrics and feedback from users |
}