Platform/2014-Q3-Goals: Difference between revisions

 
(11 intermediate revisions by 8 users not shown)
Line 7: Line 7:
=== Layout ===
=== Layout ===
* Layout to Moz2D
* Layout to Moz2D
** {{ok|Migrate SVG to Moz2D (bug 703159) }}
** {{done|Migrate SVG to Moz2D (bug 703159) }}


* Enable Vertical Text for major use cases for Chinese & Japanese
* Enable Vertical Text for major use cases for Chinese & Japanese
Line 42: Line 42:


* Animations & Transitions
* Animations & Transitions
** {{risk|transitions/animations spec editing}}
** {{miss|transitions/animations spec editing}}
** {{risk|transitions refactoring to match new spec}}  
** {{done|transitions refactoring to match new spec}}  
*** {{done|{{bug|996796}}}} landed, but work is ongoing for {{bug|960465}}
*** {{done|{{bug|996796}}}} landed, but work is ongoing for {{bug|960465}}
** {{done|frame reconstruction (625289)}}
** {{done|frame reconstruction (625289)}}
** {{risk|Effective start of CSS animations and transitions {{bug|927349}}}}
** {{miss|Effective start of CSS animations and transitions {{bug|927349}}}}
*** may spill into Q4
*** may spill into Q4


Line 52: Line 52:
** {{risk|fix correctness bugs (cascading, etc.)}}
** {{risk|fix correctness bugs (cascading, etc.)}}
*** partly done in {{bug|996796}}, but cascading fix likely miss
*** partly done in {{bug|996796}}, but cascading fix likely miss
** {{risk|turning on on other OMTC platforms (Mac/Android)}}
** {{miss|turning on on other OMTC platforms (Mac/Android)}}


* Web animations:  
* Web animations:  
** {{done|Get basic implementation of GetAnimationPlayers {{bug|1032573}}}}
** {{done|Get basic implementation of GetAnimationPlayers {{bug|1032573}}}}
** {{risk|Implement PlaybackControl() {{bug|1033114}}}}
** {{done|Implement PlaybackControl() {{bug|1033114}}}}
*** may spill into Q4


* CSS Scrolling
* CSS Scrolling
** {{ok|CSS scroll snapping}}
** {{miss|CSS scroll snapping}}
** {{ok|scroll-behavior:smooth}}
** {{done|scroll-behavior:smooth}}


* CSS Flexbox   
* CSS Flexbox   
Line 112: Line 111:
* {{done|Route all JSContext pushing through AutoJSAPI and Implement GetEntryGlobal (bobowen, bholley, {{bug|951991}})}}
* {{done|Route all JSContext pushing through AutoJSAPI and Implement GetEntryGlobal (bobowen, bholley, {{bug|951991}})}}
* {{miss|Land <picture> preffed on on nightly ({{bug|1017875}}) (johns)}}
* {{miss|Land <picture> preffed on on nightly ({{bug|1017875}}) (johns)}}
** John got pulled into e10s plugin work ({{bug|874016}}) but made excellent progress here and was ''very'' close to preffing on by the end of Q3.
** 99% done, but John got pulled into e10s plugin work ({{bug|874016}}) but made excellent progress here and was ''very'' close to preffing on by the end of Q3.
* {{done|audit callsites of IsInDoc()/GetCurrentDoc to ensure correct Shadow DOM behaviour and fix Shadow DOM blockers for Gaia (smaug, wchen) ({{bug|1026047}})}}
* {{done|audit callsites of IsInDoc()/GetCurrentDoc to ensure correct Shadow DOM behaviour and fix Shadow DOM blockers for Gaia (smaug, wchen) ({{bug|1026047}})}}
* {{miss|land Service Workers preffed off on nightly (nsm, bkelly, baku) ({{bug|903441}})}}
* {{miss|land Service Workers preffed off on nightly (nsm, bkelly, baku) ({{bug|903441}})}}
Line 125: Line 124:
* {{miss|document existing activities usage in gaia (ehsan)}}
* {{miss|document existing activities usage in gaia (ehsan)}}
** this work is underway but it's not yet complete
** this work is underway but it's not yet complete
* {{ok|get [https://w3c.github.io/screen-orientation/ screen orientation spec] to LC (marcosc)}}
* {{miss|get [https://w3c.github.io/screen-orientation/ screen orientation spec] to LC (marcosc)}}
** all work was done here but a blocker was discovered late in the game
** the blocker for this is now the animation task source which is currently underdefined and is being worked on as a part of the [https://fullscreen.spec.whatwg.org/#dom-element-requestfullscreen fullscreen API] (see https://www.w3.org/Bugs/Public/show_bug.cgi?id=26440)
* {{done|publish [http://www.w3.org/TR/wake-lock-use-cases/ use cases for wake locks] (marcosc)}}
* {{done|publish [http://www.w3.org/TR/wake-lock-use-cases/ use cases for wake locks] (marcosc)}}
* {{ok|publish spec for [http://w3c.github.io/wake-lock/ "wakelock" API] (marcosc)}}
* {{miss|publish spec for [http://w3c.github.io/wake-lock/ "wakelock" API] (marcosc)}}
** there is a spec but it got held up on making WebIDL attributes observable
** current status is that others in the community make pick this up and drive it forward
* {{done|24/12 hour format API (ehsan) {{bug|903683}}}}
* {{done|24/12 hour format API (ehsan) {{bug|903683}}}}
* {{miss|{{bug|942542}} new quota API on PBackground for Service Worker cache (janv)}}
* {{miss|{{bug|942542}} new quota API on PBackground for Service Worker cache (janv)}}
Line 157: Line 160:
Fix major source of browser jank:
Fix major source of browser jank:


* {{ok|Initialize plugin instances asynchronously {{bug|998863}} }}
* {{done|(milestone reached, work continues in Q4) Initialize plugin instances asynchronously {{bug|998863}} }}
* {{ok|Pause heavy main-thread activities while user is interacting with the browser: }}
* {{miss|('''Blocked on external dependencies + unplanned newtab page work took precedence''') Pause heavy main-thread activities while user is interacting with the browser: }}
** {{ok|Determine when a user is actively interacting with the browser}}
** {{miss|Determine when a user is actively interacting with the browser}}
** {{ok|Detect when jank occurs during interactions and report to Telemetry {{bug|1017055}} }}
** {{miss|Detect when jank occurs during interactions and report to Telemetry {{bug|1017055}} }}
** {{ok|Experiment with hinting to GC & CC that they should pause while the user is interacting with the browser}}
** {{miss|Experiment with hinting to GC & CC that they should pause while the user is interacting with the browser}}
* {{ok|Help Frontend team with Places refactoring, eliminate some of the [http://telemetry.mozilla.org/slowsql/ Places main-thread SQL] reported to Telemetry }}
* {{done|(refactoring work continues) Help Frontend team with Places refactoring, eliminate some of the [http://telemetry.mozilla.org/slowsql/ Places main-thread SQL] reported to Telemetry }}
* {{ok|Don't store UI customization in localstore.rdf, use off-main thread JSON instead {{bug|559505}} }}
* {{done|Don't store UI customization in localstore.rdf, use off-main thread JSON instead {{bug|559505}} }}


Improve Firefox startup (identified as a top issue in user research):
Improve Firefox startup (identified as a top issue in user research):


* {{ok|Reduce appearance of the "profile is in use" message on startup {{bug|286355}} }}
* {{done|Reduce appearance of the "profile is in use" message on startup {{bug|286355}} }}
* {{ok|Restore windows one by one during session-restore {{bug|1034534}} and/or load windows by descending z-order {{bug|1034036}} }}
* {{defer|Restore windows one by one during session-restore {{bug|1034534}} and/or load windows by descending z-order {{bug|1034036}} }}
* {{ok|C++ version of AsyncShutdown {{bug|918317}} }}
* {{done|C++ version of AsyncShutdown {{bug|918317}} }}


Prevent performance regressions:
Prevent performance regressions:


* {{ok|Implement automatic detection & alerting for Telemetry regressions {{bug|1031032}} }}
* {{done|Implement automatic detection & alerting for Telemetry regressions {{bug|1031032}} }}
* {{ok|Help developers understand & diagnose Talos regressions}}, e.g. [https://bugzilla.mozilla.org/show_bug.cgi?id=1026550 Firefox 33 regression tracking], [https://bugzilla.mozilla.org/show_bug.cgi?id=1004427 Firefox 32 regressions], [https://bugzilla.mozilla.org/show_bug.cgi?id=990085 Firefox 31]
* {{done|Help developers understand & diagnose Talos regressions}}, e.g. [https://bugzilla.mozilla.org/show_bug.cgi?id=1026550 Firefox 33 regression tracking], [https://bugzilla.mozilla.org/show_bug.cgi?id=1004427 Firefox 32 regressions], [https://bugzilla.mozilla.org/show_bug.cgi?id=990085 Firefox 31]


Grow community:
Grow community:


* {{ok|Mentor at least 5 external contributors}}
* {{done|Mentor at least 5 external contributors}}


=== Networking ===
=== Networking ===
Line 206: Line 209:


'''Developer Productivity'''
'''Developer Productivity'''
* {{ok|}} Deploy ReviewBoard for developers to start using (joint with RelEng)
* {{miss|}} Deploy ReviewBoard for developers to start using (joint with RelEng)
** Primary dev on medical leave for a month; will be finished early q4.


'''Performance'''
'''Performance'''
* {{done|}} Deploy new Talos tests for tp5o_scroll, webgl, webrtc, and mainthread I/O
* {{done|}} Deploy new Talos tests for tp5o_scroll, webgl, webrtc, and mainthread I/O
* {{ok|}} Get Datazilla alerts to beta mode (full parity with graph server alerts) with reduced noise
* {{done|}} Get Datazilla alerts to beta mode (full parity with graph server alerts) with reduced noise
* {{done|}} Get Eideticker running against Android again with increased frequency
* {{done|}} Get Eideticker running against Android again with increased frequency
* {{done|}} Run B2G Eideticker against same branch/build combinations as our other on-device perf tests
* {{done|}} Run B2G Eideticker against same branch/build combinations as our other on-device perf tests
Line 223: Line 227:


'''General Automation'''
'''General Automation'''
* {{ok|}} Create weekly reports that describe how many tests have been added/disabled/enabled per suite and platform
* {{done|}} Create weekly reports that describe how many tests have been added/disabled/enabled per suite and platform
* {{ok|}} Move reftest to mozbase
* {{done|}} Move reftest to mozbase
* {{done|}} Add command executors for Marionette for Java and Python
* {{done|}} Add command executors for Marionette for Java and Python


'''Bugzilla'''
'''Bugzilla'''
* {{done|}} Improve load time of related bugs; can decrease show_bug load times by up to 12%
* {{done|}} Improve load time of related bugs; can decrease show_bug load times by up to 12%
* {{ok|}} Minify and concatenate JS files
* {{done|}} Minify and concatenate JS files
* {{ok|}} Authoritative view for review history
* {{done|}} Authoritative view for review history
* {{ok|}} Rewrite docs for REST API
* {{done|}} Rewrite docs for REST API


'''Community'''
'''Community'''
Line 239: Line 243:
=== Web Engineering ===
=== Web Engineering ===
'''Crash stats'''
'''Crash stats'''
* {{ok|}} Prototype service for identifying post-crash user actions
* {{done|}} Prototype service for identifying post-crash user actions
* {{done|}} Hardware and performance tuning for new primary data store
* {{done|}} Hardware and performance tuning for new primary data store
* {{ok|}} Remove older, redundant crash storage format from database
* {{done|}} Remove older, redundant crash storage format from database
* {{drop|}} Improve search performance and features
* {{drop|}} Improve search performance and features
** API changes in the underlying tech made this much more complicated that originally estimated. Will be carried over to next Q.
** API changes in the underlying tech made this much more complicated that originally estimated. Will be carried over to next Q.
Line 282: Line 286:
* {{done|}} Input: Improve documentation and install to lower the bar for contribution ([[Firefox/Input/Reduce Contributor Pain]]) [Enable Communities with Impact]
* {{done|}} Input: Improve documentation and install to lower the bar for contribution ([[Firefox/Input/Reduce Contributor Pain]]) [Enable Communities with Impact]
* {{done|}} Input: Support Heartbeat ([[Firefox/Input/Heartbeat]]) [Get Firefox on a Growth Trajectory]
* {{done|}} Input: Support Heartbeat ([[Firefox/Input/Heartbeat]]) [Get Firefox on a Growth Trajectory]
* {{risk|}} Input: Dashboards for Everyone ([[Firefox/Input/Dashboards for Everyone]]) [Get Firefox on a Growth Trajectory] (half-done, just needs finishing work, but that keeps getting bumped by high-priority must-be-done-now stuff; think I can finish by october 10th)
* {{done|}} Input: Dashboards for Everyone ([[Firefox/Input/Dashboards for Everyone]]) [Get Firefox on a Growth Trajectory]


=== Release Engineering - Laura ===
=== Release Engineering - Laura ===
Line 330: Line 334:
'''Communications Security'''
'''Communications Security'''
* {{done|SSL Error Reporting finish first implementation of ssl error reporting feature.}} (dri=grobinson)
* {{done|SSL Error Reporting finish first implementation of ssl error reporting feature.}} (dri=grobinson)
* {{ok| HPKP - implement pinning http header}} (dri=cviecco)
* {{done| HPKP - implement pinning http header}} (dri=cviecco)
* {{done| Update [[CA:RevocationPlan|roadmap for Cert Revocation improvements]]}} (dri=rbarnes)
* {{done| Update [[CA:RevocationPlan|roadmap for Cert Revocation improvements]]}} (dri=rbarnes)
* {{done| Create a mechanism to provision phones with an alternate cert}} (dri=mgoodwin)
* {{done| Create a mechanism to provision phones with an alternate cert}} (dri=mgoodwin)
Line 363: Line 367:
=== Release Management ===
=== Release Management ===
For full list, see [[Release_Management/Goals/2014Q3#Release_Management_General|Release Management 2014Q3 Goals]].
For full list, see [[Release_Management/Goals/2014Q3#Release_Management_General|Release Management 2014Q3 Goals]].
* Create and document process for Desktop/Mobile feature fast tracking
* {{done|}} Create and document process for Desktop/Mobile feature fast tracking
* {{done|}} Determine future of ESR and how to manage this channel
* {{done|}} Determine future of ESR and how to manage this channel
** https://groups.google.com/forum/#!topic/mozilla.dev.planning/-IQWXs_zEp8
** https://groups.google.com/forum/#!topic/mozilla.dev.planning/-IQWXs_zEp8
Line 369: Line 373:
** Throttling time currently reduced from 10 to 7 days. Experimenting with further reductions.
** Throttling time currently reduced from 10 to 7 days. Experimenting with further reductions.
* Improve release notes with revamped template for all products
* Improve release notes with revamped template for all products
* Create B2G release model proposals and gather feedback for potential changes
* {{done|}} Create B2G release model proposals and gather feedback for potential changes
* Figure out what to do with B2G Security Releases
* {{miss|}} Figure out what to do with B2G Security Releases


===Program Management===
===Program Management===
Confirmed users
311

edits