Firefox2/Requirements: Difference between revisions

uFormat changed to microformat
(uFormat changed to microformat)
 
(20 intermediate revisions by 9 users not shown)
Line 31: Line 31:
| ''Future'' - Intended for future release, included as they may influence design decisions and should be associated with the roadmap.
| ''Future'' - Intended for future release, included as they may influence design decisions and should be associated with the roadmap.
|- valign="top"
|- valign="top"
| P5
| D
| ''Deleted'' - Requirements that have been deleted from the product roadmap.
| ''Deleted'' - Requirements that have been deleted from the product roadmap.
|-
| <font color="grey">Px
| ''Tentative'' - Requirements that are proposed but have not yet been approved</font>
|-
|}
|}


Line 54: Line 58:
|}
|}


'''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 [[Firefox2/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 [[Firefox2/Status|most recent status meeting minutes]].''


==Feature Areas==
==Feature Areas==
Line 110: Line 114:


<p>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.</p>
<p>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.</p>
''note: as [http://groups.google.com/group/mozilla.dev.planning/browse_frm/thread/4b8e7bafecccbc10/8997efd5d5d5f03f#8997efd5d5d5f03f announced in mozilla.dev.planning], the bookmark and history rewrite has been deprioritized and is no longer targeted at the Bon Echo release.''


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


Line 150: Line 159:
{| width="100%" cellpadding="3"
{| width="100%" cellpadding="3"
|-
|-
| style="background-color: #efefef;" colspan="3" | '''Tabbed Browsing'''
| style="background-color: #efefef;" colspan="3" | '''General UI'''
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 20px"| '''Priority'''
Line 165: Line 174:
|-
|-
| P1 || A1 || heuristic for tab close selection behaviour to match user expectations  
| 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 re-opening accidentally closed tabs  
Line 170: Line 181:
| P2 || A2 || add UI for managing multiple tabs (preview, switching, etc)
| P2 || A2 || add UI for managing multiple tabs (preview, switching, etc)
|-
|-
| P2 || B1 || conduct and incorporate feedback from usabilty study on close tab buttons
| 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 visual animation enhancements for tab re-ordering, preview, etc ||
Line 184: Line 199:
| P1 || A2 || restore session after an application forced restart
| P1 || A2 || restore session after an application forced restart
|-
|-
| P2 || A2 || restore session after a crash  
| 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
| P3 || A2 || option to allow advanced users to always restore session after normal shutdown
Line 194: Line 211:
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Item'''
|-
|-
| P1 || A2 || spell-as-you-type functionality for text fields
| P2 || A2 || spell-as-you-type functionality for text fields
|-
|-
| P1 || A2 || identify and meet license requirements to bundle english dictionary
| P2 || A2 || identify and meet license requirements to bundle english dictionary
|-
|-
| P1 || B1 || identify and meet license requirements to provide secondary distribution of l10n diactionaries
| P2 || B1 || identify and meet license requirements to provide secondary distribution of l10n dictionaries
|-
|-
| P2 || B1 || identify and meet license requirements to bundle l10n dictionaries  
| P3 || B1 || identify and meet license requirements to bundle l10n dictionaries  
|-
|-
|}
|}
Line 215: Line 232:
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Item'''
|-
|-
| P2 || A1 || new RSS/Atom feed parser based on ...
| P1 || A2 || content sniffing to detect when content served as XML or text is actually a feed
|-
|-
| P2 || 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 || consistent user experience for previewing, handling & subscribing to feeds when user clicks on links or chrome that lead to feeds (ie: via feed://, link-rel or content sniffing)
|-
|-
| P2 || A2 || ability to subscribe to feeds using client app or web service
| P2 || A2 || ability to subscribe to feeds using client app or web service
|-
|-
| P3 || B1 || developer APIs to access to feed content in format-agnostic fashion and feed parser
| 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  
| P3 || B1 || content-area preview of XML-RSS/XML-Atom content  
Line 234: Line 249:
|-
|-
| P2 || A2 || low-bar pretty-printing for RSS/Atom that displays content  (images, sound files, movie files, text) in a human-readable format  
| P2 || A2 || low-bar pretty-printing for RSS/Atom that displays content  (images, sound files, movie files, text) in a human-readable format  
|-
| P3 || A2 || chrome priveledged controls for adding/handling feed subscriptions to bookmarks
|-
|-
|}
|}
Line 250: Line 263:
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Item'''
|-
|-
| P2 || A2 || new add-ons manager that consolidates and simplifies managament (adding, removing, updating, disabling) themes and extensions
| P2 || A2 || improve extension management experience to simplify tasks of adding, removing, updating, disabling and configuring extensions
|-
| P2 || A2 || improved visibility of notification when extension updates are available
|-
|-
| P2 || A2 || automatic extension updates  
| P2 || A2 || primary UI indication of when extension updates are available
|-
|-
| P2 || A2 || more undestandable extension installation and update dialogs
| P2 || A2 || better detection of extension updates during automatic application updates
|-
|-
| P3 || A2 || add path into extension options from browser options
| P2 || A2 || simplify extension installation and update dialogs
|-
|-
| P5 || A2 || password lockdown for extension installation
| D || <del>A2</del> || <del>password lockdown for extension installation</del>
|-
|-
| style="background-color: #efefef;" colspan="3" | '''Extension Blocklisting'''
| style="background-color: #efefef;" colspan="3" | '''Extension Blocklisting'''
Line 269: Line 280:
|-
|-
| P1 || A1 || capability to enable, disable, and block installation of extensions based on a blocklist  
| P1 || A1 || capability to enable, disable, and block installation of extensions based on a blocklist  
|-
| P1 || A1 || new UI to indicate when an extension has been disabled & why
|-
|-
| P1 || A1 || mozilla.com server-side resources for hosting the blocklist  
| P1 || A1 || mozilla.com server-side resources for hosting the blocklist  
Line 282: Line 291:
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Item'''
|-
|-
| P2 || A2 || support for extensions that provide l10n to applications or extensions
| P1 || A2 || support for extensions that provide l10n to applications or extensions
|-
| P2 || A2 || UI indication for extensions that have locale packs associated with them
|-
|-
|}
|}
Line 299: Line 306:
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Item'''
|-
|-
| P1 || A2 || UI for adding and removing search plugins
| P1 || A2 || UI for managing search plugins
|-
|-
| P2 || A2 || tool for restoring default search plugins  
| P2 || A2 || ability to restoring default search plugins  
|-
|-
| P2 || A2 || shadow text in search bar (e.g. "Google Search", "Yahoo! Search", etc.) to improve accessibility of search chrome
| P2 || A2 || improve discoverability of search chrome
|-
|-
| P2 || A2 || resizable search box and reordering search plugins
| P2 || A2 || resizable search box and reordering search plugins
|-
|-
| P3 || A2 || support for multiple search boxes
| 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;" colspan="3" | '''Searchplugins'''
Line 363: Line 372:
| P1 || A2 || enhancements to software update infrastructre to support N distributions
| P1 || A2 || enhancements to software update infrastructre to support N distributions
|-
|-
| P2 || A2 || ability to select & install phishing protection extensions during installation
| P4 || B1 || MSI distribution
|-
| P2 || A2 || ability to select & install phishing protection extensions on first run
|-
| P2 || A2 || ability to bundle phishing protection extensions
|-
|}
|}


Line 382: Line 386:
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Item'''
|-
|-
| P2 || B1 || no regressions in web compatibility
| P1 || B1 || improve memory usage
|-
|-
| P2 || B1 || improve memory usage by x%
| P2 || B1 || no unplanned regressions in web compatibility
|-
|-
| P2 || B1 || no regressions in browsing speed / page load times  
| P2 || B1 || no regressions in browsing speed / page load times  
Line 394: Line 398:
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Item'''
|-
|-
| P1 || B1 || all appropriate security patches from gecko 1.9
| P1 || B1 || security patches from gecko 1.9
|-
|-
| P2 || B1 || other small, safe, but important gecko 1.9 patches  
| 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;" colspan="5" | '''Instrumentation'''
Line 404: Line 408:
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Item'''
|-
|-
| P1 || A2 || respect and protection of end-user privacy
| <del>P2</del> || <del>A2</del> || <del>open and documented data structure for browser performance instrumentation</del>
|-
|-
| P2 || A2 || data model for user interface instrumentation
| <del>P2</del> || <del>A2</del> || <del>UI to enable/disable instrumentation</del>
|-
|-
| P2 || A2 || API and hooks to instrument user interface
| <del>P2</del> || <del>A2</del> || <del>server-side infrastructure to collect data from instrumented builds</del>
|-
|-
| P2 || A2 || UI to enable/disable instrumentation
| <del>P3</del> || <del>A2</del> || <del>API and hooks to collect metrics from extensions</del>
|-
| P2 || A2 || server-side infrastructure to collect data from instrumented builds
|-
|-
|}
|}
Line 427: Line 429:
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Item'''
|-
|-
| P1 || A2 || respect and protection of end-user privacy in providing anti-phising capability
| P1 || A2 || in-browser phishing protection that provides warnings
|-
|-
| P1 || A2 || basic in-browser phishing protection
| P1 || A2 || bundling or installation wizard to integrate enhanced phishing protection
|-
|-
| P1 || A2 || bundling or installation wizard to integrate enhanced phising protection
| P2 || A2 || API for phishing protection extensions to use in order to provide consistent and best possible user experience
|-
| P1 || 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;" colspan="3" | '''SSL'''
Line 441: Line 441:
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Item'''
|-
|-
| P1 || A1 || disable by default SSL2 and weak ciphersuites
| P1 || A1 || remove SSL2 and weak ciphersuites
|-
| <font color="grey">P3</font> || <font color="grey">A2</font> || <font color="grey">enable ECC (requires NSS 3.11 snapshot)</font>
|-
|-
| P3 || A2 || improve UI for SSL/security information
| P3 || A2 || improve UI for SSL/security information
|-
| P3 || A2 || APIs for 3rd party extensions to provide enhanced security mechanisms
|-
|-
|}
|}
Line 482: Line 482:
| P1 || -- || Windows ME
| P1 || -- || Windows ME
|-
|-
| P1 || -- || Mac OS X 10.2+
| P1 || -- || Mac OS X 10.2+ (Universal Binary)
|-
|-
| P1 || -- || Red Hat Linux
| P1 || -- || Red Hat Linux
Line 492: Line 492:
==Locale Support==
==Locale Support==
{| width="100%" cellpadding="3"
{| width="100%" cellpadding="3"
|-
| style="background-color: #efefef;" colspan="3" | '''Platform Support'''
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 20px"| '''Priority'''
Line 499: Line 497:
| style="background-color: #efefef;"| '''Item'''
| style="background-color: #efefef;"| '''Item'''
|-
|-
| P1 || -- || English  
| 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 || -- || French
| P1 || -- || Korean (ko)
|-
|-
| P1 || -- || Italian
| P1 || -- || Portuguese (pt-BR)
|-
|-
| P1 || -- || German
| P1 || -- || Russian (ru)
|-
|-
| P1 || -- || Spanish
| P1 || -- || Spanish (es-AR)
|-
|-
| P1 || -- || Chinese (Simplified and Traditional)
| P1 || -- || Swedish (sv-SE)
|-
|-
| P1 || -- || Japanese
| P1 || -- || Turkish (tr)
|-
|-
| P1 || -- || Korean
| style="background-color: #efefef;" colspan="3" | '''Tier 3'''
|-
|-
| P1 || -- || [....need to add the others....]
| P2 || -- || Catalan (ca)
|-
|-
| P2 || -- || [need to add secondary localizations, e.g. highly desirable but would not hold initial release for]
| P2 || -- || [need to add any highly desirable but would not hold initial release for]
|-
|-
|}
|}
497

edits