Mobile/FennecRequirements: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(43 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==Priorities==
==Definitions==
===Milestones===
Our goal is to deliver several small releases over the next two quarters until we reach an alpha release. The milestones described here are not full-fledged releases but merely meant to represent dates tied together with deliverables. The dates are also meant for initial planning purposes and may change. 
 
{| width="100%" cellpadding="3"
{| width="100%" cellpadding="3"
|- style="background-color: #efefef;"
|- style="background-color: #efefef;"
| style="background-color: #efefef; width: 40px" | '''Priority'''
| style="background-color: #efefef; width: 40px" | '''Milestone'''
| '''Description'''
| style="background-color: #efefef; width: 120px" | '''Release Date'''  
| '''Release Notes'''
|- valign="top"
| M1
| ''April 4, 2008''
|
|- valign="top"
| M2
| ''May 9, 2008''
|
|- valign="top"
|- valign="top"
| P1
| M3
| ''Mandatory'' - The set of features required as a minimum for this release to be complete. The product will not ship without these.
| ''May 30, 2008''
|
|- valign="top"
|- valign="top"
| P2
| M4
| ''Highly Desirable'' - A key feature that will make the product more complete, has great benefits to the end-user and major strategic impact.
| ''June 20, 2008''
|
|- valign="top"
|- valign="top"
| P3
| M5
| ''Nice to Have'' - Lowest priority feature that may be incorporated, dropping first in favour of delivering P2 items.
| ''July 11, 2008''
|
|- valign="top"
|- valign="top"
| P4
| M6
| ''Future'' - Intended for future release, included as they may influence design decisions and should be associated with the roadmap.
| ''August 1, 2008''
|
|- valign="top"
|- valign="top"
| D
| M7
| ''Deleted'' - Requirements that have been deleted from the product roadmap.
| ''August 19, 2008''
|
|- valign="top"
| A1
| ''October 16, 2008''
| [http://www.mozilla.org/projects/fennec/1.0a1/releasenotes/ Fennec Alpha 1]
|- valign="top"
| A2
| ''December 22, 2008''
| [http://www.mozilla.org/projects/fennec/1.0a2/releasenotes/ Fennec Alpha 2]
|- valign="top"
| B1
| ''February 27, 2009''
| Fennec Beta 1
|}
 
[[Mobile/DefinitionPriority | Priority Definition]]
 
[[Mobile/DefinitionStatus | Status Definition]]
 
==Requirements==
 
=== Platform Support ===
 
{| width="100%" cellpadding="3"
|-
|-
| <font color="grey">Px
| style="background-color: #efefef;" colspan="3" | '''General''' 
| ''Tentative'' - Requirements that are proposed but have not yet been approved</font>
| style="background-color: #efefef;" |
|-
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
| P1M? || || JSctypes ||
|-
|-
|}
|}


==Navigating to Web content==
 
{| width="100%" cellpadding="3"
|-
| style="background-color: #efefef;" colspan="3" | '''Linux (GTK)''' 
| style="background-color: #efefef;" | {{bug|436201}}
|-
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
| P1M1 || {{ot}} || Installer || {{bug|418851}}
|-
| P2M? || || Update manager ||
|-
| P1M? || || Soft Keyboard || {{bug|426344}}
|-
| P1M? || || Application menu || {{bug|426291}}
|-
| P1M? || || File picker || {{bug|426292}}
|-
| P3M? || || Banners (alerts) || {{bug|426293}}
|-
| P2M? || || Better theme support || {{bug|426299}}
|-
| P3M? || || Expose [http://maemo.org/development/documentation/how-tos/4-x/how_to_use_camera_api.html camera API] ||
|-
| P3M? || || Expose [http://maemo.org/development/documentation/how-tos/4-x/using_maemo_address_book_apis.html address book API] ||
|-
| P2M? || || Breakpad ||
|-
| P1M2 || || Run Talos ||
|-
| P1M? || || [http://wiki.mozilla.org/Mobile/DFBPorting DirectFB] || {{bug|422221}}
|-
|}
 
 
{| width="100%" cellpadding="3"
|-
| style="background-color: #efefef;" colspan="4" | '''Windows Mobile 6'''
|-
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
| P2M? || || Installer ||
|-
| P3M? || || Update manager ||
|-
| P3M? || || Breakpad ||
|-
|}
 
 
{| width="100%" cellpadding="3"
|-
| style="background-color: #efefef;" colspan="4" | '''Qt 4.4'''
|-
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
| P1M2 || || Widget support || {{bug|429288}}
|-
| P1M? || || Installer ||
|-
| P2M? || || Update manager ||
|-
| P2M? || || Breakpad ||
|-
|}
 
===Navigating to Web content===
<p>In most mobile browsers, basic activities like URL entry, bookmarking and search are too hard to use.  These need attention, and "awesome-bar" like innovation.  An equivalent to multiple windows/tabs is needed.</p>
<p>In most mobile browsers, basic activities like URL entry, bookmarking and search are too hard to use.  These need attention, and "awesome-bar" like innovation.  An equivalent to multiple windows/tabs is needed.</p>


{| width="100%" cellpadding="3"
{| width="100%" cellpadding="3"
|-
|-
| style="background-color: #efefef;" colspan="3" | '''Basic navigation'''
| style="background-color: #efefef;" colspan="4" | '''Basic navigation'''
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
|-
| P1 || M1 || Simple URL entry  
| P1M1 || {{co}} || Simple URL entry ||
|-
|-
| P1 || M1 || Back
| P1M1 || {{co}} || Back ||
|-
|-
| P1 || M1 || Forward  
| P1M1 || {{co}} || Forward ||
|-
|-
| P1 || M1 || Reload page  
| P1M1 || {{co}} || Reload page ||
|-
|-
| P1 || M1 || History
| P1M1 || {{ip}} || History ||
|-
|-
| P1 || M2 || Awesome-bar URL entry
| P1M1 || {{ip}} || Awesome-bar URL entry ||
|-
| P1M2 || {{ip}} || Search box in toolbar (depends on screen size) ||
|-
|-
|}
|}


{| width="100%" cellpadding="3"
{| width="100%" cellpadding="3"
|-
|-
| style="background-color: #efefef;" colspan="3" | '''Bookmarks'''
| style="background-color: #efefef;" colspan="4" | '''Bookmarks'''
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
| P1M1 || {{ip}} || Basic Add bookmark ||
|-
|-
| P1 || M3 || Basic Add bookmark
| P1M1 || {{co}} || Star page ||
|-
|-
| P1 || M3 || Star page 
| P1M1 || {{ns}} || Foldering ||
|-
|-
| P1 || M3 || Foldering
| P?M? || || Live Bookmarks ||
|-
|-
|}
|}


{| width="100%" cellpadding="3"
{| width="100%" cellpadding="3"
|-
|-
| style="background-color: #efefef;" colspan="3" | '''Multiple page support'''
| style="background-color: #efefef;" colspan="4" | '''Tab support'''
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
|-
| P1 || M3 || Multiple page support
| P1M3 || {{ip}}  || Tab support ||
|-
|-
|}
|}


{| width="100%" cellpadding="3"
{| width="100%" cellpadding="3"
|-
|-
| style="background-color: #efefef;" colspan="3" | '''Search'''
| style="background-color: #efefef;" colspan="4" | '''Advanced Navigation'''
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
| P?M? || || Search in current window ||
|-
| P?M? || || Search in all open tabs ||
|-
| P?M? || || Search on device ||
|-
| P?M? || {{ip}} || Download Manager ||
|-
| P?M? || || Popup Blocker ||
|-
| P?M? || || Page Info ||
|-
| P?M? || || Certificate Management ||
|-
|-
| P1 || M2 || Search box in toolbar (depends on screen size)
| P?M? || || Proxy Settings ||
|-
| P?M? || || Preferences ||
|-
|-
|}
|}


==Navigating within a page==
===Navigating within a page===
<p>Fennec will enable quick and intuitive access to the content of interest on a given Web page.</p>
<p>Fennec will enable quick and intuitive access to the content of interest on a given Web page.</p>


{| width="100%" cellpadding="3"
{| width="100%" cellpadding="3"
|-
|-
| style="background-color: #efefef;" colspan="3" | '''Modes'''
| style="background-color: #efefef;" colspan="4" | '''Modes'''
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
| P1M1 || || Standard view ||
|-
|-
| P1 || M1 || Standard view
| P1M3 || || Full-screen mode
|-
|-
| P1 || M3 || Full-screen mode
| P2M3 || || Switch between portrait and landscape mode ||
|-
|-
| P2 || M3 || Switch between portrait and landscape mode
|}
 
 
{| width="100%" cellpadding="3"
|-
|-
| style="background-color: #efefef;" colspan="3" | '''Zooming'''
| style="background-color: #efefef;" colspan="4" | '''Zooming'''
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
|-
| P1 || M2 || Zoom to fit page
| P1M2 || || Zoom to fit page ||
|-
|-
| P1 || M2 || Zoom to fit the width of the display area
| P1M2 || || Zoom to fit the width of the display area ||
|-
|-
| P4 ||  || Zoom to fit the height of the display area
| P4 ||  || Zoom to fit the height of the display area ||
|-
|-
| P1 || M2 || Zoom to relevant section
| P1M1 || {{ip}} || Zoom to relevant section ||
|-
|}
 
 
{| width="100%" cellpadding="3"
|-
|-
| style="background-color: #efefef;" colspan="3" | '''Scrolling and panning'''
| style="background-color: #efefef;" colspan="4" | '''Scrolling and panning'''
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
|-
| P1 || M1 || Scrolling - discreet (e.g., page-up/down line up/down)
| P1M1 || {{co}} || Scrolling - discreet (e.g., page-up/down line up/down) ||
|-
|-
| P1 || M2 || Panning - smooth movement
| P1M1 || {{ip}} || Panning - smooth movement ||
|-
|-
| P1 || M3 || Keyboard shortcuts
| P1M3 || {{ip}} || Keyboard shortcuts ||
|-
|-
| P2 || M3 || Special effects
| P2M3 || || Special effects ||
|-
|-
| style="background-color: #efefef;" colspan="3" | '''Layout'''
|}
 
 
{| width="100%" cellpadding="3"
| style="background-color: #efefef;" colspan="4" | '''Layout'''
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
|-
| P2 || M3 || Single column display
| P2M3 || || Single column display ||
|-
|-
| P2 || M2 || Fit to width
| P1M2 || || Fit to width ||
|-
|-
| P4 || M3 || Fit to height
| P4M3 || || Fit to height ||
|-
|-
| P2 || M3 || Scrollbar-free layout
| P1M3 || {{ip}} || Scrollbar-free layout ||
|-
|-
| P4 || M3 || Viewport meta tag
| P4M3 || || Viewport meta tag ||
|-
|-
| style="background-color: #efefef;" colspan="3" | '''Virtual mouse'''
|}
 
 
{| width="100%" cellpadding="3"
| style="background-color: #efefef;" colspan="4" | '''Navigation'''
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
| P1M1 || || Spatial Navigation ||
|-
| P4M3 || || Virtual mouse ||
|-
|-
| P2 || M3 || Virtual mouse
| P?M? || || Device API for input integration ||
|-
|-
|}
|}


===Content===




==Plug-ins==
===Plug-ins===


==Add-ons==
===Add-ons===


{| width="100%" cellpadding="3"
{| width="100%" cellpadding="3"
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
|-
| P2 || M3 || Add-on discovery
| P1M3 || || Add-on discovery ||
|-
|-
| P2 || M3 || Install
| P1M1 || {{ip}} || Install ||
|-
|-
| P2 || M3 || View installed add-ons
| P1M1 || {{ip}} || View installed add-ons ||
|-
|-
| P2 || M3 || Remove add-on
| P1M1 || {{ip}} || Remove add-on ||
|-
|-
|}
|}


==Device integration==
===Documentation===
 
==Installation and update==
 
{| width="100%" cellpadding="3"
{| width="100%" cellpadding="3"
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
| P?M? || || Installation tutorials ||
|-
|-
| P2 || M3 || Installer
| P?M? || || Build tutorials ||
|-
|-
| P2 || M3 || Update manager
| P?M? || || Advanved features tutorials (e.g. settings) ||
|-
| P?M? || || Canned bugzilla queries (easy-to-fix, platform specific,...) ||
|-
|-
|}
|}


==Security==
===Device integration===
 
===Security===


==Accessibility==
===Accessibility===


==I18N/L10N==
===I18N/L10N===


==Communication==
===Communication===


{| width="100%" cellpadding="3"
{| width="100%" cellpadding="3"
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
|-
| P2 || M3 || Send link as SMS
| P2M3 || || Send link as SMS ||
|-
|-
| P2 || M3 || Send link as email
| P2M3 || || Send link as email ||
|-
|-
|}
|}


==Developer tools==
===Developer tools===


{| width="100%" cellpadding="3"
{| width="100%" cellpadding="3"
|-
|-
| style="background-color: #efefef; width: 20px"| '''Priority'''
| style="background-color: #efefef; width: 30px"| '''P/M'''
| style="background-color: #efefef; width: 20px"| '''Milestone'''
| style="background-color: #efefef; width: 20px"| '''Status'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef;"| '''Feature'''
| style="background-color: #efefef; width: 120px"| '''Bug'''
|-
|-
| P2 || M3 || Mobile Firebug  
| P2M3 || || Mobile Firebug ||
|-
|-
| P2 || M3 || Remote debugging
| P2M3 || || Remote debugging ||
|-
|-
| P2 || M3 || XUL simulator
| P2M3 || || XUL simulator ||
|-
|-
|}
|}

Latest revision as of 19:10, 12 January 2009

Definitions

Milestones

Our goal is to deliver several small releases over the next two quarters until we reach an alpha release. The milestones described here are not full-fledged releases but merely meant to represent dates tied together with deliverables. The dates are also meant for initial planning purposes and may change.

Milestone Release Date Release Notes
M1 April 4, 2008
M2 May 9, 2008
M3 May 30, 2008
M4 June 20, 2008
M5 July 11, 2008
M6 August 1, 2008
M7 August 19, 2008
A1 October 16, 2008 Fennec Alpha 1
A2 December 22, 2008 Fennec Alpha 2
B1 February 27, 2009 Fennec Beta 1

Priority Definition

Status Definition

Requirements

Platform Support

General
P/M Status Feature Bug
P1M? JSctypes


Linux (GTK) bug 436201
P/M Status Feature Bug
P1M1 OT Installer bug 418851
P2M? Update manager
P1M? Soft Keyboard bug 426344
P1M? Application menu bug 426291
P1M? File picker bug 426292
P3M? Banners (alerts) bug 426293
P2M? Better theme support bug 426299
P3M? Expose camera API
P3M? Expose address book API
P2M? Breakpad
P1M2 Run Talos
P1M? DirectFB bug 422221


Windows Mobile 6
P/M Status Feature Bug
P2M? Installer
P3M? Update manager
P3M? Breakpad


Qt 4.4
P/M Status Feature Bug
P1M2 Widget support bug 429288
P1M? Installer
P2M? Update manager
P2M? Breakpad

Navigating to Web content

In most mobile browsers, basic activities like URL entry, bookmarking and search are too hard to use. These need attention, and "awesome-bar" like innovation. An equivalent to multiple windows/tabs is needed.

Basic navigation
P/M Status Feature Bug
P1M1 CO Simple URL entry
P1M1 CO Back
P1M1 CO Forward
P1M1 CO Reload page
P1M1 style="background-color: lightblue;" History
P1M1 style="background-color: lightblue;" Awesome-bar URL entry
P1M2 style="background-color: lightblue;" Search box in toolbar (depends on screen size)


Bookmarks
P/M Status Feature Bug
P1M1 style="background-color: lightblue;" Basic Add bookmark
P1M1 CO Star page
P1M1 NS Foldering
P?M? Live Bookmarks


Tab support
P/M Status Feature Bug
P1M3 style="background-color: lightblue;" Tab support


Advanced Navigation
P/M Status Feature Bug
P?M? Search in current window
P?M? Search in all open tabs
P?M? Search on device
P?M? style="background-color: lightblue;" Download Manager
P?M? Popup Blocker
P?M? Page Info
P?M? Certificate Management
P?M? Proxy Settings
P?M? Preferences

Navigating within a page

Fennec will enable quick and intuitive access to the content of interest on a given Web page.

Modes
P/M Status Feature Bug
P1M1 Standard view
P1M3 Full-screen mode
P2M3 Switch between portrait and landscape mode


Zooming
P/M Status Feature Bug
P1M2 Zoom to fit page
P1M2 Zoom to fit the width of the display area
P4 Zoom to fit the height of the display area
P1M1 style="background-color: lightblue;" Zoom to relevant section


Scrolling and panning
P/M Status Feature Bug
P1M1 CO Scrolling - discreet (e.g., page-up/down line up/down)
P1M1 style="background-color: lightblue;" Panning - smooth movement
P1M3 style="background-color: lightblue;" Keyboard shortcuts
P2M3 Special effects


Layout
P/M Status Feature Bug
P2M3 Single column display
P1M2 Fit to width
P4M3 Fit to height
P1M3 style="background-color: lightblue;" Scrollbar-free layout
P4M3 Viewport meta tag


Navigation
P/M Status Feature Bug
P1M1 Spatial Navigation
P4M3 Virtual mouse
P?M? Device API for input integration

Content

Plug-ins

Add-ons

P/M Status Feature Bug
P1M3 Add-on discovery
P1M1 style="background-color: lightblue;" Install
P1M1 style="background-color: lightblue;" View installed add-ons
P1M1 style="background-color: lightblue;" Remove add-on

Documentation

P/M Status Feature Bug
P?M? Installation tutorials
P?M? Build tutorials
P?M? Advanved features tutorials (e.g. settings)
P?M? Canned bugzilla queries (easy-to-fix, platform specific,...)

Device integration

Security

Accessibility

I18N/L10N

Communication

P/M Status Feature Bug
P2M3 Send link as SMS
P2M3 Send link as email

Developer tools

P/M Status Feature Bug
P2M3 Mobile Firebug
P2M3 Remote debugging
P2M3 XUL simulator