Firefox3/Firefox Requirements: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
m (use {{TALKPAGENAME}} instead of hardcoding the wrong talk page)
 
(104 intermediate revisions by 37 users not shown)
Line 1: Line 1:
{{Firefox3}}
<div style="border: thin dotted #aaa; padding:5px;">
<div style="border: thin dotted #aaa; padding:5px;">
'''Please do not edit these pages without permission of the Gran Paradiso steering group. Your feedback and comments are welcomed on the [[Talk:Firefox3/PRD|discussion page]].'''</div>
'''Please do not edit these pages without permission of the Gran Paradiso steering group. Your feedback and comments are welcomed on the [[{{TALKPAGENAME}}|discussion page]].'''</div>


:
'''If you're looking for the detailed PRD feature list, the new wiki version is here: [[Firefox3/Product Requirements Document|Firefox 3 PRD]]


=='''Gran Paradiso Product Planning Doc''' *DRAFT*==
=='''Gran Paradiso Product Planning Doc''' *DRAFT*==
====Document History====
====Document History====
1/1/07 - Wiki-version imported from .doc/.xls working documents (v4a/b from 12/22/06)
* 1/1/07 - Wiki-version imported from .doc/.xls working documents (v4a/b from 12/22/06)
* 1/10/07 - Created Functional Requirement (FR)/Non-FR segregation
* 1/17/07 - Revised Cross-cutting concerns section
* 1/19/07 - Added System Requirements, Platform Support, Locale Support sections
* 1/19/07 - Added "Testability" to Cross-cutting concerns section
* 1/23/07 - Removed references to Win 95/98/ME from System Requirements and Platform Support
* 1/25/07 - Added two bullets to "Testability" section at timr's request, final wording pending review
* 1/26/07 - Replaced "Big Feature List" with link to "Detailed Feature List" spreadsheet
* 2/6/07 - Modified System Requirements as per developer review in #granparadiso
* 2/6/07 - Modified Platform Support section after developer review - still under review
* 2/21/07 - Updated Locales list with most recent information - still under review
* 3/06/07 - Added links to Excel formats of PRD spreadsheet (autogenerated so they stay in sync)
* 4/2x/07 - Wikified the spreadsheet and changed the links from this document to point to the wiki version of the detailed requirements


====Purpose====
====Purpose====
Line 13: Line 27:
The intended audience for this document is the community involved in designing, developing, testing and managing the release of the product as well as partners and third-party developers who are building software that extends Gran Paradiso.
The intended audience for this document is the community involved in designing, developing, testing and managing the release of the product as well as partners and third-party developers who are building software that extends Gran Paradiso.


All press inquiries should be directed to [http://www.mozilla.com/press/ the Mozilla Press Centre].
All press inquiries should be directed to [http://www.mozilla.com/press/ the Mozilla Press Center].


====Definitions====
====Definitions====
Line 35: Line 49:
| D
| D
| ''Deleted'' - Requirements that have been deleted from the product roadmap.
| ''Deleted'' - Requirements that have been deleted from the product roadmap.
|-
|- valign="top"
| <font color="grey">Px
| <font color="grey">Px
| ''Px'' - Requirements that are proposed but have not yet been approved.</font>
| ''Px'' - Requirements that are proposed but have not yet been approved.</font>
|- valign="top"
|<br>
|<br>
|-
|-
|FR
| Functional requirement - Requirements define the internal workings, behavior or functionality
|- valign="top"
|NFR
| Non-Functional requirement - Requirements which impose constraints on the design or implementation (such as performance, security, quality standards, or design constraints).
|- valign="top"
|}
|}


====Project Documentation====
[Image:fx3-doc-tree.png]
[File:Fx3BigFeatures v5.xls]


[File:Fx3ProductPlan v4.doc]
[File:Fx3ProductDetail v1.doc]


==Gran Paradiso Plan==
==Gran Paradiso Plan==
Line 110: Line 126:


===Observations &amp; Assumptions===
===Observations &amp; Assumptions===
* Apple will have Safari on Windows with likely ties to iTunes & .Mac
* WebKit may be ported to Windows
* Microsoft will continue to establish deeper ties from IE7/Vista to live.com &amp; MSN
* Microsoft will continue to establish deeper ties from IE7/Vista to live.com &amp; MSN
* One or more Web service providers may introduce their own browsing solution that ties with their services
* One or more Web service providers may introduce their own browsing solution that ties to their services
* Opera will continue to operate in a niche environment
* Opera will continue to operate in a niche environment


Firefox will win because:
=== Firefox competes because ===
* Users and developers love the extensions and customization available for Firefox
* Users and developers love the extensions and customization available for Firefox
* Perception of fast & slim. For AJAX apps, we are faster
* Perception of fast & slim. For AJAX apps, we are faster.
* Perception of security and safety
* Perception of security and safety
* WebDev segment love the product for its web compatibility and standards compliance
* WebDev segment love the product for its web compatibility and standards compliance
Line 158: Line 174:
* {Selected at-par features}
* {Selected at-par features}


==Cross-Cutting Concerns &amp; Fundamentals==
== System Requirements ==
The following areas were deemed as fundamentals or cross-cutting concerns for all Firefox features. Each feature area should consider impact and orientation with respect to these.
''These requirements are not final and are subject to change pending review.''


====Security====
The following are the minimum system requirements needed to run Firefox 3.
What are the security implications of this feature. Conduct a security review.


====Performance====
=== Windows ===
How does this feature impact various performance metrics and resource usage
* OS Compatibility: Microsoft Windows 2000, Windows XP or Windows Vista
* 128 MB of RAM
* 100 MB of free disk space


====Web Content Compatibility====
=== Mac ===
* OS Compatibility: Mac OS X 10.4 or higher, Mac OS X Leopard
* 256 MB of RAM
* 150 MB of free disk space


====Search====
=== Linux ===
* OS Compatibility: Linux kernel 2.2.14 or higher
* The following libraries or services:
** glibc 2.3.2
** XFree86-3.3.6
** gtk+2.0
** fontconfig/xft
** libstdc++5
* 256 MB of RAM
* 100 MB of free disk space


====Global Audience (L10N/I18N)====
== Platform Support ==
''These requirements are '''not final''' and are '''subject to change''' pending review.''


====Customization====
{| width="100%" cellpadding="3"
User-facing personalization
|-
| style="background-color: #efefef;" colspan="3" | '''Platform Support'''
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef;"| '''Item'''
|-
| P1 || Windows Vista
|-
| P1 || Windows XP
|-
| P1 || Windows 2000
|-
| P1 || Mac OS X 10.3.9+ (Universal Binary only)
|-
| P2 || Linux variants
|-
|}


====Reliability/Stability====
== Locale Support ==
''These requirements are not final and are subject to change pending review.''


====Extensibility====
{| width="100%" cellpadding="3"
Developer facing/API's
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef;"| '''Item'''
|-
| style="background-color: #efefef;" colspan="3" | '''Tier 1'''
|-
| P1 || English (en-US)
|-
| P1 || English (en-GB)
|-
| P1 || Chinese (zh-CN)
|-
| P1 || French (fr)
|-
| P1 || German (de)
|-
| P1 || Japanese (ja)
|-
| P1 || Polish (pl)
|-
| P1 || Spanish (es-ES)
|-
| style="background-color: #efefef;" colspan="3" | '''Tier 2'''
|-
| P1 || Chinese (zh-TW)
|-
| P1 || Czech (cs)
|-
| P1 || Danish (da)
|-
| P1 || Dutch (nl)
|-
| P1 || Finnish (fi)
|-
| P1 || Hungarian (hu)
|-
| P1 || Italian (it)
|-
| P1 || Korean (ko)
|-
| P1 || Portuguese (pt-BR)
|-
| P1 || Russian (ru)
|-
| P1 || Spanish (es-AR)
|-
| P1 || Swedish (sv-SE)
|-
| P1 || Turkish (tr)
|-
| style="background-color: #efefef;" colspan="3" | '''Tier 3'''
|-
| P2 || Afrikaans (af-ZA)
|-
| P2 || Albanian (sq)
|-
| P2 || Arabic (ar)
|-
| P2 || Armenian (hy-AM)
|-
| P2 || Basque (eu)
|-
| P2 || Belarusian (be) - Review
|-
| P2 || Bulgarian (bg)
|-
| P2 || Catalan (ca)
|-
| P2 || Frisian (fy)
|-
| P2 || Gaelic (ga-IE)
|-
| P2 || Georgian (ka) - Review
|-
| P2 || Greek (el)
|-
| P2 || Gujarati (gu)
|-
| P2 || Hebrew (he)
|-
| P2 || Kurdish (ku) - Review
|-
| P2 || Lithuanian (lt)
|-
| P2 || Macedonian (mk)
|-
| P2 || Mongolian (mn)
|-
| P2 || Norwegian - Bokmål (nb)
|-
| P2 || Norwegian - Nynorsk (nn)
|-
| P2 || Portuguese - Portugal (pt-EU)
|-
| P2 || Punjabi (pa)
|-
| P2 || Romanian (ro)
|-
| P2 || Slovak (sk)
|-
| P2 || Slovenian (sl)
|-
| P2 || [need to add any highly desirable but would not hold initial release for]
|-
|}
 
==Cross-Cutting Concerns &amp; Fundamentals==
The following areas were deemed as fundamentals or cross-cutting concerns for all Firefox features. Each feature area should consider impact and orientation with respect to these.
 
Please conduct the following review for each new or modified feature in Firefox 3.  A feature is not considered complete until this review has been finished.
 
Checklist:


====Privacy====
=== Customization ===
* Does not interfere with customization options of other features.
* Has all the customization options it needs.
* All customization options are necessary and useful.
* Has been reviewed by the UI/UE team.


====Distribution====
=== Distribution ===
Do we need to allow distro partners to customize or change settings associated with this feature/area
* Does not impact existing or future Firefox distributions.
* Offers appropriate configuration options for distribution customization.
* Does not need to be more flexible to facilitate custom distributions.
* Has been reviewed by the Distributions team.


==Detailed Feature Plan==
=== Extensibility ===
''Based upon shared document from Google cut-and-pasted here as of 12-21-2006 5:30PM - http://docs.google.com/Doc?id=dcpjg7kv_5fxpxtv''
* Does not limit or interfere with existing extensibility.
* Adequately supports Add-ons development and extensibility.
* Has been reviewed for extensibility impact and potential.
* Has been reviewed by the XUL/Add-ons team.


===Functional Requirements &amp; Tasks===
=== Global audience ===
''S/M/L indicate rough engineering estimate of difficulty and work required, in order to aid in planning.''
* Meets all i18n/l10n requirements.
* Has been properly internationalized. Is localizable.
* Has been reviewed by the i18n/l10n teams.
* Does not negatively impact accessibility.
* Has been reviewed by the Accessibility team.
* For web sites/partners
** Which site should we integrate to?
** Do we have legal permission to do so?
** what happens if that permission is revoked?
** What's the estimated load on a site?
** How often does the feature try to get which data?
** Does it lower traffic demands when the site goes down? (e.g. feeds don't)


====P1s====
=== Performance ===
* L - Improve Addon extension install experience (needs more detail)
* Performance metrics have been discussed, agreed upon, and recorded.
* S - Unified addon prefs in Prefs Dialog
* Does not have a negative impact on overall Firefox performance.
* S - Addon manager UI improvements (buttons in different places, right-click menu move to buttons, etc.)
* If performance impact is unavoidable, that impact is within a set and agreed upon range.
* L - Extensible bookmarks back-end platform (robust-> protects against bookmark loss)
* Optimized as much as possible to improve overall performance.
* M - Web application content handling support
* Performance tests have been run and verified by QA.
* M - Robust plugin support for Flash, Acrobat, WMV, Quicktime, Java (needs more detail)
* M - Improved Printing Support
* M - MSI Install on Windows
* M - Password Manager / Identity Manager (?) redesign (needs more detail)
* L - Security / Privacy Context UI redesign (the lock icon sucks; needs more detail)
* M - Airbag (needs min requirement to be defined)
* L - Improve the support environment from beginning to end (more details required)
* ? - UI re-design: Extension Install
* ? - UI re-design: Password / Identity Manager
* ? - UI re-design: Security/Privacy Context


====P2s====
=== Privacy ===
* L - Built-in support for password hash
* Does not negatively impact Firefox's privacy features.
* M - Private Browsing Mode
* Has been reviewed by the Privacy team.
* S - Save as PDF
* L - Malicious site blacklisting (the malware thing)
* M - Real pause/resume in Download Manager
* L - Framework for microformat detection
* M - Detection of common microformats (hCard, hCal)
* M - Application handling of microformats
* M - Hooks to support some identity management solution (cardspace/sxip/openID/AOL namespace/passport/LibertyAlliance :-)
* M - Move Help content to web
* ? - UI re-design: Bookmarks Manager
* ? - UI re-design: Download Manager


====P3s====
=== Reliability/Stability ===
* M - Bookmarks Manager redesign (needs more detail)
* Does not negatively impact reliability.
* M - Download Manager redesign (needs more detail)
* Has been designed to ensure potential data loss is minimized upon crash or other catastrophic failure.
* M - MacOS X Keychain integration
* Has been reviewed for potential reliability/stability issues.
* Full-text indexing and search of history (might be P2, but there are a lot of int'l issues that are big unknowns)
* Reliability and stability have been reviewed and tested by QA.
* Extension install without restart
* Single-file Page Storage (like MHTML, but different -- is pinning things in the cache enough, and making a list available? -- is print to PDF enough?)
* Handling of back/forward with POST (get rid of the "Do you want to resend the request dialog?" and go back to cached data)
* Out-of-band login support
* Pluggable identity mgmt mechanism framework (needs more detail)
* Context-sensitive help throughout app
* One-off searches with specialized search engines (e.g. searching with IMDB without making it your default search engine)
* Vista Parental Controls support
* Tab Grouping
* Tab Expose
* Windows Group Policy support


===Non-functional Requirements &amp; Tasks===
=== Search ===
* Peformance evaluation and test suite
* Has been reviewed to absolutely ensure that there is no negative impact on Search features.
* Potential impact on Search has been thoroughly reviewed by the Products team.


===Investigation===
=== Security ===
* Does not negatively impact existing security features or code.
* Has been reviewed by the Security team.


====Needs Immediate Investigation for Scoping/Definition====
=== Testability ===
* Low Rights Mode (probably not feasible) (need to find out about feasibility and decide if this is Moz1.9 or Moz2)
* Feature has been designed with testing in mind.
* Identity Management and how it may intersect with Password Management
* Automated testing is possible.
* Define minimum requirements for Airbag
* Unit tests have been written.
* Define minimum requirements for "improving the support environment"
* Sufficient hooks for event synthesis have been added.
* Define minimum requirements Privacy/Security context UI
* QA team has been consulted about existing and possible additional testing subfeatures.


====Pending Evaluation====
=== Web content compatibility ===
* Add-on Security model
* Does not negatively impact web content compatibility.
* Ability to discover add-ons, ease of adoption, supportability
* Does not cause layout regressions.  Has passed regression testing.
* Form content mgmt, loss prevention
* Has been reviewed by the Layout team.
* Revised Security Context UI
* Revised First Run Experience
* Showcase breadth of ways to show all customization
* TTS/Screenreader support
* Cairo interaction - visual momentum


==Appendix 1 - Big Feature List==
=== Final review ===
<table>
* Has been reviewed by Products team.
<tr height=15>
* Has been reviewed by UI/UE team.
  <td height=15 class=xl25 width=60>'''Target'''</td>
* Has been fully tested by QA.
  <td class=xl25 width=150>'''Category'''</td>
  <td class=xl25 width=343>'''Functional Area'''</td>
  <td class=xl26 width=49>'''Priority'''</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Addons</td>
  <td class=xl27>Improve addon install experience</td>
  <td class=xl24 width=49>P1</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Addons</td>
  <td class=xl27>Improve preference management for addons</td>
  <td class=xl24 width=49>P1</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Addons</td>
  <td class=xl27>Revised Addons management</td>
  <td class=xl24 width=49>P1</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Bookmarks</td>
  <td class=xl27>Revised Bookmark Manager</td>
  <td class=xl29 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Bookmarks</td>
  <td class=xl27>Extensibility platform (with sync support)</td>
  <td class=xl29 width=49>P1</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>History</td>
  <td class=xl27>Revised History Solution</td>
  <td class=xl29 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Content Handling</td>
  <td class=xl27>Config UI for application integration</td>
  <td class=xl24 width=49>P1</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Content Handling</td>
  <td class=xl27>Fx be able to display common content such as Flash, Acrobat,
  Java, WM</td>
  <td class=xl24 width=49>P1</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Printing</td>
  <td class=xl27>Revise printing experience</td>
  <td class=xl24 width=49>P1</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl28>Installation &amp; Auto-Update</td>
  <td class=xl27>Vista-compatibility for installation</td>
  <td class=xl24 width=49>P1</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Privacy</td>
  <td class=xl27>Private browsing mode</td>
  <td class=xl24 width=49>P1</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Phishing Protection</td>
  <td class=xl27>Add Malware protection</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Addons</td>
  <td class=xl27>Addons Security</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl28>Security</td>
  <td class=xl27>Low Rights Mode</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Addons</td>
  <td class=xl27>Ability to discover addons</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Content Handling</td>
  <td class=xl27>Snapshoting or hiving of pages</td>
  <td class=xl24 width=49>P3</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Content Handling</td>
  <td class=xl27>Revised Download Manager</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Content Editing</td>
  <td class=xl27>Form content management, prevent loss</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Microformats</td>
  <td class=xl27>Detect &amp; display microformats</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Microformats</td>
  <td class=xl27>Configure application handlers for microformat data</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl28>Localization</td>
  <td class=xl27>Ensuring all critical areas of browser are localization-ready</td>
  <td class=xl24 width=49>P1</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl28>Password &amp; Identity Mgmt</td>
  <td class=xl27>Revised Password Manager</td>
  <td class=xl24 width=49>P1</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl28>Password &amp; Identity Mgmt</td>
  <td class=xl27>Identity Mgmt solution, e.g. OpenID, CardSpace</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl28>Security</td>
  <td class=xl27>Revised Security Context UI</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl28>Stability</td>
  <td class=xl27>Airbag</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl28>Support &amp; Help</td>
  <td class=xl27>New support mechanism and help system</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl28>Usability/UI Improvements</td>
  <td class=xl27>Revised First Run Experience</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl28>Customization</td>
  <td class=xl27>Showcase breadth of ways to show all customizations</td>
  <td class=xl24 width=49>P3</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Parental Controls</td>
  <td class=xl27>Parental Controls Support</td>
  <td class=xl24 width=49>P3</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl28>Support &amp; Help</td>
  <td class=xl27>Context Sensitive</td>
  <td class=xl24 width=49>P3</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl28>Support &amp; Help</td>
  <td class=xl27>Help should be hosted</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Search</td>
  <td class=xl27>Enhancement to Search</td>
  <td class=xl24 width=49>P3</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Tabbed Browsing</td>
  <td class=xl27>Enhancements to Tabbed Browsing</td>
  <td class=xl24 width=49>P3</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Accessibility</td>
  <td class=xl27>TTS/Screenreader support</td>
  <td class=xl24 width=49>P3</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>End User</td>
  <td class=xl27>Visual Playfulness</td>
  <td class=xl27>Cairo inteactions - visual momentum</td>
  <td class=xl24 width=49>P3</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Developers</td>
  <td class=xl28>Web Standards &amp; Compatibility</td>
  <td class=xl28>CSS 2.1</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Developers</td>
  <td class=xl28>Web Standards &amp; Compatibility</td>
  <td class=xl28>SVG/Canvas</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Developers</td>
  <td class=xl28>Web Standards &amp; Compatibility</td>
  <td class=xl28>Gecko 1.9 for standards support and room for performance
  improvements</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Developers</td>
  <td class=xl28>Web Standards &amp; Compatibility</td>
  <td class=xl28>Reflow branch for xxxx</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Developers</td>
  <td class=xl28>Web Standards &amp; Compatibility</td>
  <td class=xl28>Layout mods (roc) for xxxx</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Developers</td>
  <td class=xl28>Web Standards &amp; Compatibility</td>
  <td class=xl28>EV Certs</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Developers</td>
  <td class=xl28>Web Standards &amp; Compatibility</td>
  <td class=xl28>Cairo mods for better more native MacOS look and feel</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Developers</td>
  <td class=xl28>Web Developer Tools</td>
  <td class=xl27>Add new microformat detectors</td>
  <td class=xl24 width=49>P3</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Developers</td>
  <td class=xl28>Web Developer Tools</td>
  <td class=xl27>Register new microformat handlers</td>
  <td class=xl24 width=49>P3</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Developers</td>
  <td class=xl28>Web Standards &amp; Compatibility</td>
  <td class=xl27>ACID 2</td>
  <td class=xl24 width=49>P3</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Distributors</td>
  <td class=xl28>Browser Customization</td>
  <td class=xl27>Lock in branding, cannot uninstall</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Distributors</td>
  <td class=xl28>Browser Customization</td>
  <td class=xl27>Smooth upgrade while retaining branding customizations</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Enterprises</td>
  <td class=xl28>Installation &amp; Auto-Update</td>
  <td class=xl27>Windows MSI package support</td>
  <td class=xl24 width=49>P2</td>
</tr>
<tr height=12>
  <td height=12 class=xl27>Enterprises</td>
  <td class=xl28>Management</td>
  <td>Windows Group Policy support</td>
  <td class=xl24 width=49>P2</td>
</tr>
</table>


<div style="border: thin dotted #aaa; padding: 10px;">
==Detailed Feature Plan==
'''Please do not edit these pages without permission of the Gran Paradiso steering group. Your feedback and comments are welcomed on the [[Talk:Firefox3/PRD|discussion page]].''' 
 
</div>
Our Detailed Feature Plan is available here: [[Firefox3/Product Requirements Document|Firefox 3 PRD]].


==Milestones==
==Milestones==
Line 583: Line 428:
| A2
| A2
| 3.0a2 - Gran Paradiso Alpha 2  
| 3.0a2 - Gran Paradiso Alpha 2  
|- valign="top"
| A3
| 3.0a3 - Gran Paradiso Alpha 3
|- valign="top"
| A4
| 3.0a4 - Gran Paradiso Alpha 4
|- valign="top"
| A5
| 3.0a5 - Gran Paradiso Alpha 5
|- valign="top"
| A6
| 3.0a6 - Gran Paradiso Alpha 6
|- valign="top"
| A7
| 3.0a7 - Gran Paradiso Alpha 7
|- valign="top"
| A8
| 3.0a8 - Gran Paradiso Alpha 8
|- valign="top"
|- valign="top"
| B1
| B1
| 3.0b1 - Gran Paradiso Beta 1
| 3.0b1 - Firefox 3 Beta 1
|- valign="top"
|- valign="top"
| B2
| B2
| 3.0b2 - Gran Paradiso Beta 2
| 3.0b2 - Firefox 3 Beta 2
|- valign="top"
| B3
| 3.0b3 - Firefox 3 Beta 3
|- valign="top"
| B4
| 3.0b4 - Firefox 3 Beta 4
|- valign="top"
| B5
| 3.0b5 - Firefox 3 Beta 5
|}
|}
'''''Note:''' Milestone targets are included in this document for initial planning purposes, authoratative landing targets will continue to be held per individual bug, and the latest tracking status for each feature area will be listed in the [[Firefox3/Status|most recent status meeting minutes]].''


'''''Note:''' Milestone targets are included in this document for initial planning purposes, authoratative landing targets will continue to be held per individual bug, and the latest tracking status for each feature area will be listed in the [[Firefox3/Status|most recent status meeting minutes]].''
<div style="border: thin dotted #aaa; padding: 10px;">'''Please do not edit these pages without permission of the Gran Paradiso steering group. Your feedback and comments are welcomed on the [[Talk:Firefox3/PRD|discussion page]].'''</div>

Latest revision as of 09:33, 11 November 2009

« Firefox3

Please do not edit these pages without permission of the Gran Paradiso steering group. Your feedback and comments are welcomed on the discussion page.

If you're looking for the detailed PRD feature list, the new wiki version is here: Firefox 3 PRD

Gran Paradiso Product Planning Doc *DRAFT*

Document History

  • 1/1/07 - Wiki-version imported from .doc/.xls working documents (v4a/b from 12/22/06)
  • 1/10/07 - Created Functional Requirement (FR)/Non-FR segregation
  • 1/17/07 - Revised Cross-cutting concerns section
  • 1/19/07 - Added System Requirements, Platform Support, Locale Support sections
  • 1/19/07 - Added "Testability" to Cross-cutting concerns section
  • 1/23/07 - Removed references to Win 95/98/ME from System Requirements and Platform Support
  • 1/25/07 - Added two bullets to "Testability" section at timr's request, final wording pending review
  • 1/26/07 - Replaced "Big Feature List" with link to "Detailed Feature List" spreadsheet
  • 2/6/07 - Modified System Requirements as per developer review in #granparadiso
  • 2/6/07 - Modified Platform Support section after developer review - still under review
  • 2/21/07 - Updated Locales list with most recent information - still under review
  • 3/06/07 - Added links to Excel formats of PRD spreadsheet (autogenerated so they stay in sync)
  • 4/2x/07 - Wikified the spreadsheet and changed the links from this document to point to the wiki version of the detailed requirements

Purpose

This document sets out the feature set, product requirements and prioritization for the development and release of Firefox 3, code-named "Gran Paradiso", presently under development with an expected release in Q3 2007.

The intended audience for this document is the community involved in designing, developing, testing and managing the release of the product as well as partners and third-party developers who are building software that extends Gran Paradiso.

All press inquiries should be directed to the Mozilla Press Center.

Definitions

Priority Description
P1 Mandatory - The set of features required as a minimum for this release to be complete. The 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.
D Deleted - Requirements that have been deleted from the product roadmap.
Px Px - Requirements that are proposed but have not yet been approved.


FR Functional requirement - Requirements define the internal workings, behavior or functionality
NFR Non-Functional requirement - Requirements which impose constraints on the design or implementation (such as performance, security, quality standards, or design constraints).


Gran Paradiso Plan

Release Objectives

Some of the key goals for Gran Paradiso include:

  • Continue to increase usage share and broaden the Firefox audience
  • Offer the best user experience
  • Remain true to open source, be dedicated to ensuring “choice and innovation”
  • Be a platform for community developers, companies and others
  • Be the most secure browser choice

Guiding Principles

The goal of the Firefox project is to deliver the best possible browsing experience to the widest possible set of people.

We aim to do this in part by:

  • Delivering the right set of features - not too many or too few. (The goal is to create a useful browser, not a minimal browser.)
  • Making as few compromises as possible where user experience is concerned. (We will not compromise the main line UI to placate an element of the community.)
  • Develop and maintain an extension system to allow for research into new areas without affecting the core and to allow for techies, early adopters, Web developers and other specific communities to customize their browsers to suit their specific needs without affecting usability or download size for the mass market.
  • Retaining a tight command and control hierarchy. UI design is not a committee driven process. Application design must be nimble and testing is better than discussion, so we'll make changes quickly and then get them to people so that we can refine them based on observation of "real" user interactions.
  • Deliver software for Windows, Mac OS X and Linux, with the goal of integrating as slickly as possible into each of those systems.
  • Be, if possible, a vehicle for emerging Mozilla platform APIs including XULRunner, which will allow application developers a means to deploy useful software to people that is not necessarily tied to a particular operating system.

(Adapted from Ben Goodger's Firefox Development Charter, November 28, 2004.)

Audience

There are 4 target sets of users for Gran Paradiso: End Users, Developers, Distributors and Enterprise Users. Note that End Users include a variety of personas that should be identified.

Appearing below are value statements for each target user set, in order or priority for this release.

End Users

  • For the general consumer
  • Who accesses the web
  • Firefox is a web browser
  • That provides the best user experience
  • Unlike Microsoft Internet Explorer, Opera and Apple Safari
  • Our product is open, secure, intuitive, customizable, privacy-sensitive and innovative

Developers

  • For content producers, software companies and web application developers
  • Who want to deliver services and innovate on the web
  • Firefox is a web browser with a highly extensible platform
  • That provides the most flexible, easy-to-try, standards-compliant? architecture
  • Unlike Microsoft Internet Explorer (and associated Windows technologies)
  • Our product offers the most open, secure, standards compliant and easy-to-implement environment

Distributors

  • For potential distributors such as search engines, portals, ISPs, ISVs, web sites, PC OEMs and companies, member organizations or affinity groups
  • Who wish to expand the reach of their services or engage their community
  • Firefox is a web browser with flexible customization and distribution capabilities
  • That provides the most straightforward, easy-to-use toolkit and business terms
  • Unlike Microsoft Internet Explorer/IEAK
  • Our product is {TBD}

Enterprise Users

  • For the enterprise user
  • Who accesses the web
  • Firefox is a web browser
  • That provides the best user experience from a corporate environment
  • Unlike Microsoft Internet Explorer, Opera and Apple Safari
  • Our product is the most open, secure, standards compliant, intuitive and innovative browser

Observations & Assumptions

  • WebKit may be ported to Windows
  • Microsoft will continue to establish deeper ties from IE7/Vista to live.com & MSN
  • One or more Web service providers may introduce their own browsing solution that ties to their services
  • Opera will continue to operate in a niche environment

Firefox competes because

  • Users and developers love the extensions and customization available for Firefox
  • Perception of fast & slim. For AJAX apps, we are faster.
  • Perception of security and safety
  • WebDev segment love the product for its web compatibility and standards compliance
  • Developer tools and support
  • Brand value and open source (Participatory culture and community ownership model – by the Web, for the Web)

Release Roadmap

  • Issue one major release every year (Fx 3 in 2007, Fx 4 in 2008, etc.) since it helps drive upgrades and adoption
  • Target Gran Paradiso for Q3/Q4 2007
  • Mozilla 2 will take 2 years to bake and stabilize so target it for Fx 4
  • Since Firefox 2 did not include platform upgrades need to get Gecko 1.9/Cairo out the door
  • Need approximately one year to help define, build and deliver Gran Paradiso
  • First alpha should include at minimum all platform pieces (Gecko, cycle collector, reflow branch, etc.) and selected features
  • {Strongly consider} options to do more as incremental updates, e.g. Extension Packs, Fx 2.5, Fx 3.5, etc.

High-Level Feature Plan

The proposed major theme for Gran Paradiso is “improved information and content management” {TODO: needs better wording}. This is the area that we’ll do the most innovation in. Gran Paradiso will continue to improve in areas where we’ve traditionally been strong in: security, usability, extensibility and customization, performance, web standards and compatibility.

Features for Gran Paradiso will fall into one of the following categories.

For Users

  • Information Management includes Bookmarks, History, Content Handling, Content Editing, Printing and Microformats
  • Security including Privacy, Phishing Protection, Addons and Password Management
  • Usability/UI Improvements including Search, Tabbed Browsing, OS Integration & Accessibility
  • Customization - ability to discover and manage addons
  • Performance - how fast Firefox operates
  • Localization - operating in non US English
  • Installation & Auto-Update
  • Support & Help

For Developers

  • Web Standards & Compatibility (e.g. ACID2, CSS2.1, SVG via Gecko 1.9, EV certs, etc.)
  • Web Developer Tools
  • Extension Developer Tools

For Distributors

  • Browser Customization

For Enterprises

  • {Selected at-par features}

System Requirements

These requirements are not final and are subject to change pending review.

The following are the minimum system requirements needed to run Firefox 3.

Windows

  • OS Compatibility: Microsoft Windows 2000, Windows XP or Windows Vista
  • 128 MB of RAM
  • 100 MB of free disk space

Mac

  • OS Compatibility: Mac OS X 10.4 or higher, Mac OS X Leopard
  • 256 MB of RAM
  • 150 MB of free disk space

Linux

  • OS Compatibility: Linux kernel 2.2.14 or higher
  • The following libraries or services:
    • glibc 2.3.2
    • XFree86-3.3.6
    • gtk+2.0
    • fontconfig/xft
    • libstdc++5
  • 256 MB of RAM
  • 100 MB of free disk space

Platform Support

These requirements are not final and are subject to change pending review.

Platform Support
Priority Item
P1 Windows Vista
P1 Windows XP
P1 Windows 2000
P1 Mac OS X 10.3.9+ (Universal Binary only)
P2 Linux variants

Locale Support

These requirements are not final and are subject to change pending review.

Priority Item
Tier 1
P1 English (en-US)
P1 English (en-GB)
P1 Chinese (zh-CN)
P1 French (fr)
P1 German (de)
P1 Japanese (ja)
P1 Polish (pl)
P1 Spanish (es-ES)
Tier 2
P1 Chinese (zh-TW)
P1 Czech (cs)
P1 Danish (da)
P1 Dutch (nl)
P1 Finnish (fi)
P1 Hungarian (hu)
P1 Italian (it)
P1 Korean (ko)
P1 Portuguese (pt-BR)
P1 Russian (ru)
P1 Spanish (es-AR)
P1 Swedish (sv-SE)
P1 Turkish (tr)
Tier 3
P2 Afrikaans (af-ZA)
P2 Albanian (sq)
P2 Arabic (ar)
P2 Armenian (hy-AM)
P2 Basque (eu)
P2 Belarusian (be) - Review
P2 Bulgarian (bg)
P2 Catalan (ca)
P2 Frisian (fy)
P2 Gaelic (ga-IE)
P2 Georgian (ka) - Review
P2 Greek (el)
P2 Gujarati (gu)
P2 Hebrew (he)
P2 Kurdish (ku) - Review
P2 Lithuanian (lt)
P2 Macedonian (mk)
P2 Mongolian (mn)
P2 Norwegian - Bokmål (nb)
P2 Norwegian - Nynorsk (nn)
P2 Portuguese - Portugal (pt-EU)
P2 Punjabi (pa)
P2 Romanian (ro)
P2 Slovak (sk)
P2 Slovenian (sl)
P2 [need to add any highly desirable but would not hold initial release for]

Cross-Cutting Concerns & Fundamentals

The following areas were deemed as fundamentals or cross-cutting concerns for all Firefox features. Each feature area should consider impact and orientation with respect to these.

Please conduct the following review for each new or modified feature in Firefox 3. A feature is not considered complete until this review has been finished.

Checklist:

Customization

  • Does not interfere with customization options of other features.
  • Has all the customization options it needs.
  • All customization options are necessary and useful.
  • Has been reviewed by the UI/UE team.

Distribution

  • Does not impact existing or future Firefox distributions.
  • Offers appropriate configuration options for distribution customization.
  • Does not need to be more flexible to facilitate custom distributions.
  • Has been reviewed by the Distributions team.

Extensibility

  • Does not limit or interfere with existing extensibility.
  • Adequately supports Add-ons development and extensibility.
  • Has been reviewed for extensibility impact and potential.
  • Has been reviewed by the XUL/Add-ons team.

Global audience

  • Meets all i18n/l10n requirements.
  • Has been properly internationalized. Is localizable.
  • Has been reviewed by the i18n/l10n teams.
  • Does not negatively impact accessibility.
  • Has been reviewed by the Accessibility team.
  • For web sites/partners
    • Which site should we integrate to?
    • Do we have legal permission to do so?
    • what happens if that permission is revoked?
    • What's the estimated load on a site?
    • How often does the feature try to get which data?
    • Does it lower traffic demands when the site goes down? (e.g. feeds don't)

Performance

  • Performance metrics have been discussed, agreed upon, and recorded.
  • Does not have a negative impact on overall Firefox performance.
  • If performance impact is unavoidable, that impact is within a set and agreed upon range.
  • Optimized as much as possible to improve overall performance.
  • Performance tests have been run and verified by QA.

Privacy

  • Does not negatively impact Firefox's privacy features.
  • Has been reviewed by the Privacy team.

Reliability/Stability

  • Does not negatively impact reliability.
  • Has been designed to ensure potential data loss is minimized upon crash or other catastrophic failure.
  • Has been reviewed for potential reliability/stability issues.
  • Reliability and stability have been reviewed and tested by QA.

Search

  • Has been reviewed to absolutely ensure that there is no negative impact on Search features.
  • Potential impact on Search has been thoroughly reviewed by the Products team.

Security

  • Does not negatively impact existing security features or code.
  • Has been reviewed by the Security team.

Testability

  • Feature has been designed with testing in mind.
  • Automated testing is possible.
  • Unit tests have been written.
  • Sufficient hooks for event synthesis have been added.
  • QA team has been consulted about existing and possible additional testing subfeatures.

Web content compatibility

  • Does not negatively impact web content compatibility.
  • Does not cause layout regressions. Has passed regression testing.
  • Has been reviewed by the Layout team.

Final review

  • Has been reviewed by Products team.
  • Has been reviewed by UI/UE team.
  • Has been fully tested by QA.

Detailed Feature Plan

Our Detailed Feature Plan is available here: Firefox 3 PRD.

Milestones

Milestone Description
A1 3.0a1 - Gran Paradiso Alpha 1
A2 3.0a2 - Gran Paradiso Alpha 2
A3 3.0a3 - Gran Paradiso Alpha 3
A4 3.0a4 - Gran Paradiso Alpha 4
A5 3.0a5 - Gran Paradiso Alpha 5
A6 3.0a6 - Gran Paradiso Alpha 6
A7 3.0a7 - Gran Paradiso Alpha 7
A8 3.0a8 - Gran Paradiso Alpha 8
B1 3.0b1 - Firefox 3 Beta 1
B2 3.0b2 - Firefox 3 Beta 2
B3 3.0b3 - Firefox 3 Beta 3
B4 3.0b4 - Firefox 3 Beta 4
B5 3.0b5 - Firefox 3 Beta 5

Note: Milestone targets are included in this document for initial planning purposes, authoratative landing targets will continue to be held per individual bug, and the latest tracking status for each feature area will be listed in the most recent status meeting minutes.

Please do not edit these pages without permission of the Gran Paradiso steering group. Your feedback and comments are welcomed on the discussion page.