Firefox2/Requirements

From MozillaWiki
Jump to: navigation, search

NOTOC

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

Requirements

Overview

This document sets out the feature set, product requirements and prioritization for the development and release of Firefox 2, code-named "Bon Echo", presently under development with an expected release in Q3 2006.

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 Bon Echo.

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

Priorities

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 <thead> </thead> <tbody> </tbody>
Deleted - Requirements that have been deleted from the product roadmap.
Px
Tentative - Requirements that are proposed but have not yet been approved
-
}

Milestones

Milestone Description
A1 2.0a1 - Bon Echo Alpha 1
A2 2.0a2 - Bon Echo Alpha 2
B1 2.0b1 - Bon Echo Beta 1
B2 2.0b2 - Bon Echo 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.

Feature Areas

Visual Refresh

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="3" Chrome Polishing
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A2 || review and simplification of existing top level chrome
-
P3 | B1 || use of consistent terminology and layout in dialogs
-
P3 | B1 || elimination of unneccessary dialogs & UI
-
style="background-color: #efefef;" colspan="3" Theme Polishing
-
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A2 || new icons for new features
-
P1 | B1 || new icons for all themes
-
P1 | A2 || NSITheme support for Windows Vista API
-
P1 | B1 || polish winstripe based on Windows Vista
-
P2 | B1 || polish pinstripe based on OS X 10.4
-
P3 | B1 || 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.

note: as announced in mozilla.dev.planning, the bookmark and history rewrite has been deprioritized and is no longer targeted at the Bon Echo release.

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="3" Places
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P4 | Fx3 || new data storage layer using SQLlite with no impact to performance (startup, page load, new window times)
-
P4 | Fx3 || parity with Firefox 1.x bookmark access points in toolbars and menus
-
P4 | Fx3 || parity with existing management methods using drag and drop, clipboard, property editing, etc.
-
P4 | Fx3 || easy method for end-users to add bookmarks through main browser UI
-
P4 | Fx3 || ability to import existing bookmarks and history from existing Firefox profiles
-
P4 | Fx3 || developer API to access bookmarks and allow services to act as bookmark sources
-
P4 | Fx3 || fast & easy search through bookmarks and history in main browser UI
-
P4 | Fx3 || advanced management and search capabilities for history and bookmarks
-
P4 | Fx3 || ability to import existing bookmarks and history from Mozilla
-
P4 | Fx3 || export bookmarks to standard format that can be imported by IE, Opera, Fx1.x
-
P4 | Fx3 || support for rendering a bookmark as a microsummary (from definition provided in page content or as defined in an extension)
-
P4 | Fx3 || live bookmarks aggregation through "subscriptions" folder
-
P4 | Fx3 || optional ability to annotate bookmarks and history with tags, notes, arbitrary metadata
-
P4 | Fx3 || mechanism to allow users to generate microsummary definitions
}

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="3" General UI
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A1 || fixes for HTML target="" bugs for tabbed browsing
-
P1 | B1 || improved UI for handling tab overflow
-
P1 | B1 || set default destination for new window links is new tabs
-
P1 | A1 || improved discoverability and usability of close tab button
-
P1 | A1 || heuristic for tab close selection behaviour to match user expectations
-
P1 | B1 || conduct and incorporate feedback from usabilty study on close tab buttons
-
P2 | A2 || add UI for re-opening accidentally closed tabs
-
P2 | A2 || add UI for managing multiple tabs (preview, switching, etc)
-
P2 | A2 || support for multiple infobars (.showMessage calls) on a tab/page
-
P3 | A2 || indication in primary UI of content detected in page (media, microformats, semantic content, etc)
-
P3 | A2 || ability to reset all preferences / profile options including default bookmarks and search engines
-
P4 | B1 || add visual animation enhancements for tab re-ordering, preview, etc |
-
P4 | B1 || add ability to tear off tabs
-
style="background-color: #efefef;" colspan="3" Session Restore
-
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A2 || restore session after an application forced restart
-
P2 | A2 || restore session after a crash (that avoids a crash-restart-crash loop)
-
P2 | B1 || API allowing extensions to contribute items to be saved/restored across sessions
-
P3 | A2 || option to allow advanced users to always restore session after normal shutdown
-
style="background-color: #efefef;" colspan="3" Spell Check
-
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P2 | A2 || spell-as-you-type functionality for text fields
-
P2 | A2 || identify and meet license requirements to bundle english dictionary
-
P2 | B1 || identify and meet license requirements to provide secondary distribution of l10n dictionaries
-
P3 | B1 || identify and meet license requirements to bundle l10n dictionaries
-
}

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="3" Feed Handling and Parsing
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A2 || content sniffing to detect when content served as XML or text is actually a feed
-
P1 | A2 || consistent user experience for previewing, handling & subscribing to feeds
-
P2 | A2 || ability to subscribe to feeds using client app or web service
-
P2 | B1 || developer APIs to access to feed content in format-agnostic fashion and feed parser
-
P3 | B1 || content-area preview of XML-RSS/XML-Atom content
-
style="background-color: #efefef;" colspan="3" User Interface Requirements
-
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P2 | A2 || low-bar pretty-printing for RSS/Atom that displays content (images, sound files, movie files, text) in a human-readable format
-
}

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="3" User Interface Requirements
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P2 | A2 || improve extension management experience to simplify tasks of adding, removing, updating, disabling and configuring extensions
-
P2 | A2 || primary UI indication of when extension updates are available
-
P2 | A2 || better detection of extension updates during automatic application updates
-
P2 | A2 || simplify extension installation and update dialogs
-
D | A2 || password lockdown for extension installation
-
style="background-color: #efefef;" colspan="3" Extension Blocklisting
-
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A1 || capability to enable, disable, and block installation of extensions based on a blocklist
-
P1 | A1 || mozilla.com server-side resources for hosting the blocklist
-
P1 | B1 || policy and criteria for disabling and re-enabling extensions
-
style="background-color: #efefef;" colspan="3" Locale Packs
-
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A2 || support for extensions that provide l10n to applications or extensions
-
}

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="3" User Interface Requirements
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A2 || UI for managing search plugins
-
P2 | A2 || ability to restoring default search plugins
-
P2 | A2 || improve discoverability of search chrome
-
P2 | A2 || resizable search box and reordering search plugins
-
P3 | A2 || support for multiple search boxes
-
P3 | A2 || combine bookmark keywords and bookmark search
-
style="background-color: #efefef;" colspan="3" Searchplugins
-
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A1 || new XML based data model for search plugins
-
P2 | A1 || import for Sherlock format
-
P2 | A1 || import for subset of Open Search format
-
P2 | A2 || API for type-ahead find search results
-
P2 | A2 || API for adding search engines, including JS methods
-
P2 | A2 || discovery of searchplugins using the <link rel> tag
-
P3 | a2 || 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="3" Installer
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P2 | A2 || move to NSIS installer
-
P3 | A2 || have installer only fetch app-extensions for advanced options when selected during install
-
style="background-color: #efefef;" colspan="3" EULA
-
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A2 || must display EULA on install or on first run when install was silent or when browser was pre-loaded
-
style="background-color: #efefef;" colspan="3" Distribution Channel Support
-
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A2 || mechanism for building custom branded or themed builds for partner distributions
-
P1 | A2 || enhancements to software update infrastructre to support N distributions
-
P4 | B1 || MSI distribution
}

Infrastructure & Performance

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

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="3" Performance
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | B1 || improve memory usage
-
P2 | B1 || no unplanned regressions in web compatibility
-
P2 | B1 || no regressions in browsing speed / page load times
-
style="background-color: #efefef;" colspan="3" Gecko 1.9 Platform Uplift
-
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | B1 || security patches from gecko 1.9
-
P2 | B1 || other small, safe, but important gecko 1.9 patches (tbd by schrep, brendan and shaver)
-
style="background-color: #efefef;" colspan="5" Instrumentation
-
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P2 | A2 || open and documented data structure for browser performance instrumentation
-
P2 | A2 || UI to enable/disable instrumentation
-
P2 | A2 || server-side infrastructure to collect data from instrumented builds
-
P3 | A2 || API and hooks to collect metrics from extensions
-
}

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="3" Phishing Protection
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A2 || in-browser phishing protection that provides warnings
-
P1 | A2 || bundling or installation wizard to integrate enhanced phishing protection
-
P2 | A2 || API for phishing protection extensions to use in order to provide consistent and best possible user experience
-
style="background-color: #efefef;" colspan="3" SSL
-
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | A1 || remove SSL2 and weak ciphersuites
-
P3 | A2 || enable ECC (requires NSS 3.11 snapshot)
-
P3 | A2 || improve UI for SSL/security information
-
}

Documentation

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="3" End-User Documentation
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P3 | A2 || reduce in-product help content to minimum amount required, moving remainder to web-accessible location
-
P3 | A2 || replace existing help UI with rich UI that brings user to online help
-
P4 | -- || enhance online help system to be community edited, collect metrics and feedback from users
}

Platform Support

<thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" colspan="3" Platform Support
style="background-color: #efefef; width: 20px" Priority
style="background-color: #efefef; width: 20px" Milestone
style="background-color: #efefef;" Item
-
P1 | -- || Windows Vista
-
P1 | -- || Windows XP
-
P1 | -- || Windows 2000
-
P1 | -- || Windows ME
-
P1 | -- || Mac OS X 10.2+ (Universal Binary)
-
P1 | -- || Red Hat Linux
-
P2 | -- || All other Linux variants
-
}

Locale Support

Priority Milestone <thead> </thead> <tbody> </tbody>
style="background-color: #efefef;" Item
style="background-color: #efefef;" colspan="3" Tier 1
-
P1 | -- || English (en-US)
-
P1 | -- || English (en-GB)
-
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-CN)
-
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 | -- || Catalan (ca)
-
P2 | -- || [need to add any highly desirable but would not hold initial release for]
-
}