Platform/2014-Q4-Goals

From MozillaWiki
Jump to: navigation, search

Platform

General Goals (by Team)

GFX

Items marked here with release 35 and 36 are part of the Q4 landings.

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.

Layout

  • CSS Animations, Transforms, & Transitions
    • [ON TRACK] transitions/animations spec editing
    • [ON TRACK] work to match new spec
  • Enable Vertical Text for major use cases for Chinese & Japanese
  • OMTA on non-B2G Platforms (980770)
    • [ON TRACK] fix correctness bugs (cascading, etc.)
    • [ON TRACK] turning on on other OMTC platforms (Mac/Win/Android)
  • Web Animations:
    • bug 927349 - Effective start of CSS animations and transitions
    • bug 1070744 - Implement AnimationPlayer playback control
      • We expect to get close to done in Q4, but may spill over.
  • Moz2D Layout Conversion
    • [DONE] bug 1087958Gut nsRederingContext to leave it with only GetDrawTarget() and ThebesContext() methods
    • [DEFER] Port consumers of the gfxContext fill and stroke methods to directly use Moz2D
    • [DEFER] Port consumers of the gfxContext path creation functions to directly use Moz2D
  • CSS Grid
    • TBD
  • 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
    • [ON TRACK] line breaking
    • [ON TRACK] vertical positioning
    • [ON TRACK] other dependencies on enabling the feature

Media

  • [ON TRACK] Enable YouTube MSE/VP9bug 1000686
  • [ON TRACK] Enable YouTube MSE/MP4 on Windows

Detailed Breakdown

  • MSE Common
    • [DONE] Rate adaption/buffer switching, reseting
    • [MISSED] Seeking into unbuffered ranges bug 1056440
    • [TODO] Eviction/pinning
  • MSE WebM
  • MSE MP4

DOM

JS

Accessibility

  • [MISSED] Get e10s accessibility working for wikipedia.
  • [DONE] bug 1069598 Gesture quicknav (ffos a11y)
  • [MISSED] bug 1069600 Gesture text nav (ffos a11y)
  • [DONE] bug 1069574 Screen reader hints (ffos a11y)
  • [DROPPED] (sidelined during PDX) GAIA: Fix Productivity P1 a11y bugs (~47 at this time)

Perf

Networking

  • [MISSED] Ship Network Predictor ("Seer") on nightly, using HTTP cache instead of SQLite (bug 1009122) (hurley)
    • about to land this again after next fork, but it's bounced before, so marking 'miss'
  • [DONE] Provide way to "set network offline" per app (bug 786419) (valentin)
  • [DONE] Network up/down link detection on B2G (bug 1008091) (bagder)
  • [DEFER] OpenVPN client API working on B2G (bug 1033580) (dragana)
    • code mostly done but we need to talk to Opera and Secteam about API and which ciphers to support
  • [DONE] Implement WebSocket compression extension (bug 792831) (michal)
  • [DEFER] Supporting loading B2G app resources via HTTP URIs (bug 1036275) (jduell, valentin)
    • mostly coded up, but then hit debate about whether this is the right package strategy for the web.
  • [MISSED] Add ability to pin HTTP cache entries (bug 1032254) (honza)
    • patch in review, Honza was out sick for most of December.
  • [DONE] Dependent priorities for http/2 (bug 1003450) (mcmanus)
  • [DONE] Add support for NTLM v2 authentication (bug 423758) (Andrew Bartlett)

Mobile

A*Team

Highlights:

  • [DONE] Develop a multi-binary harness for devtools - desktop
  • [DONE] Add e10s support to Talos - desktop
  • [DONE] Get Talos tests running on win64 - desktop
  • [DONE] Make Marionette a replacement for Mozmill in a post-e10s world - desktop
  • [DONE] Make end-to-end testing in Autoland possible - platform
  • [DONE] Deploy ReviewBoard for developers to start using (carry over from Q3) - platform
  • [DONE] Add B2G support to mochitest-chrome - fxos
  • [DONE] Add support to Bugzilla for the Gmail transition - platform
  • [MISSED] Prototype alternate bug views in Bugzilla to improve performance and usability - platform
    • Some good progress was made, but not quite enough to mark this goal as completed.
  • [DONE] Continue improving sheriff and developer workflows in Treeherder - platform
  • [DONE] Make all of our projects contributor-friendly - platform

See full list: Auto-tools/Goals/2014Q4

QA

  • [ON TRACK] 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
  • [ON TRACK] Consolidate QMO and our dashboards so that it is easier to keep up with the state of quality among all projects - platform
  • [ON TRACK] Experiment with unifying web testing technology stack for MDN with what developers are using to drive better adoption and lower maintenance costs of end to end web automation testing - platform
  • [ON TRACK] Ensure marketplace payments automation running on Firefox 2.0 and above at least once per day - fxos/mktplace
  • [ON TRACK] Complete webRTC connection establishment and connection quality automated tests - platform
  • [ON TRACK] Develop code churn correlation metrics and community health metrics (drop off rates of contributors performing QA tasks). -platform

Full list here

Web Engineering

crash-stats

  • [DONE] begin migrating subsystems to AWS
    • e.g. migrate hbase to S3, architect cloud infra, build production-quality AMIs
  • [DONE] enhance processor flexibility
    • e.g. deploy processor2015, enhance tooling for developing post-crash classifiers, prototype alternate processing pipelines
  • [DONE] enhance search functionality
    • e.g. pull users from postgres search so we can shut it off, upgrade ES to 1.x, data dumps of search results

elmo

  • [DONE] continue progress towards buildbot retirement
    • e.g. migrating diff/compare tools to a10n, migrate remaining buildbot steps to a10n

airmo

  • [DONE] prototype self-service publishing
    • e.g. getUserMedia-based new hire video recording, user uploads of pictures and videos

DXR

SUMO and Input

  • [MISSED] (SUMO) Implement v1.0 of BuddyUp, the live support app for FirefoxOS. (Moved deadline out to ~Feb 1 because of FxOS changes.
  • [DONE] (SUMO) Update SUMO forums Part I (this will continue in 2015Q1).
  • [DONE] (Input) bug 1077423, bug 1099138 Input generic feedback form overhaul
  • [DONE] (Input) bug 1092280 support Heartbeat v2 implementation initiatives on Input as needed
  • [DONE] (Input) support about:support data capture on Input
  • STRETCH: [MISSED] (Input) bug 1020307 implement 1-5 rating for Input generic feedback form (will carry over to Q1

Release Engineering / Release Operations / Developer Services

  • [DONE] Identify, measure, and publish core release engineering KPIs.
  • [DONE] Develop a plan for disaster recovery and business continuation in the event of a disaster for release infrastructure.
  • [DONE] Make try stable and fast.
  • [DONE] Support Windows 64 initiatives as needed.
  • [DONE] Support FX10 builds and releases.
  • [MISSED] Automate merge day processes to free up engineer time and reduce opportunity for error - bumped due to FX10/Win64/EME work
  • [MISSED] Develop automation and self-serve APIs for developers to remove the need to have one full time engineer on buildduty - bumped due to FX10/Win64/EME work
  • [MISSED] Automate release processes, again to free engineer time and reduce opportunity for error. - - bumped due to FX10/Win64/EME work

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 Gecko-owned JS callers (dri=ckerschb,tanvi)
  • Use LoadInfo to implement MCB for HTTP redirects (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