From MozillaWiki
Jump to: navigation, search


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. We developed similar theme buckets for the Engineering Operations goals.

Gecko Engineering Goals

Firefox Desktop

Theme: Put Desktop on a growth trajectory by reducing crashes, enabling media and increasing performance

  • e10s
    • gfx support
    • [ON TRACK] bug 874016 ensure all plugin work related to e10s is complete
    • accessibility - e10s goal - TBD
    • OMTC Windows
  • Performance/responsiveness
    • OMTA on non-B2G Platforms (980770)
      • [ON TRACK] fix correctness bugs (cascading, etc.) - partly done in bug 996796
      • [ON TRACK] turning on on other OMTC platforms (Mac/Win/Android)
  • Text Performance
    • [ON TRACK] bug 934770 - slow at rendering large blocks of plain text
    • [ON TRACK] bug 860492 - Divide large text runs into smaller runs to avoid chrome hangs
  • Media Source Extensions
    • [ON TRACK] Enable YouTube MSE/VP9bug 1000686
    • [ON TRACK] Enable YouTube MSE/MP4 on Windows


Theme: Support mobile web platform capabilities - feature parity with other platforms

  • DOM
    • [ON TRACK] WebComponents: one of :host (bug 992245) or :content (TBD which is more important) selector landed (preffed off) on m-c
    • [ON TRACK] respond to Service Worker feedback, adapt to spec changes, and improve performance
    • [ON TRACK] bug 701634 land IndexedDB in workers on m-c
    • [ON TRACK] bug 997779 Implement more w3c manifest (marcosc)
    • Enable Vertical Text for major use cases for Chinese & Japanese
  • CSS Scrolling
    • [AT RISK] CSS scroll snapping - spec issues prevent deployment

Firefox for Android

  • No clear goals called out for Q4

Web Platform

Theme: 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

Theme: Drive web standards

  • DOM
    • [ON TRACK] Produce a draft for Sharing (annevk)
    • [ON TRACK] Define persistent notifications in the Notifications API Standard (notifications associated with a service worker; annevk)
  • CSS Grid
    • Goal 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
    • [ON TRACK] line breaking
    • [ON TRACK] vertical positioning
    • [ON TRACK] other dependencies on enabling the feature
  • CSS Animations, Transforms, & Transitions
    • [ON TRACK] transitions/animations spec editing
    • [ON TRACK] work to match new spec
  • Web Animations:
    • TBD

Theme: 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)

Theme: Progress towards defeating certificate misissuance, progress against Man-In-The-Mid, fresher/more accurate revocation informational 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)

Engineering Operations

Theme: Product Related

  • A*team
    • Develop a multi-binary harness for devtools - desktop
    • Add e10s support to Talos, and either Marionette or Mozmill - desktop
    • Add B2G support to mochitest-chrome - fxos
  • Web Engineering
    • airmo
      • [ON TRACK] prototype self-service publishing - e.g. getUserMedia-based new hire video recording, user uploads of pictures and videos
  • SUMO/Input
    • Implement v1.0 of BuddyUp, the live support app for FirefoxOS, and integrate it with existing SUMO web app.
    • Update SUMO forums.
  • Release Engineering / Release Operations / Developer Services
    • Support Windows 64 initiatives as needed.

Theme: Tool Development and Automation

  • A*team
    • Make end-to-end testing in Autoland possible - platform
    • Continue improving sheriff and developer workflows in Treeherder - platform
  • QA
    • 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
    • Complete webRTC connection establishment and connection quality automated tests - platform
    • Ensure marketplace payments automation running on Firefox 2.0 and above at least once per day fxos/mktplace
  • Web Engineering
    • crash-stats
      • [ON TRACK] begin migrating subsystems to AWS - e.g. migrate hbase to S3, architect cloud infra, build production-quality AMIs
      • [ON TRACK] enhance processor flexibility - e.g. deploy processor2015, enhance tooling for developing post-crash classifiers, prototype alternate processing pipelines
      • [ON TRACK] 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
      • [ON TRACK] continue progress towards buildbot retirement - e.g. migrating diff/compare tools to a10n, migrate remaining buildbot steps to a10n
  • DXR
    • [ON TRACK] Continue improving infrastructure.
    • [ON TRACK] Pick newly low-hanging fruit.
      • 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 result mixing, or default the query parser to interpret text runs as phrase matches.
  • Release Engineering / Release Operations / Developer Services
    • Make try stable and fast.
    • 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.

Theme: Operational Efficiency

  • A*team
    • Deploy ReviewBoard for developers to start using (carry over from Q3) - platform
    • Add support to Bugzilla for the Gmail transition - platform
    • Prototype alternate bug views in Bugzilla to improve performance and usability - platform
  • QA
    • 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
    • Consolidate QMO and our dashboards so that it is easier to keep up with the state of quality among all projects - platform
    • Develop code churn correlation metrics and community health metrics (drop off rates of contributors performing QA tasks). -platform
  • Release Engineering / Release Operations / Developer Services
    • 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.
    • Automate merge day processes to free up engineer time and reduce opportunity for error.