Platform/2014-Q3-Goals

From MozillaWiki
Jump to navigation Jump to search

Platform

2014 General Goals

GFX

Items marked here with release 33 and 34 are part of the Q3 landings.

Layout

Media

DOM

  • [ON TRACK] Mirror prototype of DOM objects through xray wrappers (peterv)
  • [ON TRACK] Remove nsDOMClassInfo.cpp
  • [ON TRACK] Make less-privileged non-Xrayable unwaived opaque from privileged code (bug 856067)
  • [ON TRACK] Route all JSContext pushing through AutoJSAPI and Implement GetEntryGlobal (bug 951991)

WebAPI

JS

  • [ON TRACK] 837314 - ES6 classes
  • [ON TRACK] 941796 - Generational GC on Firefox OS
  • [ON TRACK] 650161 - Compacting GC to reduce memory usage
  • [ON TRACK] 856533 - Escape analysis JIT optimizations
  • [ON TRACK] 998392 - Use Latin1 strings to reduce memory usage
  • [ON TRACK] 903519 - Allocate strings in GC nursery (for performance)
  • [ON TRACK] 972710 - ARM64 JIT [stretch goal]

Accessibility

  • [ON TRACK] e10s: proxy the common a11y API stuff like name, role, and states.
  • [ON TRACK] GAIA: Fix all Gaia P1 a11y bugs (~30 at this time).
  • [ON TRACK] FFOS: bug 1030465 - Volume change should update the screen reader volume.
  • [ON TRACK] FFOS: bug 1030466 - Headphones screen reader volume is too low.
  • [ON TRACK] FFOS: bug 1030468 - VC rectangle needs to work with scaled content.
  • [ON TRACK] FFOS: bug 1030470 - Localization needs to work when switching locales in FxOS.

Perf

Networking

  • [ON TRACK] Ship Network Predictor ("Seer") on nightly, using HTTP cache instead of SQLite (bug 1009122) (hurley)
  • [ON TRACK] Ship current (hopefully final) IETF version of HTTP/2 preffed on in nightly (hurley)
  • [ON TRACK] HTTP/2 "alt-svc" support (bug 1003448) (mcmanus)
  • [ON TRACK] HTTP cache: determine if revalidation is needed w/o doing I/O (bug 983122) (sworkman)
  • [ON TRACK] Network up/down link detection on all platforms (bug 939318) (bagder)
  • [ON TRACK] Implement WebSocket compression extension (bug 792831) (michal)

Mobile

A*Team

For full list, see A-Team Goals 2014Q3

B2G

  • [ON TRACK] Run a set of performance and correctness tests per-commit to b2g-inbound on Flame devices
  • [ON TRACK] Get gaia-integration tests running on device
  • [ON TRACK] Expand the FxOS Certification Suite with 1.4 support, test automation to prevent regressions, and investigation of support for non-phone devices
  • [ON TRACK] Green up B2G tests on TaskCluster (joint with RelEng)

Developer Productivity

  • [ON TRACK] Deploy ReviewBoard for developers to start using (joint with RelEng)

Performance

  • [ON TRACK] Deploy new Talos tests for tp5o_scroll, webgl, webrtc, and mainthread I/O
  • [ON TRACK] Get Datazilla alerts to beta mode (full parity with graph server alerts) with reduced noise
  • [ON TRACK] Get Eideticker running against Android again with increased frequency
  • [ON TRACK] Run B2G Eideticker against same branch/build combinations as our other on-device perf tests
  • [ON TRACK] Stand up a Games Benchmarking system for webaudio tests running against Firefox and Chrome

Treeherder

  • [ON TRACK] Deliver performance web service for ingesting and returning performance data
  • [ON TRACK] Deliver a UI for viewing Talos data

Sheriffing

  • [ON TRACK] Fully transition sheriffing from TBPL to Treeherder

General Automation

  • [ON TRACK] Create weekly reports that describe how many tests have been added/disabled/enabled per suite and platform
  • [ON TRACK] Move reftest to mozbase
  • [ON TRACK] Add command executors for Marionette for Java and Python

Bugzilla

  • [ON TRACK] Improve load time of related bugs; can decrease show_bug load times by up to 12%
  • [ON TRACK] Minify and concatenate JS files
  • [ON TRACK] Authoritative view for review history
  • [ON TRACK] Rewrite docs for REST API

Community

  • [ON TRACK] Create good_next_bugs (name can be adjusted) so once contributors are comfortable they can do more serious coding/problem solving on a project they are familiar with
  • [ON TRACK] Monthly review of mentored bugs and projects

Web Engineering

full list - high level summary to come

SUMO and Input

  • SUMO: Launch new offline SUMO app [Get Firefox on a Growth Trajectory]
  • SUMO: Develop new Community Hub to a level where it can replace legacy Karma app [Enable Communities with Impact]
  • SUMO: Research and prototype new experimental features (e.g. geotargeting, Instant Search, Search Suggestions) [Get Firefox on a Growth Trajectory]
  • Input: Improve documentation and install to lower the bar for contribution [Enable Communities with Impact]
  • Input: Ship Firefox Desktop product dashboard [Get Firefox on a Growth Trajectory]
  • Input: (STRETCH) Ship Firefox OS product dashboard [Scaling FirefoxOS]

Release Engineering - Laura

  • Enable capacity expansion for bare-metal releng OS X build and test slaves via hardware provided by third-party datacenters (Get Firefox on a Trajectory of Growth)
  • Simplify release engineering mobile hardware infrastructure (Get Firefox on a Trajectory of Growth)
  • Automate developer access to continuous integration resources to expedite debugging and standing up new job variants. (Enable Communities With Impact)
  • Help enable video operability on the web by providing continuous integration for Cisco Open H.264 builds. (Get Firefox on a Trajectory of Growth)

Release Engineering - Taras

  • Replace aging Firefox update service with a scalable, modern solution. (Get Firefox on a Trajectory of Growth)
  • Simplify developer workflow by automating patch landing and uplift. (Enable Communities With Impact)
  • Local HTTP caches in each region/datacenter: sccache, ftp.mozilla.org, pvtbuilds
  • EBS < 3% of AWS bill(vs 30% in Q2)
  • 80% of b2g jobs turned off in buildbut, running on taskcluster
  • Turn telemetry is into a general purpose s3 ingester and analysis tool

Release Engineering Operations

  • Build/Test System Performance Enhancements
    • [ON TRACK] Unify releng platform architecture, using common tools and best practices, to decrease complexity and enable smoother developer engagement bug 1026109 and bug 1026110 [Get Firefox on a Trajectory of Growth, Enable Communities With Impact]
    • [ON TRACK] Improve communication and response time for releng network flow requests bug 1026112 [Get Firefox on a Trajectory of Growth, Scale Firefox OS]
    • [ON TRACK] Improve security for all releng windows infrastructure bug 893716 [Get Firefox on a Trajectory of Growth]
  • Build/Test System Self-Serve Re-architecture
    • [CARRY OVER] Design a private cloud deployment architecture for bare metal and produce a POC that supports Ubuntu 12.04 test machines. bug 963165 [Get Firefox on a Trajectory of Growth, Scale Firefox OS]
    • [ON TRACK] Create self-service capability for releng hardware Firefox linux test slaves (build slaves as a stretch goal) bug 1026687 (depends on completion of previous goal) [Get Firefox on a Trajectory of Growth, Scale Firefox OS]
    • [ON TRACK] Create self-service capability for releng hardware Firefox windows test slaves. bug 967064 [Get Firefox on a Growth Trajectory]

Developer Services

  • [NEW] (with B-team) roll out phase 2 of new review tooling [Get Firefox on a Growth Trajectory / Enable communities with impact]
  • [NEW] Upgrade existing Mercurial infrastructure to support more rapid, safe, and coordinated deployment of updates. [Get Firefox on a Growth Trajectory / Enable communities with impact]

Full List

Security & Privacy Engineering

More details here: SecurityEngineering/2014/Q3Goals

Content Security

  • [NEW] Gecko Security Hooks: Finish code and debugging for New Channel API, start getting reviews (dri=tanvi)
  • [NEW] Gecko Security Hooks: Create plan for addon compatibility (dri=tanvi)
  • [NEW] CSP: Remove old JS implementation from mozilla-central (dri=sstamm)
  • [NEW] Evangelism: Security Open Mic presentation + blog post about new CSP implementation, maybe again as brown bag. (dri=sstamm)
  • [NEW] [stretch goal] CSP: Fix majority of CSP 1.1 compatibility bugs (dri=ckerschb)

Tracking Protection

  • [NEW] Referer: Finish implementation of <meta> referrer control with volunteer help (dri=sstamm)
  • [NEW] Land first implementation of protection in Fx 33/34 off by default. (dri=mmc)

Communications Security

  • [CARRY OVER] SSL Error Reporting finish first implementation of ssl error reporting feature. (dri=grobinson)
  • [NEW] HPKP - implement pinning http header (dri=cviecco)
  • [NEW] Update roadmap for Cert Revocation improvements (dri=rbarnes)
  • [NEW] Create a mechanism to provision phones with an alternate cert (dri=mgoodwin)
  • [NEW] Add measurement/enforcement of compliance with CABF Baseline Requirements (dri=keeler)
  • [NEW] Create a tool for testing CA certificate compliance and EV-readiness (dri=keeler)
  • [NEW] Add support for key wrap/unwrap and ECC in WebCrypto (dri=rbarnes)
  • [NEW] [stretch goal] Get CA Program data into one database (dri=kathleen)

Firefox and Platform Security

  • Marifuzz fuzzer ported to and running on Flame devices.
  • Update ASan and LSan work for DOMFuzzer
  • Update "Bounty Stars" document with issues found by external reporters and updating DOMFuzzer to reflect these results.
  • Get Clang on RelEng ready for official OS X ASan builds.
  • Initial work to move CoreFuzz towards running in cloud environments.
  • WebCrypto API fuzzing using Dharma fuzzer.
  • Port a portion of WebRTC fuzzing from Frambois fuzzer to Dharma fuzzer.
  • Peach: Improving and porting Peach 2 to Python 3.
  • Public Mozilla Security Github work: Moving of fuzzing tools from Fuzzing Hg to GitHub, including work to separate harnesses from testcase generation tools.

Games Program

Release Management

For full list, see Release Management 2014Q3 Goals.

  • Create and document process for Desktop/Mobile feature fast tracking
  • Determine future of ESR and how to manage this channel
  • Continue desktop throttling experiment with intention of reducing throttled time while maintaining existing level of feedback
  • Improve release notes with revamped template for all products
  • Create B2G release model proposals and gather feedback for potential changes
  • Figure out what to do with B2G Security Releases