Visit Mozilla.org

Firefox3/Feature Plan Template

From MozillaWiki

Contents

Status [edit]

Feature tracking bug
  • bug xxxxx
  • any other high-level tracking bugs can be listed here

Has a design review been completed? When do you anticipate the feature landing Any relevant status comments for the feature can be placed here.


Overview [edit]

Describe the goals and objectives of the feature here.

Use Cases [edit]

Describe the primary use cases for the feature here.

Requirements [edit]

List functional and non-functional requirements for the feature here, with links back to any relevant product PRD. These requirements should be prioritized.

Schedule [edit]

Describe the rough schedule here, linking back to relevant product release milestones, as well as linking to any build/release notes.

UI Design Documentation [edit]

use cases and expected user knowledge (terminology, metaphors, etc) design mockups (of whatever fidelity is easiest) links to relevant user data, bugs, reports, examples, etc

Design Impact [edit]

Security and Privacy [edit]

  • What security issues do you address in your project?
  • Is system or subsystem security compromised in any way if your project's configuration files / prefs are corrupt or missing?
  • Include a thorough description of the security assumptions, capabilities and any potential risks (possible attack points) being introduced by your project.

Exported APIs [edit]

  • Please provide a table of exported interfaces (APIs, ABIs, protocols, UI, etc.)
  • Does it interoperate with a web service? How will it do so?
  • Explain the significant file formats, names, syntax, and semantics.
  • Are the externally visible interfaces documented clearly enough for a non-Mozilla developer to use them successfully?
  • Does it change any existing interfaces?

Web Compatibility [edit]

  • Does the feature had any impact on Web compatibility?

Performance [edit]

  • How will the project contribute (positively or negatively) to "perceived performance"?
  • What are the performance goals of the project? How were they evaluated? What is the test or reference platform and baseline results?
  • Will it require large files/databases (for example, browsing history)?

Reliability [edit]

  • What failure modes or decision points are presented to the user?
  • Can its files be corrupted by failures? Does it clean up any locks/files after crashes?

l10n and a11y [edit]

  • are any strings being changed or added?
  • are all UI elements available through accessibility technologies?

Installation, Upgrade/Downgrade/Sidegrade, and platform requirements [edit]

  • Does it equally support all Tier-1 platforms?
  • Does is have a hardware requirement (or increase minimum requirements)?
  • Does it require changes to the installer?
  • Does it impact updates?
  • list the expected behavior of this feature/function when Firefox is upgraded to a newer minor release, downgraded by installation of an earlier revision, or re-installed (same version)

configuration [edit]

  • Can the end user configure settings, via a UI or about:config? Hidden prefs? Environment variables?
  • Are there build options for developers? [#ifdefs, ac_add_options, etc.]
  • What ranges for the tunable are appropriate? How are they determined?
  • What are its on-going maintenance requirements (e.g. Web links, perishable data files)?

Relationships to other projects - are there related projects in the community? [edit]

  • If so, what is the proposal's relationship to their work? Do you depend on others' work, or vice-versa?
  • Are you updating, copying or changing functional areas maintained by other groups? How are you coordinating and communicating with them? Do they "approve" of what you propose?

Documentation [edit]

  • Do built-in Help pages need modified?
  • Documentation for developer.mozilla.org?

Other [edit]

any other implementation or design related documentation

Discussion & Implications [edit]

Caveats / What We've Tried Before [edit]

links to previous design documents, discussions, etc.

References [edit]

links to external documents that could inform the design of the feature