Firefox3/Firefox Requirements: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
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 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.

Revision as of 20:01, 12 January 2007

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


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.