Firefox/Goals/2013Q2: Difference between revisions

From MozillaWiki
< Firefox‎ | Goals
Jump to navigation Jump to search
(add goal markers)
(→‎Profile Reset: mark completed)
 
(25 intermediate revisions by 9 users not shown)
Line 4: Line 4:
* {{ok|remove use of keyword.URL}}
* {{ok|remove use of keyword.URL}}
* {{ok|put all search prefs under user control}}
* {{ok|put all search prefs under user control}}
* {{ok|have a plan: prompt-on-engine-change dialog/notification}}
* {{miss|have a plan: prompt-on-engine-change dialog/notification}}


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


=== Australis ===
=== Australis ===
Line 25: Line 25:


=== Profile Reset ===
=== Profile Reset ===
* {{ok|Improve functionality and expose it more. (Gathering in {{bug|851364}})}}
* {{ok|Improve experience and promote its usage. (tracking: {{bug|851364}})}}
** {{done|Migrate tabs from previous session}}
**Promote/enable reset in more places
***Upon reinstall of Firefox
***{{done|Upon using a profile that hasn't been used for a long time}}
** {{done|Post-reset "first run" page}}
***General re-welcome/info, tab selection, continuation of reset experience
***Guide them to next steps if reset was successful (yay!) or failed (boo, more SUMO links)


=== Permissions UI ===
=== Permissions UI ===
* {{ok|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)}}
=== Papercuts ===
* {{ok|This is a stretch goal, and largely depends how much Australis post-landing fallout there may be.}}
** "Show my windows and tabs from last time" should be the default.
** Ensure commands which open the Places organizer open it in the correct section/view
** Clean up Help menu


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


* {{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.}}
* {{risk|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 reports to allow prioritization of potentially exploitable crashes.}}
* {{done|Develop reports to allow prioritization of potentially exploitable crashes.}}


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


* {{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}}
* {{miss|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|Profile Flash IPC messages and rearrange event delivery to delay painting and networking events when synchronous events are pending.}}
* {{miss|Profile Flash IPC messages and rearrange event delivery to delay painting and networking events when synchronous events are pending.}} - Code is written, but not reviewed and landed.


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


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


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


* {{ok|Scratchpad remoted and integrated with the debugger.}}
* {{miss|Scratchpad remoted and integrated with the debugger.}}
* {{ok|FPS monitor, frame boundaries in the profiler.}}
** so close...
* {{miss|FPS monitor, frame boundaries in the profiler.}}
** diverted due to b2g
* {{ok|tagStack, XHR breakpoints.}}
* {{ok|tagStack, XHR breakpoints.}}
** XHR breakpoints are close, tagStack will follow


=== Content Tools ===
=== Content Tools ===
Line 70: Line 86:
* {{ok|Profile Reset}}
* {{ok|Profile Reset}}
* {{ok|Guest Mode (Switching to a temporary profile)}}
* {{ok|Guest Mode (Switching to a temporary profile)}}
* {{ok|Kid Mode (A profile with strong parental controls)}}
* {{ok|Investigate viability of Kid Mode with UX (A profile with strong parental controls)}}
* {{ok|Senior Mode (A profile with less options and designed pure ease-of-use)}}
* {{ok|Investigate viability of Senior Mode with UX (A profile with less options and designed pure ease-of-use)}}


===Reader Enhancements===
===Reader Enhancements===
Line 78: Line 94:
* {{ok|Sans Serif/Serif font toggle}}
* {{ok|Sans Serif/Serif font toggle}}
* {{ok|Open into Reading List from home screen}}
* {{ok|Open into Reading List from home screen}}
* {{ok|Add to Reading List from external apps (twitter)}}
* {{ok|Add to Reading List from external apps (for example: twitter)}}
* {{ok|Text-to-Voice investigations (investigate the technology)}}
* {{ok|Text-to-Voice investigations (investigate the technology)}}
* {{ok|Twitter card support for richer Reading List (investigate the design)}}
* {{ok|Twitter card support for richer Reading List (investigate the design with UX)}}


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


Line 94: Line 110:
* {{ok|Hostname completion}}
* {{ok|Hostname completion}}
* {{ok|Keyboard shortcuts}}
* {{ok|Keyboard shortcuts}}
* {{ok|SNAV}}
* {{ok|Quickly share using last "Share App" from menu}}
* {{ok|Quickly share using last "Share App" from menu}}
* {{ok|Improve Settings UI}}
* {{ok|Improve Settings UI}}
Line 105: Line 120:
== Community Development ==
== Community Development ==


* {{ok|Establish a roadmap for contributors so that they can view their progress on Mozillians and can see what the next "level up" is.}}
* {{miss|Establish a roadmap for contributors so that they can view their progress on Mozillians and can see what the next "level up" is.}}
* {{ok|Implement engineering contributor rewards program, including both recognition/badges and "stuff".}}
* {{done|Implement engineering contributor rewards program, including both recognition/badges and "stuff".}}
* {{ok|Automate, either through bugzilla-anthropology or Bugzilla proper, the awarding of many of the badges in the Engineering badging effort.}}
* {{miss|Automate, either through bugzilla-anthropology or Bugzilla proper, the awarding of many of the badges in the Engineering badging effort.}}
* {{ok|Design and implement a set of metrics to measure Mozilla's support for volunteer engineering, and volunteer participation/effectiveness for deployment in Q3.}}
* {{miss|Design and implement a set of metrics to measure Mozilla's support for volunteer engineering, and volunteer participation/effectiveness for deployment in Q3.}}
* {{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.}}
* {{done|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 ==
Line 118: Line 133:
* {{ok|ensure measurements outside of collection time do not incur fsyncs }}
* {{ok|ensure measurements outside of collection time do not incur fsyncs }}


== Android ==
=== Android ===


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


== Platform Integration ==
==Platform Integration==
* {{ok|Continued support of Firefox for Metro goals}}
 
=== Firefox for Metro ===
* {{ok|Continued support of Firefox for Metro goals (3 from the Platform Integration team}}
=== Australis ===
* {{ok|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 ===
** {{ok|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 stub installer ping data analysis}}
* App Update
=== Application Update ===
** {{ok|Installations on previous version analysis}}
** {{ok|Installations on previous version analysis}}

Latest revision as of 22:37, 1 July 2013

Firefox Desktop

Search Hijacking

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

Performance

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

Australis

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

Profile Reset

  • [ON TRACK] Improve experience and promote its usage. (tracking: bug 851364)
    • [DONE] Migrate tabs from previous session
    • Promote/enable reset in more places
      • Upon reinstall of Firefox
      • [DONE] Upon using a profile that hasn't been used for a long time
    • [DONE] Post-reset "first run" page
      • General re-welcome/info, tab selection, continuation of reset experience
      • Guide them to next steps if reset was successful (yay!) or failed (boo, more SUMO links)

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)

Papercuts

  • [ON TRACK] This is a stretch goal, and largely depends how much Australis post-landing fallout there may be.
    • "Show my windows and tabs from last time" should be the default.
    • Ensure commands which open the Places organizer open it in the correct section/view
    • Clean up Help menu

Stability

  • [AT RISK] 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.
  • [DONE] Develop reports to allow prioritization of potentially exploitable crashes.

Plugins

  • [MISSED] 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
  • [MISSED] Profile Flash IPC messages and rearrange event delivery to delay painting and networking events when synchronous events are pending. - Code is written, but not reviewed and landed.

Firefox Developer Tools

  • Mobile Everywhere

Add-on SDK

Script and Performance Tools

  • [MISSED] Scratchpad remoted and integrated with the debugger.
    • so close...
  • [MISSED] FPS monitor, frame boundaries in the profiler.
    • diverted due to b2g
  • [ON TRACK] tagStack, XHR breakpoints.
    • XHR breakpoints are close, tagStack will follow

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] Investigate viability of Kid Mode with UX (A profile with strong parental controls)
  • [ON TRACK] Investigate viability of Senior Mode with UX (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 (for example: twitter)
  • [ON TRACK] Text-to-Voice investigations (investigate the technology)
  • [ON TRACK] Twitter card support for richer Reading List (investigate the design with UX)

WebRT

  • [ON TRACK] Packaged app support
  • [ON TRACK] Investigate APK wrapper viability (long term 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] 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

  • [MISSED] Establish a roadmap for contributors so that they can view their progress on Mozillians and can see what the next "level up" is.
  • [DONE] Implement engineering contributor rewards program, including both recognition/badges and "stuff".
  • [MISSED] Automate, either through bugzilla-anthropology or Bugzilla proper, the awarding of many of the badges in the Engineering badging effort.
  • [MISSED] Design and implement a set of metrics to measure Mozilla's support for volunteer engineering, and volunteer participation/effectiveness for deployment in Q3.
  • [DONE] 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

Firefox for Metro

  • [ON TRACK] Continued support of Firefox for Metro goals (3 from the Platform Integration team

Australis

  • [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 stub installer ping data analysis

Application Update

    • [ON TRACK] Installations on previous version analysis