Firefox3/Firefox Requirements: Difference between revisions
m (→Observations & Assumptions: Changed "Firefox will win because" to "Firefox competes because" - we are not trying to "win" anything, just serve our users as best as possible.) |
|||
Line 126: | Line 126: | ||
* Opera will continue to operate in a niche environment | * Opera will continue to operate in a niche environment | ||
Firefox | 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. |
Revision as of 20:01, 12 January 2007
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
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). |
Project Documentation
[Image:fx3-doc-tree.png]
[File:Fx3BigFeatures v5.xls]
[File:Fx3ProductPlan v4.doc]
[File:Fx3ProductDetail v1.doc]
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}
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.
Security
What are the security implications of this feature. Conduct a security review.
Performance
How does this feature impact various performance metrics and resource usage
Web Content Compatibility
Search
Global Audience (L10N/I18N)
Customization
User-facing personalization
Reliability/Stability
Extensibility
Developer facing/API's
Privacy
Distribution
Do we need to allow distro partners to customize or change settings associated with this feature/area
Detailed Feature Plan
Functional Requirements & Tasks
S/M/L indicate rough engineering estimate of difficulty and work required, in order to aid in planning.
P1/MANDATORY Features
- Improve Add-On install experience
- FR: Add-On can be installed in fewer than 3 mouse clicks
- NFR: simplify XPI Install dialogs and user interactions
- NFR: simplify user interaction with whitelist
- Improve Add-On configuration experience
- FR: allow Add-On configuration UI to be accessed from main application configuration UI
- NFR: improve discoverability of Add-On configuration UI
- Improve Add-On management experience
- FR: add visual indication when Add-On Updates are present to browser UI
- FR: add permanent button for restarting firefox
- FR: expose all hidden functionality such as "Find Update"
- NFR: improve usability of Add-On Manager
- NFR: simplify language and unify terminology
- Provide an extensible bookmarks back-end platform
- FR: ability to synchronize bookmarks with remote service
- FR: generic annotation system for extensibility
- FR: protection and safeguarding against data loss
- FR: improve search, retrieval and startup performance
- FR: allow users to annotate bookmarks and history
- NFR: usable and robust API for extensibility
- Improve content handling, add support for web services to act as content handlers
- FR: support web services as MIME type handlers
- FR: remove local MIME type database for local applications
- NFR: simplify content handling UI
- NFR: easy to use configuration of MIME type handling in application configuration UI
- Robust plugin support for Flash, Acrobat, WMV, Quicktime, Java
- FR: should be able to play all popular media formats when plugins/codecs are installed
- FR: embedded rich content areas should function when plugins are installed
- FR: missing plugins should be able to be located and installed
- NFR: plugin crashes should not crash the entire application
- Improved Printing Support
- FR: pages should break without dividing paragraphs
- FR: print layout should look like rendered layout
- FR: preview should look like print layout
- FR: layout should be zoomed/cropped to fit desired page size
- NFR: simpler print preview dialog
- NFR: printed material should match user expectations
- Provide MSI install bundle (Windows only)
- FR: build system should create .msi bundle
- Improve Password Manager, add identity management
- FR: support Microsoft CardSpace
- FR: support OpenID
- FR: do not offer to remember passwords when login fails
- FR: store more precise URIs for autofilling userIDs and passwords
- NFR: simple identity management configuration UI
- NFR: compatibility with OS level identity management options
- NFR: improve usefulness of password manager
- NFR: improve usability of autofill UI
- Security / Privacy Context UI redesign (the lock icon sucks; needs more detail)
- FR: support website identity validation mechanism (ref: EV Certificates)
- FR: indicate security and privacy status in secondary UI
- FR: alert user when they are providing information on a suspicious website
- NFR: user should be able to determine "identity" of website when that information is available
- NFR: user should be able to investigate signals of website trustworthiness
- NFR: better UI indication of encryption, identity, previous interaction/knowledge of site, overall level of trust in site
- Airbag
- FR: collect crash stack data and report to central server
- NFR: improve usability of crash report UI
- Improve the user support environment from beginning to end
- FR: support reporting multiple types of problems through reporter
- NFR: make it easier for users to solve their problems and engage with our support community
- NFR: make it easier to get rapid feedback on problems being encountered by our users
P2/HIGHLY DESIRABLE Features
- Improve password security for users
- FR: generate hashed passwords for increased security (ref: psswdhash)
- NFR: as usable as normal password management/entry
- Private web browsing
- FR: create a "private browsing mode" for Firefox
- FR: indicate privacy status, exchange of personal information in primary UI
- NFR: should not interfere with normal browsing mode
- Web page archiving
- FR: save web pages as PDF documents
- FR: integrate with user history to allow for easy retrieval
- Blacklisting of malicious web sites
- FR: extend Phishing Protection to include malware sites and Add-Ons
- NFR: unify terminology and metaphors for "blocked malicious content"
- Improve download handling across multiple sessions
- FR: support pause/resume for downloads
- Microformat detection framework
- FR: create document parsing framework for detecting microformats
- FR: create API for developers to leverage this framework
- Microformat handling
- FR: display microformats in content area
- FR: allow user to configure microformat handlers
- FR: support hCard, hCal and geo
- FR: provide API/data formats for adding additional microformat types
- FR: allow web developers to override microformat display attributes
- NFR: must not affect page load time
- Support for third-party identity management systems
- FR: provide extensible identity management API
- Move Help content to web
- FR: remove client-side documentation and replace with links to online documentation
P3/NICE TO HAVE Features
- Unified bookmark/history/subscription manager
- FR: tbd
- NFR: unified user interface that improves usability and discoverability of features
- Extended download history management
- FR: unclear
- NFR: easier retrieval of files that a user has downloaded in the past
- NFR: simplified (non-modal?) UI for managing downloads
- Keychain integration (Mac OS X only)
- FR: integrate password management with Keychain
- Full text indexing and search in user history
- FR: index web page content into DB that can be queried
- FR: provide UI for querying DB
- NFR: history search should also use full text indexes to generate results
- Install Add-Ons without interrupting browsing session
- FR: install Add-On without requiring browser restart
- Web Page Archiving
- FR: store web page content for later retrieval and viewing
- NFR: integrate with history for easy retrieval
- Context sensitive help
- NFR: help topics should be immediately relevant to users
- Handling of back/forward with POST
- FR: cache data from source of POST request
- FR: return to cached data when going back/forward across POST requests
- NFR: get rid of the "Do you want to resend the request dialog?"
- Out-of-band login support
- ??
- Support one-time search engine use
- FR: ability to declare a default search engine
- FR: ability to use a temporary search engine and then restore default
- NFR: easy to understand control mechanism
- Vista Parental Controls support (Windows only)
- FR: integrate with Windows Vista parental controls
- Tab Grouping
- NFR: quickly group like tabs together
- Tab Expose
- NFR: quickly find the tab you're looking for
- Windows Group Policy support
- NFR: allow IT Administrators to create group profile policies
LARGE UI REDESIGN AREAS
- ? - UI re-design: Extension Install
- ? - UI re-design: Password / Identity Manager
- ? - UI re-design: Security/Privacy Context
- ? - UI re-design: Bookmarks Manager
- ? - UI re-design: Download Manager
Non-functional Requirements & Tasks
- Peformance evaluation and test suite
Investigation
Needs Immediate Investigation for Scoping/Definition
- Low Rights Mode (probably not feasible) (need to find out about feasibility and decide if this is Moz1.9 or Moz2)
- Identity Management and how it may intersect with Password Management
- Define minimum requirements for Airbag
- Define minimum requirements for "improving the support environment"
- Define minimum requirements Privacy/Security context UI
Pending Evaluation
- Add-on Security model
- Ability to discover add-ons, ease of adoption, supportability
- Form content mgmt, loss prevention
- 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
Target | Category | Functional Area | Priority |
End User | Addons | Improve addon install experience | P1 |
End User | Addons | Improve preference management for addons | P1 |
End User | Addons | Revised Addons management | P1 |
End User | Bookmarks | Revised Bookmark Manager | P2 |
End User | Bookmarks | Extensibility platform (with sync support) | P1 |
End User | History | Revised History Solution | P2 |
End User | Content Handling | Config UI for application integration | P1 |
End User | Content Handling | Fx be able to display common content such as Flash, Acrobat, Java, WM | P1 |
End User | Printing | Revise printing experience | P1 |
End User | Installation & Auto-Update | Vista-compatibility for installation | P1 |
End User | Privacy | Private browsing mode | P1 |
End User | Phishing Protection | Add Malware protection | P2 |
End User | Addons | Addons Security | P2 |
End User | Security | Low Rights Mode | P2 |
End User | Addons | Ability to discover addons | P2 |
End User | Content Handling | Snapshoting or hiving of pages | P3 |
End User | Content Handling | Revised Download Manager | P2 |
End User | Content Editing | Form content management, prevent loss | P2 |
End User | Microformats | Detect & display microformats | P2 |
End User | Microformats | Configure application handlers for microformat data | P2 |
End User | Localization | Ensuring all critical areas of browser are localization-ready | P1 |
End User | Password & Identity Mgmt | Revised Password Manager | P1 |
End User | Password & Identity Mgmt | Identity Mgmt solution, e.g. OpenID, CardSpace | P2 |
End User | Security | Revised Security Context UI | P2 |
End User | Stability | Airbag | P2 |
End User | Support & Help | New support mechanism and help system | P2 |
End User | Usability/UI Improvements | Revised First Run Experience | P2 |
End User | Customization | Showcase breadth of ways to show all customizations | P3 |
End User | Parental Controls | Parental Controls Support | P3 |
End User | Support & Help | Context Sensitive | P3 |
End User | Support & Help | Help should be hosted | P2 |
End User | Search | Enhancement to Search | P3 |
End User | Tabbed Browsing | Enhancements to Tabbed Browsing | P3 |
End User | Accessibility | TTS/Screenreader support | P3 |
End User | Visual Playfulness | Cairo inteactions - visual momentum | P3 |
Developers | Web Standards & Compatibility | CSS 2.1 | P2 |
Developers | Web Standards & Compatibility | SVG/Canvas | P2 |
Developers | Web Standards & Compatibility | Gecko 1.9 for standards support and room for performance improvements | P2 |
Developers | Web Standards & Compatibility | Reflow branch for xxxx | P2 |
Developers | Web Standards & Compatibility | Layout mods (roc) for xxxx | P2 |
Developers | Web Standards & Compatibility | EV Certs | P2 |
Developers | Web Standards & Compatibility | Cairo mods for better more native MacOS look and feel | P2 |
Developers | Web Developer Tools | Add new microformat detectors | P3 |
Developers | Web Developer Tools | Register new microformat handlers | P3 |
Developers | Web Standards & Compatibility | ACID 2 | P3 |
Distributors | Browser Customization | Lock in branding, cannot uninstall | P2 |
Distributors | Browser Customization | Smooth upgrade while retaining branding customizations | P2 |
Enterprises | Installation & Auto-Update | Windows MSI package support | P2 |
Enterprises | Management | Windows Group Policy support | P2 |
Please do not edit these pages without permission of the Gran Paradiso steering group. Your feedback and comments are welcomed on the discussion page.
Milestones
Milestone | Description |
A1 | 3.0a1 - Gran Paradiso Alpha 1 |
A2 | 3.0a2 - Gran Paradiso Alpha 2 |
B1 | 3.0b1 - Gran Paradiso Beta 1 |
B2 | 3.0b2 - Gran Paradiso Beta 2 |
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.