Platform/2014-Q3-Goals: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 38: Line 38:


=== Networking ===
=== Networking ===
* {{ok|Ship Network Predictor ("Seer") on nightly, using HTTP cache instead of SQLite ({{bug|1009122}}) (hurley)}}
* {{ok|Ship current (hopefully final) IETF version of HTTP/2 preffed on in nightly (hurley)}}
* {{ok|Implement HTTP/2 "alt-services" extension and opportunistic encryption (mcmanus)}}
* {{ok|HTTP cache: determine if revalidation is needed w/o doing I/O ({{bug|983122}}) (sworkman) }}
* {{ok|Network up/down link detection on all platforms ({{bug|939318}}) (bagder) }}
* {{ok|Implement WebSocket compression extension ({{bug|792831}}) (michal) }}


=== Mobile  ===
=== Mobile  ===

Revision as of 20:52, 7 July 2014

Platform

2014 General Goals

GFX

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] Implement HTTP/2 "alt-services" extension and opportunistic encryption (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

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

  • 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)
  • Replace aging Firefox update service with a scaleable, modern solution. (Get Firefox on a Trajectory of Growth)
  • Simplify developer workflow by automating patch landing and uplift. (Enable Communities With Impact)

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

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