Platform/2014-Q4-Goals: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
No edit summary
Line 1: Line 1:
== Platform ==
== Platform ==
=== [[Platform/2014-Goals|2014 General Goals (by Product/Theme)]] ===
== General Goals (by Team) ==
=== GFX ===
Items marked [https://docs.google.com/a/mozilla.com/spreadsheet/ccc?key=0AnKFEBp1-VyqdFNfRlZmV0ExM0VvZGMxNThWX0d6LWc&usp=drive_web#gid=0 here] with release 35 and 36 are part of the Q4 landings.


For Q4, the team decided to reformat the goals to demonstrate if they served a particular Product or more generally the Web Platform. We also wanted to call out high level themes around areas of focus. A list of the same goals broken down in the more familiar team format can be found [https://wiki.mozilla.org/Platform/2014-Q4-Goals-ByTeam here].
The current plans is to concentrate on delivering functionality in releases 37 and later, with releases 35 and 36 being used to stage the partial implementations. For example, 2015 Q1 plans call for:
* Firefox OS 2.0/2.1 device support (as not handled by the device team)
* Async pan zoom improvements for Firefox OS (driven by UX or performance requirements, including support for Project Silk)
* WebGL1 performance. Move towards parity with Chrome (targeting Windows as the priority)
* WebGL2 demo MWC/GDC.


====Firefox Desktop====
=== Layout ===


<b>Theme</b>: Put Desktop on a growth trajectory by reducing crashes, enabling media and increasing performance
* CSS Animations, Transforms, & Transitions
** {{ok|transitions/animations spec editing}}
** {{ok|work to match new spec}}


*e10s
* OMTA on non-B2G Platforms (980770)
** gfx support
** {{ok|fix correctness bugs (cascading, etc.)}}
** {{ok|{{bug|874016}} ensure all plugin work related to e10s is complete}}
*** partly done in {{bug|996796}}
** accessibility - e10s goal - TBD
** {{ok|turning on on other OMTC platforms (Mac/Win/Android)}}
** OMTC Windows


* Performance/responsiveness
* Web Animations:  
** OMTA on non-B2G Platforms (980770)
** TBD
*** {{ok|fix correctness bugs (cascading, etc.)}} -  partly done in {{bug|996796}}
*** {{ok|turning on on other OMTC platforms (Mac/Win/Android)}}
 
* Text Performance
** {{ok|{{bug|934770}}}} - slow at rendering large blocks of plain text
** {{ok|{{bug|860492}}}} - Divide large text runs into smaller runs to avoid chrome hangs
 
* Media Source Extensions
** {{ok|Enable YouTube MSE/VP9{{bug|1000686}}}}
** {{ok|Enable YouTube MSE/MP4 on Windows}}
 
====FirefoxOS====
 
<b>Theme</b>: Support mobile web platform capabilities - feature parity with other platforms.
 
* DOM
** {{ok|WebComponents: one of :host ({{bug|992245}}) or :content (TBD which is more important) selector landed (preffed off) on m-c}}
** {{ok|respond to Service Worker feedback, adapt to spec changes, and improve performance}}
** {{ok|{{bug|701634}} land IndexedDB in workers on m-c}}
** {{ok|{{bug|997779}} Implement more w3c manifest (marcosc)}}
** Enable Vertical Text for major use cases for Chinese & Japanese
*** {{ok|{{bug|145503}}}} - Meta Bug.
 
* CSS Scrolling
** {{risk|CSS scroll snapping}} - spec issues prevent deployment
 
* JS
** {{ok|{{bug|972710}} ARM64 Baseline}}
** {{ok|{{bug|650161}} Compacting GC}}
 
* Accessibility
** {{ok|{{bug|1069598}} Gesture quicknav (ffos a11y)}}
** {{ok|{{bug|1069600}} Gesture text nav (ffos a11y)}}
** {{ok|{{bug|1069574}} Screen reader hints (ffos a11y)}}
** {{ok|}} GAIA: Fix [https://bugzilla.mozilla.org/buglist.cgi?cmdtype=dorem&remaction=run&namedcmd=Productivity%20b2ga11y%20p%3D1&sharer_id=458165&list_id=11280813 Productivity P1 a11y bugs] (~47 at this time)
 
====Firefox for Android====
* No clear goals called out for Q4
 
====Web Platform====
 
<b>Theme</b>: Framework for measurements
 
* Have a solution defined for fixing the ADI problem
** Understand the issue
** Investigate the solutions
* Some benchmarking goal (?)
** Figure out a plan for measurements and benchmarking for Platform
 
<b>Theme</b>: Drive web standards
* DOM
** {{ok|Produce a draft for [https://wiki.whatwg.org/wiki/Sharing Sharing] (annevk)}}
** {{ok|Define persistent notifications in the [https://notifications.spec.whatwg.org/ Notifications API Standard] (notifications associated with a service worker; annevk)}}


* CSS Grid   
* CSS Grid   
** Goal TBD
** TBD


* CSS Ruby  
* CSS Ruby  
** Our intern got through a bunch of this, but we'll continue it next quarter; remaining work tracked in {{bug|css-ruby}} and {{bug|enable-css-ruby}}
** Our intern got through a bunch of this, but we'll continue it next quarter; remaining work tracked in {{bug|css-ruby}} and {{bug|enable-css-ruby}}
** {{done|style system support}}
** {{done|frame construction}}
** {{done|anonymous box handling}}
** {{done|reflow architecture and horizontal positioning}}
** {{ok|line breaking}}
** {{ok|line breaking}}
** {{ok|vertical positioning}}
** {{ok|vertical positioning}}
** {{ok|other dependencies on enabling the feature}}
** {{ok|other dependencies on enabling the feature}}


* WOFF2 Fonts
=== Media ===
** {{done|implementation {{bug|1064737}}}}
* {{ok|Enable YouTube MSE/VP9{{bug|1000686}}}}
 
* {{ok|Enable YouTube MSE/MP4 on Windows}}
* CSS Animations, Transforms, & Transitions
** {{ok|transitions/animations spec editing}}
** {{ok|work to match new spec}}  


* Web Animations:
'''Detailed Breakdown'''
** TBD
* MSE Common
 
** {{done|Rate adaption/buffer switching, reseting}}
* JS
** {{miss|Seeking into unbuffered ranges {{bug|1056440}}}}
** {{ok|{{bug|837314}} ES6 classes}}
** {{todo|Eviction/pinning}}
** {{ok|{{bug|894105}} SIMD.js IonMonkey x86}}
* MSE WebM
 
** {{done|WebM segment parser {{bug|881512}}}}
<b>Theme</b>: Progress towards more robust security hooks for better correctness in content security features like CSP, mixed content, etc.
* MSE MP4
* Add LoadInfo to all channels (dri=ckerschb,tanvi)
** {{done|MP4 segment parser {{bug|1027875}}{{bug|1057203}}}}
* Fix MCB redirect bug (dri=tanvi)
** MP4 Demuxer
* Implement CSP Level 2.0 features (dri=sstamm,ckerschb)
*** {{done|Integrate stagefright MP4 demuxer {{bug|908503}}}}
* Initial Implementation of sub-resource integrity (992096) (dri=francois)
*** {{done|Accurate range reporting {{bug|1045909}}}}
*** {{done|CENC support {{bug|1022434}}}}
*** {{todo|DASHIF and other players aside from YouTube {{bug|1039149}}}}
** H.264/AAC Decoder
*** {{done|MP4/fMP4 platform decoder module for Mac OSX {{bug|941296}}}}
*** {{miss|MP4 support on Firefox OS {{bug|1060900}}}}
**** {{done|MP4 platform decoder module for Firefox OS {{bug|941302}}}}
**** {{miss|Use a single shared decoder for MSE on b2g {{bug|1036849}}}}


<b>Theme:</b> Progress towards defeating certificate misissuance, progress against Man-In-The-Mid, fresher/more accurate revocation informationdle attacks
=== DOM ===
* Add more BR checking (some combination of giving errors during path building, wall of shame, console warnings -- tbd)  [dri=dkeeler]
* {{ok|WebComponents: one of :host ({{bug|992245}}) or :content (TBD which is more important) selector landed (preffed off) on m-c}}
* Identify what of Certificate Transparency we must/should deploy [dri=rbarnes]
* {{ok|respond to Service Worker feedback, adapt to spec changes, and improve performance}}
* Complete phase 1 of migration to CA database [dri=kwilson]
* {{ok|{{bug|701634}} land IndexedDB in workers on m-c}}
* [stretch] Import mozilla::pkix to a branch of NSS [dri=jcjones]
* {{ok|{{bug|942542}} land new quota API on PBackground on m-c}}
* [stretch] Add ability to name constrain more root CAs [dri=dkeeler]
* {{ok|{{bug|874016}} ensure all plugin work related to e10s is complete}}
* [stretch] Add security warnings about SHA-1 to Web Console (dri=mgoodwin)
* {{ok|Produce a draft for [https://wiki.whatwg.org/wiki/Sharing Sharing] (annevk)}}
* {{ok|Define persistent notifications in the [https://notifications.spec.whatwg.org/ Notifications API Standard] (notifications associated with a service worker; annevk)}}
* {{ok|{{bug|997779}} Implement more w3c manifest (marcosc)}}


=== JS  ===
* {{ok|{{bug|837314}} ES6 classes}}  - web platform
* {{ok|{{bug|972710}} ARM64 Baseline}} - ffos
* {{ok|{{bug|650161}} Compacting GC}}  - ffos
* {{ok|{{bug|894105}} SIMD.js IonMonkey x86}}  - web platform


=== Engineering Operations ===
=== Accessibility ===
* e10s goal - TBD
* {{ok|{{bug|1069598}} Gesture quicknav (ffos a11y)}}
* {{ok|{{bug|1069600}} Gesture text nav (ffos a11y)}}
* {{ok|{{bug|1069574}} Screen reader hints (ffos a11y)}}
* {{ok|}} GAIA: Fix [https://bugzilla.mozilla.org/buglist.cgi?cmdtype=dorem&remaction=run&namedcmd=Productivity%20b2ga11y%20p%3D1&sharer_id=458165&list_id=11280813 Productivity P1 a11y bugs] (~47 at this time)
* etc/TBD


<b>Theme:</b> Product Related
=== Perf ===


<b>Theme:</b> Tool Development and Automation
=== Networking ===


<b>Theme:</b> Operational Efficiency
* {{ok|Ship Network Predictor ("Seer") on nightly, using HTTP cache instead of SQLite ({{bug|1009122}}) (hurley)}}
* {{ok|Provide way to "set network offline" per app ({{bug|786419}}) (valentin) }}
* {{ok|Network up/down link detection on B2G [lame-network] (bagder)}}
* {{ok|OpenVPN client API working on B2G ({{bug|1033580}}) (dragana) }}
* {{ok|Implement WebSocket compression extension ({{bug|792831}}) (michal) }}
* {{ok|Supporting loading B2G app resources via HTTP URIs ({{bug|1036275}}) (jduell, valentin) }}
* {{ok|Add ability to pin HTTP cache entries ({{bug|1032254}}) (honza) }}
* {{ok|Dependent priorities for http/2 ({{bug|1003450}}) (mcmanus) }}


=== Mobile  ===


==== A*Team ====
=== A*Team ===


(draft only)
(draft only)
Line 133: Line 116:
See full list: [[Auto-tools/Goals/2014Q4]]
See full list: [[Auto-tools/Goals/2014Q4]]


==== QA ====
=== QA ===
(Draft)
(Draft)
* Shift focus to exploratory testing and finding bugs rather than verification for non-security bugs to see if that helps us find more high value bugs earlier in the nightly/aurora cycle (Will continue to attempt verification for all security bugs). - desktop
* Shift focus to exploratory testing and finding bugs rather than verification for non-security bugs to see if that helps us find more high value bugs earlier in the nightly/aurora cycle (Will continue to attempt verification for all security bugs). - desktop
Line 144: Line 127:
[https://wiki.mozilla.org/QA/Goals/2014q4 Full list here]
[https://wiki.mozilla.org/QA/Goals/2014q4 Full list here]


==== Web Engineering ====
=== Web Engineering ===
(draft)
 
'''crash-stats'''
'''crash-stats'''
* {{ok|}} begin migrating subsystems to AWS
* {{ok|}} begin migrating subsystems to AWS
Line 165: Line 150:
** With the new plugin architecture and Elasticsearch backend, a lot of previously difficult possiblities are opened to us. Examples: index a new language, show result counts, show indexed revision identifiers, do some [https://wiki.mozilla.org/DXR_Result_Mixing result mixing], or default the query parser to interpret text runs as phrase matches.
** With the new plugin architecture and Elasticsearch backend, a lot of previously difficult possiblities are opened to us. Examples: index a new language, show result counts, show indexed revision identifiers, do some [https://wiki.mozilla.org/DXR_Result_Mixing result mixing], or default the query parser to interpret text runs as phrase matches.


==== SUMO and Input ====
=== SUMO and Input ===
(draft only)
(draft only)
* Implement v1.0 of BuddyUp, the live support app for FirefoxOS, and integrate it with existing SUMO web app.
* Implement v1.0 of BuddyUp, the live support app for FirefoxOS, and integrate it with existing SUMO web app.
Line 171: Line 156:
* (Input goals still under discussion)
* (Input goals still under discussion)


==== Release Engineering / Release Operations / Developer Services ====
=== Release Engineering / Release Operations / Developer Services ===
(draft only)
* Identify, measure, and publish core release engineering KPIs.
* Identify, measure, and publish core release engineering KPIs.
* Develop a plan for disaster recovery and business continuation in the event of a disaster for release infrastructure.
* Develop a plan for disaster recovery and business continuation in the event of a disaster for release infrastructure.
Line 179: Line 165:
* Develop automation and self-serve APIs for developers to remove the need to have one full time engineer on buildduty.
* Develop automation and self-serve APIs for developers to remove the need to have one full time engineer on buildduty.
* Automate release processes, again to free engineer time and reduce opportunity for error.
* Automate release processes, again to free engineer time and reduce opportunity for error.
=== Security & Privacy ===
==== Desired Outcome for Q4 ====
    Progress towards more robust security hooks for better correctness in content security features like CSP, mixed content, etc.
* Add LoadInfo to all channels (dri=ckerschb,tanvi)
* Fix MCB redirect bug (dri=tanvi)
* Implement CSP Level 2.0 features (dri=sstamm,ckerschb)
* Initial Implementation of sub-resource integrity (992096) (dri=francois)
==== Desired Outcome for Q4 ====
    Progress towards defeating certificate misissuance
    Progress against Man-In-The-Mid
    Fresher/more accurate revocation informationdle attacks.
* Add more BR checking (some combination of giving errors during path building, wall of shame, console warnings -- tbd)  [dri=dkeeler]
* Identify what of Certificate Transparency we must/should deploy [dri=rbarnes]
* Complete phase 1 of migration to CA database [dri=kwilson]
* [stretch] Import mozilla::pkix to a branch of NSS [dri=jcjones]
* [stretch] Add ability to name constrain more root CAs [dri=dkeeler]
* [stretch] Add security warnings about SHA-1 to Web Console (dri=mgoodwin)
=== Firefox and Platform Security ===
* AWS Cloud Fuzzing (overall)
** Crash Collector server and client (FuzzManager)
** Standard images and trial runs for current fuzzing tools
* Fuzzing additions and improvements
** Finish Github migration for DOMFuzz (delayed due to Releng integration)
** Fragmented mpeg4 codec fuzzing
** Gecko Media Plugin fuzzing (IPC work)
** Peach Console launcher and logger
** Microsoft Visual Studio Professional 2013 upgrade for JS fuzzers
* JavaScript Fuzzing for JS team
* ASAN on Windows: standardize and document how to build
* ASAN Windows initial test runs and bug logging (may be blocked by ASAN builds on Windows)
* Bug Bounty Revamp including website documentation
=== Games Program ===
=== Program/Project Management ===
* Keep the platform Trello board up to date so it's the source of truth on priorities and status
* Produce a regular "Platform Status Report"
* Work with Kyle Lahnakoski to produce dashboards to help the Platform team track progress
** Socialize and enhance the dashboard for "reviews"
** Select the next set of metrics to look at ie: needs info
** Produce burndowns to track top priority features ie: MSE
Confirmed users
2,492

edits

Navigation menu