Platform/2013-Q2-Goals: Difference between revisions

 
(81 intermediate revisions by 17 users not shown)
Line 1: Line 1:
=== General Goals ===
=== General Goals ===
=== GFX ===
==== [[Platform/2013-Goals|Platform 2013 Goals]] ====
==== [[Platform/2013-Goals|Platform 2013 Goals]] ====
# Games/Media/Social/Location
# Games/Media/Social/Location
Line 12: Line 9:
# Overall Software Quality
# Overall Software Quality


==== Goals (WIP) ====
=== GFX ===
 
==== Goals ====


Ship
Ship
* {{ok|{{nbug|716140}} - Multi-threaded image decoding. [3,5]}} (Train 23)
* {{done|{{nbug|716140}} - Multi-threaded image decoding. [3,5]}} (Train 23)
* {{risk|{{nbug|804893}} - Layers refactoring, D3D11 compositor. [2,3,5]}} (Train 22)
* {{done|{{nbug|804893}} - Layers refactoring, D3D11 compositor. [2,3,5]}} (Train 23)
* {{ok|{{nbug|804893}} - Layers refactoring, D3D11 compositor. [2,3,5]}} (Train 23)
* {{done|The GFX team will resolve all actionable security bugs within six weeks of their entering our components and receiving sec-high or sec-critical designation. [7]}} (All trains)
* {{ok|The GFX team will resolve all actionable security bugs within six weeks of their entering our components and receiving sec-high or sec-critical designation. [7]}} (All trains)
 


Land
Land
* {{ok|{{nbug|687187}}, {{nbug|827229}} - SkiaGL based canvas performance improvements on mobile. [2,6]}} (Trains 23, 24, 25)
* {{ok|{{nbug|651857}} - Azure improvements. [2,3,5]}} (Trains 24,25)
* {{ok|{{nbug|651857}} - Azure improvements. [2,3,5]}} (Trains 24,25)
* {{ok|WebGL performance improvements as driven by the games team. [2,6]}} (Trains 24,25)
* {{ok|{{nbug|687187}}, {{nbug|827229}} - SkiaGL based canvas performance improvements on mobile. [2,6]}} (Trains 23, 24, 25)
* {{ok|Fix WebGL security bugs.}} (Train 25)
* {{ok|Fix WebGL security bugs.}} (Train 25)
* {{ok|D2D 1.1}} (Trains 24, 25)
* {{done|D2D 1.1}} (Trains 24, 25)


Investigate
 
Preliminary Work
* {{ok|Scrolling performance on B2G}}
* {{ok|OMT Animation}}
* {{wishlist|WebGL performance improvements as driven by the games team. [2,6]}} (Trains 24,25)
* {{wishlist|Off main thread painting.}}
* {{wishlist|Off main thread painting.}}
* {{wishlist|Gradient performance.}}
* {{done|Gradient performance.}}
* {{wishlist|OMTC on the Mac}}
* {{ok|OMTC on the Mac}}
* {{wishlist|XP software path optimization}}
* {{wishlist|XP software path optimization}}
* {{wishlist|More robust downloadable blacklisting solution}}
* {{ok|More robust downloadable blocklisting solution}}


=== Layout ===
=== Layout ===
* {{ok|Readability 2.0}}
* {{ok|Readability 2.0}}
** {{ok|reflow-on-zoom: make decision on whether to move forward with ship, and if yes, get to shipping quality on mozilla-central (sjohnson)}}
** {{ok|reflow-on-zoom: make decision on whether to move forward with ship, and if yes, get to shipping quality on mozilla-central (sjohnson)}} (done is perhaps a little fuzzy here based on definiton of "shipping quality"; still working on bugs)
* {{ok|CSS Variables ({{bug|773296}}) landed on mozilla-central (heycam)}}
* {{miss|{{wishlist|CSS Variables ({{bug|773296}}) landed on mozilla-central (heycam)}}}} (is this more than wishlist?)
* {{ok|CSS [[Platform/Features/Vertical_text|Vertical Text]] ({{bug|145503}}):  get first part, {{bug|735577}}, landed on mozilla-central (smontagu) ''(is this the right milestone?  right owner(s)?)''}}
* {{miss|{{wishlist|CSS [[Platform/Features/Vertical_text|Vertical Text]] ({{bug|145503}}):  get first part, {{bug|735577}}, landed on mozilla-central (smontagu) ''(is this the right milestone?  right owner(s)?)''}}}}
* {{ok|Ship CSS Flexbox on release channel (dholbert)}}
* {{done|Ship CSS Flexbox on release channel (dholbert)}}
* {{ok|Resolve css3-multicol fuzz blockers (sjohnson, mats?)}}
* {{done|Resolve css3-multicol fuzz blockers (sjohnson, mats?)}}
* {{done|{{wishlist|Tests for OMT Animations (dzbarsky)}}}}


=== Video ===
=== Media ===
 
* {{ done | Resolve all media security bugs that received a designation of sec-moderate or higher more than six weeks ago. This is a permanent goal for the group. bug 831294 }}
* {{ done | Land sufficient performance with H.264 video playback support in mozilla-central (Nightly) for the Windows Metro product on the lower-end target hardware }}
* {{ done | Among QA's Android phones (approximately 100 phones), resolve most of the H.264/MP4 playback crash reports more than a month old (no more than 5 such crash reports open at the end of the quarter) by either getting the phones working or on the blacklist with the ultimate goal being that none of the Android phones we have physical access to crash on H.264/MP4 playback. }}
* {{ miss | Implement Media Source Extensions sufficient to support a first phase of adaptive streaming [chunked multi-bitrate/resolution streaming] for WebM on Linux or Windows 7/8 }}


=== DOM ===
=== DOM ===
* {{ok|Worker work - Enable FileReader on Worker Thread (khuey)}}
* {{done|Worker work - Enable ImageData (was FileReader) on Worker Thread (khuey)}}
* {{ok|{{nbug|850065}} Sliding views / incremental CC (Andrew)}}
* {{miss|{{nbug|850065}} Incremental cycle collection (Andrew)}}
* WebComponent  (blake, william)
* WebComponent  (blake, william)
** {{ok|{{nbug|653881}} Land XBL refactoring patches}}
** {{done|{{nbug|653881}} Land XBL refactoring patches}}
** {{ok|{{nbug|806506}} Implement ShadowRoot interface (as of March 25th)}}
** {{miss|{{nbug|806506}} Implement ShadowRoot interface (as of March 25th)}}
** {{ok|{{nbug|854736}} Implement basic insertion points without selector support}}
*** Done, but needs reviews and landing.
* {{ok|Snow white (for faster addref/release and for security fixes) (olli)}}
** {{deferred|{{nbug|854736}} Implement basic insertion points without selector support}}
* {{ok|{{nbug|853893}} Sane event handling for workers (olli, khuey)}}
 
*{{ok|{{nbug|848294}}  Update Animation and Transition event implementations to match specification (olli)}}
* {{miss|{{nbug|789919}} Snow white (for faster addref/release and for security fixes) (olli)}}
* {{ok|{{nbug|578700}} ES6 Spec - Binary Data support (nsm)}}
* {{miss|{{nbug|853893}} Sane event handling for workers (olli, khuey)}}
* {{ok|UndoManager (https://dvcs.w3.org/hg/undomanager/raw-file/tip/undomanager.html) (WChen)}}
* {{done|{{nbug|848294}}  Update Animation and Transition event implementations to match specification (olli)}}
* {{ok|Push Notifications support on Desktop (https://wiki.mozilla.org/WebAPI/SimplePush) (nsm)}}
* {{miss|{{nbug|578700}} ES6 Spec - Binary Data support (nsm)}}
* {{ok|{{nbug|851639}} Make it possible to register WebAPIs implemented in JS on navigator w/o writing any C++ code. (parity with current XPCOM mechanism)}}
* {{deferred|UndoManager (https://dvcs.w3.org/hg/undomanager/raw-file/tip/undomanager.html) (WChen)}}
* {{ok|Convert every Node to new bindings}}
* {{miss|{{nbug|856785}} Push Notifications support on Desktop (https://wiki.mozilla.org/WebAPI/SimplePush) (nsm)}}
* {{ok|Rewrite the global scope polluter as a proxy (peterv or bz)}}
* {{done|{{nbug|851639}} Make it possible to register WebAPIs implemented in JS on navigator w/o writing any C++ code. (parity with current XPCOM mechanism)}}
* {{ok|Enough Date support in WebIDL for HTMLInputElement}}
* {{done|Convert every Node to new bindings}}
* {{ok|Convert Geolocation to WebIDL}}
* {{miss|Rewrite the global scope polluter as a proxy (peterv or bz)}}
* {{ok|Audit test_interfaces to identify/reduce dom global namespace pollution (dougt)}}
** We started on this but didn't have enough time with the other work we did to complete it.
* {{done|{{nbug|742206}} Enough Date support in WebIDL for HTMLInputElement}}
* {{done|{{nbug|850442}} Convert Geolocation to WebIDL}}
* {{deferred|Audit test_interfaces to identify/reduce dom global namespace pollution (dougt)}}
** This turned into a larger API release policy discussion than what we were able to do in Q2, so deferred to Q3.
* {{done|Ensure that the median age of all DOM sec-critical and sec-high bugs is 3 weeks or less.}}


=== WebAPI ===
=== WebAPI ===
* Fix [http://www.w3.org/TR/streams-api/ Stream] API for XHR (annevk)
* {{done|Have [http://fetch.spec.whatwg.org/ Fetch] ready for review}} (annevk)
* Fix [http://xhr.spec.whatwg.org/ XMLHttpRequest]'s Stream integration (annevk)
* {{done|Land the Future feature in [http://dom.spec.whatwg.org/ DOM] spec}} (annevk, mounir)
* Get [http://fetch.spec.whatwg.org/ Fetch] 80% done (other 80% [sic] TBD) (annevk)
* {{done|Clarify the [[WebAPI]] table with respect to standardization (add a status column)}} (annevk)
* Land the Future feature in [http://dom.spec.whatwg.org/ DOM] spec (annevk, mounir)
* {{wishlist|Land multiple file support in input type file on m-c}} (baku)
* Clarify the [[WebAPI]] table with respect to standardization (basically add a status column) (annevk)
* {{wishlist|Get resource timing api ready for review ({{bug|822480}})}} (baku)
* Prepare a plan for when there's no standardization in progress (annevk)
* Land multiple file support in <input type="file"> on m-c (baku)
* Move resource timing api forward (baku)
* {{prev|land support for temporary storage (including IndexedDB) on m-c ({{bug|785884}})}} (jan)
* {{prev|land support for temporary storage (including IndexedDB) on m-c ({{bug|785884}})}} (jan)
* Simple storage JS library (baku, mounir)
* {{done|Write/update simple storage JS library and solicit feedback}} (baku, mounir)
* Get annotations to improve diagnosis of threading and memory issues into tree (bent)
* {{miss|Get annotations to improve diagnosis of threading and memory issues into tree}} (bent)
* Integrate IndexedDB into Gecko profiler to help diagnose performance issues (bent)
* {{done|Integrate IndexedDB into Gecko profiler to help diagnose performance issues}} (bent)
* IDB in workers (janv)
* {{miss|Land sync IDB in workers}} (janv)
* Help reduce orange factor to 7 (all)
* {{drop|Help reduce orange factor to 7}} (all)
* Have all SysApps specs at FPWD (mounir)
* {{done|Have all SysApps specs at FPWD}} (mounir, marcos)
* Finalize [[WebAPI/Inter_App_Communication|Inter-App Communication API]] and work with B2G team on use cases (mounir)
* {{miss|Finalize [[WebAPI/Inter_App_Communication|Inter-App Communication API]] and work with B2G team on use cases}} (mounir)
* {{wishlist|Plug localStorage and appcache into temporary storage}} (janv) (depends upon localStorage rewrite)
* {{wishlist|Plug localStorage and appcache into temporary storage}} (janv) (depends upon localStorage rewrite)
* {{wishlist|Multiprocess FileHandle}} (janv)
* {{wishlist|Multiprocess FileHandle}} (janv)
* {{prev|Design [http://www.w3.org/TR/streams-api/ Stream] API for XHR and have it in the [http://xhr.spec.whatwg.org/ XHR spec]}} (annevk)
* {{done|Define a way to associate a [http://www.w3.org/2012/sysapps/manifest/ manifest] and a web document together}} (marcos)
* {{deferred|Define parsing and processing model for [http://www.w3.org/2012/sysapps/manifest/ manifest] format}} (marcos)


=== JS  ===
=== JS  ===


=== Accessibility ===
=== Accessibility ===
* Implement and land global magnification for FF OS. [4,7]
* {{deferred|Implement global magnification for FF OS}}. (Bonus: landed) [4,7]
* Fix mochitest-a11y assertions (including dependency tree). {{Bug|855375}} [7]
** 19 April, given priorities, decided likely to defer to Q3.
* Reactivity: Assist to resolve any feature blocking accessibility work within 2 weeks. [3,7]
* {{done|Fix mochitest-a11y assertions (including dependency tree)}}. {{Bug|855375}} [7]
* Reactivity: Fix key/priority community bugs. {{Bug|855324}} [7]
* {{done|Reactivity: Assist to resolve any feature blocking accessibility work within 2 weeks.}} [3,7]
* Resolve all actionable security bugs within six weeks of their entering our components and receiving sec-moderate or higher designation. (all trains) [7]
* {{wishlist|Reactivity: Fix key/priority community bugs. Tracking}} {{Bug|855324}}. [7]
* {{done|Resolve all actionable security bugs within six weeks of their entering our components and receiving sec-moderate or higher designation.}} (all trains) [7]


=== Perf ===
=== Perf ===


=== Networking ===
=== Networking ===
* {{ok| Disk Cache Design and implementation started (michal, honza) (multi-q goal) }}
* {{done| Disk Cache Design and implementation started (michal, honza) (multi-q goal) }}
* {{ok|{{nbug|658222}} TLS False Start for SPDY (Patrick) }}
* {{done|{{nbug|658222}} TLS False Start for SPDY (Patrick done.  Waiting on review from bsmith) }}
* {{ok| SPDY Push (Patrick) }}
* {{done| SPDY Push (Patrick) }}
* {{ok|{{nbug|791750}} ODA on off-main-thread (Steve) }}
* {{done|{{nbug|791750}} ODA on off-main-thread (Steve) }}
* {{ok|{{nbug|558623}} B2G HTTP IPDL optimizations (jduell) }}
* {{done|{{nbug|558623}} B2G HTTP IPDL optimizations (jduell) }}
* {{ok|{{nbug|853029}} Hand off Stone Ridge to A-Team. (Nick) }}
* {{done|{{nbug|853029}} Hand off Stone Ridge to A-Team. (Nick) }}
* {{ok| B2G Per Application traffic meter support (jduell) }}
* {{miss| B2G Per Application traffic meter support (jduell) }}
* {{ok|{{nbug|436414}} OCSP Get Requests  (michal) }}
* {{miss|{{nbug|436414}} OCSP Get Requests  (waiting on reviews from nss) }}


=== Plugins ===
=== Plugins ===
Line 110: Line 124:


* {{ok|Resolve all mobile security bugs that received a designation of sec-moderate or higher more than six weeks ago. This is a permanent goal for the group.}}
* {{ok|Resolve all mobile security bugs that received a designation of sec-moderate or higher more than six weeks ago. This is a permanent goal for the group.}}
* WebAPI implementations for Android
** {{ok|SimplePush}}
** {{ok|WebActivities}}
** {{ok|Payments API}} {{bug|813756}}
** {{ok|Contacts API}}
* Canvas 2D perf
** {{ok|ship skia-gl backed canvas 2d in nightly}} {{bug|858237}}
* {{ok|ANR reporter for Nightly and Aurora}}
* {{ok|reduce ANRs by 25%}}
* {{ok|Ship support for WebRTC (video, audio and data calls) in Android nightly}}
* {{ok|Basic set top box controls support}}


=== B2G ===
=== B2G ===


=== Research ===
=== Research ===

Latest revision as of 17:37, 16 August 2013

General Goals

Platform 2013 Goals

  1. Games/Media/Social/Location
  2. Performance
  3. Development velocity/productivity
  4. Firefox OS
  5. Firefox Desktop
  6. Firefox Android
  7. Overall Software Quality

GFX

Goals

Ship

  • [DONE] 716140 - Multi-threaded image decoding. [3,5] (Train 23)
  • [DONE] 804893 - Layers refactoring, D3D11 compositor. [2,3,5] (Train 23)
  • [DONE] The GFX team will resolve all actionable security bugs within six weeks of their entering our components and receiving sec-high or sec-critical designation. [7] (All trains)


Land

  • [ON TRACK] 687187, 827229 - SkiaGL based canvas performance improvements on mobile. [2,6] (Trains 23, 24, 25)
  • [ON TRACK] 651857 - Azure improvements. [2,3,5] (Trains 24,25)
  • [ON TRACK] Fix WebGL security bugs. (Train 25)
  • [DONE] D2D 1.1 (Trains 24, 25)


Preliminary Work

  • [ON TRACK] Scrolling performance on B2G
  • [ON TRACK] OMT Animation
  • [WISHLIST] WebGL performance improvements as driven by the games team. [2,6] (Trains 24,25)
  • [WISHLIST] Off main thread painting.
  • [DONE] Gradient performance.
  • [ON TRACK] OMTC on the Mac
  • [WISHLIST] XP software path optimization
  • [ON TRACK] More robust downloadable blocklisting solution

Layout

  • [ON TRACK] Readability 2.0
    • [ON TRACK] reflow-on-zoom: make decision on whether to move forward with ship, and if yes, get to shipping quality on mozilla-central (sjohnson) (done is perhaps a little fuzzy here based on definiton of "shipping quality"; still working on bugs)
  • [MISSED] [WISHLIST] CSS Variables (bug 773296) landed on mozilla-central (heycam) (is this more than wishlist?)
  • [MISSED] [WISHLIST] CSS Vertical Text (bug 145503): get first part, bug 735577, landed on mozilla-central (smontagu) (is this the right milestone? right owner(s)?)
  • [DONE] Ship CSS Flexbox on release channel (dholbert)
  • [DONE] Resolve css3-multicol fuzz blockers (sjohnson, mats?)
  • [DONE] [WISHLIST] Tests for OMT Animations (dzbarsky)

Media

  • [DONE] Resolve all media security bugs that received a designation of sec-moderate or higher more than six weeks ago. This is a permanent goal for the group. bug 831294
  • [DONE] Land sufficient performance with H.264 video playback support in mozilla-central (Nightly) for the Windows Metro product on the lower-end target hardware
  • [DONE] Among QA's Android phones (approximately 100 phones), resolve most of the H.264/MP4 playback crash reports more than a month old (no more than 5 such crash reports open at the end of the quarter) by either getting the phones working or on the blacklist with the ultimate goal being that none of the Android phones we have physical access to crash on H.264/MP4 playback.
  • [MISSED] Implement Media Source Extensions sufficient to support a first phase of adaptive streaming [chunked multi-bitrate/resolution streaming] for WebM on Linux or Windows 7/8

DOM

  • [DONE] Worker work - Enable ImageData (was FileReader) on Worker Thread (khuey)
  • [MISSED] 850065 Incremental cycle collection (Andrew)
  • WebComponent (blake, william)
    • [DONE] 653881 Land XBL refactoring patches
    • [MISSED] 806506 Implement ShadowRoot interface (as of March 25th)
      • Done, but needs reviews and landing.
    • [DEFERRED] 854736 Implement basic insertion points without selector support
  • [MISSED] 789919 Snow white (for faster addref/release and for security fixes) (olli)
  • [MISSED] 853893 Sane event handling for workers (olli, khuey)
  • [DONE] 848294 Update Animation and Transition event implementations to match specification (olli)
  • [MISSED] 578700 ES6 Spec - Binary Data support (nsm)
  • [DEFERRED] UndoManager (https://dvcs.w3.org/hg/undomanager/raw-file/tip/undomanager.html) (WChen)
  • [MISSED] 856785 Push Notifications support on Desktop (https://wiki.mozilla.org/WebAPI/SimplePush) (nsm)
  • [DONE] 851639 Make it possible to register WebAPIs implemented in JS on navigator w/o writing any C++ code. (parity with current XPCOM mechanism)
  • [DONE] Convert every Node to new bindings
  • [MISSED] Rewrite the global scope polluter as a proxy (peterv or bz)
    • We started on this but didn't have enough time with the other work we did to complete it.
  • [DONE] 742206 Enough Date support in WebIDL for HTMLInputElement
  • [DONE] 850442 Convert Geolocation to WebIDL
  • [DEFERRED] Audit test_interfaces to identify/reduce dom global namespace pollution (dougt)
    • This turned into a larger API release policy discussion than what we were able to do in Q2, so deferred to Q3.
  • [DONE] Ensure that the median age of all DOM sec-critical and sec-high bugs is 3 weeks or less.

WebAPI

  • [DONE] Have Fetch ready for review (annevk)
  • [DONE] Land the Future feature in DOM spec (annevk, mounir)
  • [DONE] Clarify the WebAPI table with respect to standardization (add a status column) (annevk)
  • [WISHLIST] Land multiple file support in input type file on m-c (baku)
  • [WISHLIST] Get resource timing api ready for review (bug 822480) (baku)
  • [CARRY OVER] land support for temporary storage (including IndexedDB) on m-c (bug 785884) (jan)
  • [DONE] Write/update simple storage JS library and solicit feedback (baku, mounir)
  • [MISSED] Get annotations to improve diagnosis of threading and memory issues into tree (bent)
  • [DONE] Integrate IndexedDB into Gecko profiler to help diagnose performance issues (bent)
  • [MISSED] Land sync IDB in workers (janv)
  • [DROPPED] Help reduce orange factor to 7 (all)
  • [DONE] Have all SysApps specs at FPWD (mounir, marcos)
  • [MISSED] Finalize Inter-App Communication API and work with B2G team on use cases (mounir)
  • [WISHLIST] Plug localStorage and appcache into temporary storage (janv) (depends upon localStorage rewrite)
  • [WISHLIST] Multiprocess FileHandle (janv)
  • [CARRY OVER] Design Stream API for XHR and have it in the XHR spec (annevk)
  • [DONE] Define a way to associate a manifest and a web document together (marcos)
  • [DEFERRED] Define parsing and processing model for manifest format (marcos)

JS

Accessibility

  • [DEFERRED] Implement global magnification for FF OS. (Bonus: landed) [4,7]
    • 19 April, given priorities, decided likely to defer to Q3.
  • [DONE] Fix mochitest-a11y assertions (including dependency tree). bug 855375 [7]
  • [DONE] Reactivity: Assist to resolve any feature blocking accessibility work within 2 weeks. [3,7]
  • [WISHLIST] Reactivity: Fix key/priority community bugs. Tracking bug 855324. [7]
  • [DONE] Resolve all actionable security bugs within six weeks of their entering our components and receiving sec-moderate or higher designation. (all trains) [7]

Perf

Networking

  • [DONE] Disk Cache Design and implementation started (michal, honza) (multi-q goal)
  • [DONE] 658222 TLS False Start for SPDY (Patrick done. Waiting on review from bsmith)
  • [DONE] SPDY Push (Patrick)
  • [DONE] 791750 ODA on off-main-thread (Steve)
  • [DONE] 558623 B2G HTTP IPDL optimizations (jduell)
  • [DONE] 853029 Hand off Stone Ridge to A-Team. (Nick)
  • [MISSED] B2G Per Application traffic meter support (jduell)
  • [MISSED] 436414 OCSP Get Requests (waiting on reviews from nss)

Plugins

Mobile

  • [ON TRACK] Resolve all mobile security bugs that received a designation of sec-moderate or higher more than six weeks ago. This is a permanent goal for the group.
  • WebAPI implementations for Android
    • [ON TRACK] SimplePush
    • [ON TRACK] WebActivities
    • [ON TRACK] Payments API bug 813756
    • [ON TRACK] Contacts API
  • Canvas 2D perf
    • [ON TRACK] ship skia-gl backed canvas 2d in nightly bug 858237
  • [ON TRACK] ANR reporter for Nightly and Aurora
  • [ON TRACK] reduce ANRs by 25%
  • [ON TRACK] Ship support for WebRTC (video, audio and data calls) in Android nightly
  • [ON TRACK] Basic set top box controls support

B2G

Research