Firefox/Goals/2013Q2: Difference between revisions

From MozillaWiki
< Firefox‎ | Goals
Jump to navigation Jump to search
(clarify the risk that this may not be able to stick)
(add goal markers)
Line 2: Line 2:


=== Search Hijacking ===
=== Search Hijacking ===
* remove use of keyword.URL
* {{ok|remove use of keyword.URL}}
* put all search prefs under user control
* {{ok|put all search prefs under user control}}
* have a plan: prompt-on-engine-change dialog/notification
* {{ok|have a plan: prompt-on-engine-change dialog/notification}}


=== Performance ===
=== Performance ===
* Add-on manager startup
* Add-on manager startup
** eliminate unnecessary main-thread I/O
** {{ok|eliminate unnecessary main-thread I/O}}
** investigate simplified storage back-end (SQLite->JSON)
** {{ok|investigate simplified storage back-end (SQLite->JSON)}}
* Thumbnail service
* Thumbnail service
** no main thread impact from thumbnailing
** {{ok|no main thread impact from thumbnailing}}
* New download back-end
* New download back-end
** landed and used by at least one consumer (no main thread I/O)
** {{ok|landed and used by at least one consumer (no main thread I/O)}}
* New tab page
* New tab page
** reduce impact on tab animation
** {{ok|reduce impact on tab animation}}
* Password Manager
* Password Manager
** eliminate main-thread I/O
** {{ok|eliminate main-thread I/O}}
* localStorage
* localStorage
** Eliminate all uses of localStorage in application code
** {{ok|Eliminate all uses of localStorage in application code}}


=== Australis ===
=== Australis ===
Merged to mozilla-central for Firefox 24 (with intent to ride that train)
* {{ok|Merged to mozilla-central for Firefox 24 (with intent to ride that train)}}


=== Profile Reset ===
=== Profile Reset ===
Improve functionality and expose it more. (Gathering in {{bug|851364}})
* {{ok|Improve functionality and expose it more. (Gathering in {{bug|851364}})}}


=== Permissions UI ===
=== Permissions UI ===
Expose a lightweight UI (not about:permissions) for managing permissions you have granted to a site. (old mockup:  http://cl.ly/image/3u3M2w3O3w1X)
* {{ok|Expose a lightweight UI (not about:permissions) for managing permissions you have granted to a site. (old mockup:  http://cl.ly/image/3u3M2w3O3w1X)}}


=== Stability ===
=== Stability ===


* Develop and deploy a system to allow 3rd parties to submit encrypted/obfuscated symbols to Mozilla, and get popular addons and driver vendors to send us symbols.
* {{ok|Develop and deploy a system to allow 3rd parties to submit encrypted/obfuscated symbols to Mozilla, and get popular addons and driver vendors to send us symbols.}}
* Develop reports to allow prioritization of potentially exploitable crashes.
* {{ok|Develop reports to allow prioritization of potentially exploitable crashes.}}


=== Plugins ===
=== Plugins ===


* Make plugin and plugin instance instantiation asynchronous: implemented behind a pref, this will land on -central but may need to be preffed off because of web content breakage
* {{ok|Make plugin and plugin instance instantiation asynchronous: implemented behind a pref, this will land on -central but may need to be preffed off because of web content breakage}}
* Profile Flash IPC messages and rearrange event delivery to delay painting and networking events when synchronous events are pending.
* {{ok|Profile Flash IPC messages and rearrange event delivery to delay painting and networking events when synchronous events are pending.}}


== Firefox Developer Tools ==
== Firefox Developer Tools ==
Line 46: Line 46:
=== Add-on SDK ===
=== Add-on SDK ===


* [http://people.mozilla.com/~shorlander/files/addons-in-toolbar-i01/addons-in-toolbar.html UX work]
* {{ok|[http://people.mozilla.com/~shorlander/files/addons-in-toolbar-i01/addons-in-toolbar.html UX work]}}
* Places API
* {{ok|Places API}}
* Add-ons run with access to a DOM window
* {{ok|Add-ons run with access to a DOM window}}


=== Script and Performance Tools ===
=== Script and Performance Tools ===


* Scratchpad remoted and integrated with the debugger.
* {{ok|Scratchpad remoted and integrated with the debugger.}}
* FPS monitor, frame boundaries in the profiler.
* {{ok|FPS monitor, frame boundaries in the profiler.}}
* tagStack, XHR breakpoints.
* {{ok|tagStack, XHR breakpoints.}}


=== Content Tools ===
=== Content Tools ===


* Finish remoting the Inspector.
* {{ok|Finish remoting the Inspector.}}
* Plan and begin executing authoring strategy. Which means:
* Plan and begin executing authoring strategy. Which means:
** create firm UX proposal for in-browser authoring,
** {{ok|create firm UX proposal for in-browser authoring,}}
** integrate Style Editor and Highlighter,
** {{ok|integrate Style Editor and Highlighter,}}
** prototype external editor integration.
** {{ok|prototype external editor integration.}}
* Provide metrics on Developer Tool usage through FHR probes.
* {{ok|Provide metrics on Developer Tool usage through FHR probes.}}


==Firefox for Android==
==Firefox for Android==
===Profile Related Work===
===Profile Related Work===
Various things that are based on profiles, while trying to avoid Sync/PiCL dependencies:
Various things that are based on profiles, while trying to avoid Sync/PiCL dependencies:
* Profile Reset
* {{ok|Profile Reset}}
* Guest Mode (Switching to a temporary profile)
* {{ok|Guest Mode (Switching to a temporary profile)}}
* Kid Mode (A profile with strong parental controls)
* {{ok|Kid Mode (A profile with strong parental controls)}}
* Senior Mode (A profile with less options and designed pure ease-of-use)
* {{ok|Senior Mode (A profile with less options and designed pure ease-of-use)}}


===Reader Enhancements===
===Reader Enhancements===
Reader is one of Firefox Android's most differentiating features. We have plans to add more to the core in Q2:
Reader is one of Firefox Android's most differentiating features. We have plans to add more to the core in Q2:
* Night Mode (ambient light based background toggle)
* {{ok|Night Mode (ambient light based background toggle)}}
* Sans Serif/Serif font toggle
* {{ok|Sans Serif/Serif font toggle}}
* Open into Reading List from home screen
* {{ok|Open into Reading List from home screen}}
* Add to Reading List from external apps (twitter)
* {{ok|Add to Reading List from external apps (twitter)}}
* Text-to-Voice investigations (investigate the technology)
* {{ok|Text-to-Voice investigations (investigate the technology)}}
* Twitter card support for richer Reading List (investigate the design)
* {{ok|Twitter card support for richer Reading List (investigate the design)}}


===WebRT===
===WebRT===
* Packaged app support
* {{ok|Packaged app support}}
* APK wrapper support (goal is to uplift to Marketplace)
* {{ok|APK wrapper support (goal is to uplift to Marketplace)}}
* Turn off some browser-centric features while in App mode
* {{ok|Turn off some browser-centric features while in App mode}}


===Game/TV Form Factor===
===Game/TV Form Factor===
* Gamepad controller support
* {{ok|Gamepad controller support}}
* TV layout support
* {{ok|TV layout support}}


===User Efficency/Cleanup===
===User Efficency/Cleanup===
* Hostname completion
* {{ok|Hostname completion}}
* Keyboard shortcuts
* {{ok|Keyboard shortcuts}}
* SNAV
* {{ok|SNAV}}
* Quickly share using last "Share App" from menu
* {{ok|Quickly share using last "Share App" from menu}}
* Improve Settings UI
* {{ok|Improve Settings UI}}
* Improve Session Restore
* {{ok|Improve Session Restore}}


==Firefox for Metro==
==Firefox for Metro==
* Feature-complete awesome/start screen
* {{ok|Feature-complete awesome/start screen}}
* Uplift from mozilla-central to mozilla-aurora
* {{ok|Uplift from mozilla-central to mozilla-aurora}}


== Community Development ==
== Community Development ==


* Establish a roadmap for contributors so that they can view their progress on Mozillians and can see what the next "level up" is.  
* {{ok|Establish a roadmap for contributors so that they can view their progress on Mozillians and can see what the next "level up" is.}}
* Implement engineering contributor rewards program, including both recognition/badges and "stuff".
* {{ok|Implement engineering contributor rewards program, including both recognition/badges and "stuff".}}
* Automate, either through bugzilla-anthropology or Bugzilla proper, the awarding of many of the badges in the Engineering badging effort.
* {{ok|Automate, either through bugzilla-anthropology or Bugzilla proper, the awarding of many of the badges in the Engineering badging effort.}}
* Design and implement a set of metrics to measure Mozilla's support for volunteer engineering, and volunteer participation/effectiveness for deployment in Q3.
* {{ok|Design and implement a set of metrics to measure Mozilla's support for volunteer engineering, and volunteer participation/effectiveness for deployment in Q3.}}
* Request for every team in engineering: describe what a "minimum viable contributor" is for participating on that team, including time commitments and resources required.
* {{ok|Request for every team in engineering: describe what a "minimum viable contributor" is for participating on that team, including time commitments and resources required.}}


== FHR ==
== FHR ==
=== Desktop ===
=== Desktop ===


* reduce fsyncs to one per day
* {{ok|reduce fsyncs to one per day}}
* move session/activity tracking into Gecko/C++
* {{ok|move session/activity tracking into Gecko/C++}}
* ensure measurements outside of collection time do not incur fsyncs  
* {{ok|ensure measurements outside of collection time do not incur fsyncs }}


== Android ==
== Android ==


* fully-featured native Android FHR client landed.
* {{ok|fully-featured native Android FHR client landed.}}


== Platform Integration ==
== Platform Integration ==
* Continued support of Firefox for Metro goals
* {{ok|Continued support of Firefox for Metro goals}}
* Continued Mac OS X integration work with a focus on Australis
* {{ok|Continued Mac OS X integration work with a focus on Australis}}
* Stub installer
* Stub installer
** Implement a minimum of two recommendations to improve user install success rate based on ping data analysis
** {{ok|Implement a minimum of two recommendations to improve user install success rate based on ping data analysis}}
* App Update
* App Update
** Installations on previous version analysis
** {{ok|Installations on previous version analysis}}

Revision as of 15:19, 3 April 2013

Firefox Desktop

Search Hijacking

  • [ON TRACK] remove use of keyword.URL
  • [ON TRACK] put all search prefs under user control
  • [ON TRACK] have a plan: prompt-on-engine-change dialog/notification

Performance

  • Add-on manager startup
    • [ON TRACK] eliminate unnecessary main-thread I/O
    • [ON TRACK] investigate simplified storage back-end (SQLite->JSON)
  • Thumbnail service
    • [ON TRACK] no main thread impact from thumbnailing
  • New download back-end
    • [ON TRACK] landed and used by at least one consumer (no main thread I/O)
  • New tab page
    • [ON TRACK] reduce impact on tab animation
  • Password Manager
    • [ON TRACK] eliminate main-thread I/O
  • localStorage
    • [ON TRACK] Eliminate all uses of localStorage in application code

Australis

  • [ON TRACK] Merged to mozilla-central for Firefox 24 (with intent to ride that train)

Profile Reset

  • [ON TRACK] Improve functionality and expose it more. (Gathering in bug 851364)

Permissions UI

  • [ON TRACK] Expose a lightweight UI (not about:permissions) for managing permissions you have granted to a site. (old mockup: http://cl.ly/image/3u3M2w3O3w1X)

Stability

  • [ON TRACK] Develop and deploy a system to allow 3rd parties to submit encrypted/obfuscated symbols to Mozilla, and get popular addons and driver vendors to send us symbols.
  • [ON TRACK] Develop reports to allow prioritization of potentially exploitable crashes.

Plugins

  • [ON TRACK] Make plugin and plugin instance instantiation asynchronous: implemented behind a pref, this will land on -central but may need to be preffed off because of web content breakage
  • [ON TRACK] Profile Flash IPC messages and rearrange event delivery to delay painting and networking events when synchronous events are pending.

Firefox Developer Tools

  • Mobile Everywhere

Add-on SDK

  • [ON TRACK] UX work
  • [ON TRACK] Places API
  • [ON TRACK] Add-ons run with access to a DOM window

Script and Performance Tools

  • [ON TRACK] Scratchpad remoted and integrated with the debugger.
  • [ON TRACK] FPS monitor, frame boundaries in the profiler.
  • [ON TRACK] tagStack, XHR breakpoints.

Content Tools

  • [ON TRACK] Finish remoting the Inspector.
  • Plan and begin executing authoring strategy. Which means:
    • [ON TRACK] create firm UX proposal for in-browser authoring,
    • [ON TRACK] integrate Style Editor and Highlighter,
    • [ON TRACK] prototype external editor integration.
  • [ON TRACK] Provide metrics on Developer Tool usage through FHR probes.

Firefox for Android

Profile Related Work

Various things that are based on profiles, while trying to avoid Sync/PiCL dependencies:

  • [ON TRACK] Profile Reset
  • [ON TRACK] Guest Mode (Switching to a temporary profile)
  • [ON TRACK] Kid Mode (A profile with strong parental controls)
  • [ON TRACK] Senior Mode (A profile with less options and designed pure ease-of-use)

Reader Enhancements

Reader is one of Firefox Android's most differentiating features. We have plans to add more to the core in Q2:

  • [ON TRACK] Night Mode (ambient light based background toggle)
  • [ON TRACK] Sans Serif/Serif font toggle
  • [ON TRACK] Open into Reading List from home screen
  • [ON TRACK] Add to Reading List from external apps (twitter)
  • [ON TRACK] Text-to-Voice investigations (investigate the technology)
  • [ON TRACK] Twitter card support for richer Reading List (investigate the design)

WebRT

  • [ON TRACK] Packaged app support
  • [ON TRACK] APK wrapper support (goal is to uplift to Marketplace)
  • [ON TRACK] Turn off some browser-centric features while in App mode

Game/TV Form Factor

  • [ON TRACK] Gamepad controller support
  • [ON TRACK] TV layout support

User Efficency/Cleanup

  • [ON TRACK] Hostname completion
  • [ON TRACK] Keyboard shortcuts
  • [ON TRACK] SNAV
  • [ON TRACK] Quickly share using last "Share App" from menu
  • [ON TRACK] Improve Settings UI
  • [ON TRACK] Improve Session Restore

Firefox for Metro

  • [ON TRACK] Feature-complete awesome/start screen
  • [ON TRACK] Uplift from mozilla-central to mozilla-aurora

Community Development

  • [ON TRACK] Establish a roadmap for contributors so that they can view their progress on Mozillians and can see what the next "level up" is.
  • [ON TRACK] Implement engineering contributor rewards program, including both recognition/badges and "stuff".
  • [ON TRACK] Automate, either through bugzilla-anthropology or Bugzilla proper, the awarding of many of the badges in the Engineering badging effort.
  • [ON TRACK] Design and implement a set of metrics to measure Mozilla's support for volunteer engineering, and volunteer participation/effectiveness for deployment in Q3.
  • [ON TRACK] Request for every team in engineering: describe what a "minimum viable contributor" is for participating on that team, including time commitments and resources required.

FHR

Desktop

  • [ON TRACK] reduce fsyncs to one per day
  • [ON TRACK] move session/activity tracking into Gecko/C++
  • [ON TRACK] ensure measurements outside of collection time do not incur fsyncs

Android

  • [ON TRACK] fully-featured native Android FHR client landed.

Platform Integration

  • [ON TRACK] Continued support of Firefox for Metro goals
  • [ON TRACK] Continued Mac OS X integration work with a focus on Australis
  • Stub installer
    • [ON TRACK] Implement a minimum of two recommendations to improve user install success rate based on ping data analysis
  • App Update
    • [ON TRACK] Installations on previous version analysis