Firefox/Goals/2013Q2: Difference between revisions

From MozillaWiki
< Firefox‎ | Goals
Jump to navigation Jump to search
(→‎Profile Reset: mark completed)
 
(38 intermediate revisions by 11 users not shown)
Line 2: Line 2:


=== Search Hijacking ===
=== Search Hijacking ===
* remove use of keyword.URL
* {{ok|remove use of keyword.URL}}
* add prefs UI for selecting default engine
* {{ok|put all search prefs under user control}}
* 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}})
** eliminate unnecessary main-thread I/O
** {{ok|eliminate unnecessary main-thread I/O}}
** investigate simplified storage back-end (SQLite->JSON)
** {{ok|implement simplified storage back-end (SQLite->JSON)}}
* Thumbnail service
* Thumbnail service
** 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}})
** 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
** reduce impact on tab animation
** {{ok|reduce impact on tab animation}} ({{bug|843853}})
* Password Manager
* Password Manager
** eliminate main-thread I/O
** {{miss|eliminate main-thread I/O}} ({{bug|853549}})
* localStorage
* localStorage
** Eliminate all uses of localStorage in application code
** {{risk|Eliminate all uses of localStorage in application code}} ({{bug|789348}})


=== 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 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 ===
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 ===


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


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


* Make plugin and plugin instance instantiation asynchronous
* {{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}}
* 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 ==
* Mobile Everywhere


=== Add-on SDK ===
=== Add-on SDK ===


* [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]}}
* Places API
* {{ok|[https://github.com/mozilla/addon-sdk/wiki/JEP-places-API Places API]}}
* 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 ===


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


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


* Finish remoting the Inspector
* {{ok|Finish remoting the Inspector.}}
* Plan and begin executing authoring strategy
* Plan and begin executing authoring strategy. Which means:
** (Which means: iterate on UX for in-browser authoring, better integrate Style Editing, prototype external editor integration)
** {{ok|create firm UX proposal for in-browser authoring,}}
* Provide metrics on Developer Tool usage through FHR probes
** {{ok|integrate Style Editor and Highlighter,}}
** {{ok|prototype external editor integration.}}
* {{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|Investigate viability of Kid Mode with UX (A profile with strong parental controls)}}
* 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===
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 (for example: 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 with UX)}}


===WebRT===
===WebRT===
* Packaged app support
* {{ok|Packaged app support}}
* APK wrapper support (goal is to uplift to Marketplace)
* {{ok|Investigate APK wrapper viability (long term 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|Quickly share using last "Share App" from menu}}
* Quickly share using last "Share App" from menu
* {{ok|Improve Settings UI}}
* Improve Settings UI
* {{ok|Improve Session Restore}}
* 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 ==


* Make Mozillians a useful repository of information about core and new contributors, including all employees.
* {{miss|Establish a roadmap for contributors so that they can view their progress on Mozillians and can see what the next "level up" is.}}
* 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".}}
* Implement engineering contributor rewards program, including both recognition/badges and "stuff".
* {{miss|Automate, either through bugzilla-anthropology or Bugzilla proper, the awarding of many of the badges in the Engineering badging effort.}}
* Request from creative team: help provide art (art competition?) to support engineering badge recognition efforts .
* {{miss|Design and implement a set of metrics to measure Mozilla's support for volunteer engineering, and volunteer participation/effectiveness for deployment in Q3.}}
* Automate, either through bugzilla-anthropology or Bugzilla proper, the awarding of many of the badges in the Engineering badging effort.
* {{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.}}
* Design and implement a set of metrics to measure Mozilla's support for volunteer engineering, and volunteer participation/effectiveness.
 
* 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 ==
* Request from bugzilla team: automate regular data dumps of bugzilla data for researchers by 1-May
=== Desktop ===
 
* {{ok|reduce fsyncs to one per day}}
* {{ok|move session/activity tracking into Gecko/C++}}
* {{ok|ensure measurements outside of collection time do not incur fsyncs }}
 
=== Android ===
 
* {{ok|fully-featured native Android FHR client landed.}}
 
==Platform Integration==
 
=== 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}}
=== Stub Installer ===
* {{ok|Implement a minimum of two recommendations to improve user install success rate based on stub installer ping data analysis}}
=== Application Update ===
** {{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