Platform/2014-Q4-Goals
From MozillaWiki
< Platform
Contents
- 1 Platform
- 2 General Goals (by Team)
- 2.1 GFX
- 2.2 Layout
- 2.3 Media
- 2.4 DOM
- 2.5 JS
- 2.6 Accessibility
- 2.7 Perf
- 2.8 Networking
- 2.9 Mobile
- 2.10 A*Team
- 2.11 QA
- 2.12 Web Engineering
- 2.13 SUMO and Input
- 2.14 Release Engineering / Release Operations / Developer Services
- 2.15 Security & Privacy
- 2.16 Firefox and Platform Security
- 2.17 Games Program
- 2.18 Program/Project Management
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
- [ON TRACK] bug 145503 - Meta Bug
- [DONE] bug 902762 - Vertical text run creation.
- [DONE] bug 1062963 - Make nsFloatManager use logical coordinates.
- 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)
- [ON TRACK] fix correctness bugs (cascading, etc.)
- 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
- [DONE] WebM segment parser bug 881512
- MSE MP4
- [DONE] MP4 segment parser bug 1027875bug 1057203
- MP4 Demuxer
- [DONE] Integrate stagefright MP4 demuxer bug 908503
- [DONE] Accurate range reporting bug 1045909
- [DONE] CENC support bug 1022434
- [TODO] DASHIF and other players aside from YouTube bug 1039149
- H.264/AAC Decoder
- [DONE] MP4/fMP4 platform decoder module for Mac OSX bug 941296
- [MISSED] MP4 support on Firefox OS bug 1060900
- [DONE] MP4 platform decoder module for Firefox OS bug 941302
- [MISSED] Use a single shared decoder for MSE on b2g bug 1036849
DOM
- [ON TRACK] Web Components: :content (bug 992249) 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 942542 land new quota API on PBackground on m-c
- [ON TRACK] bug 874016 ensure all plugin work related to e10s is complete
- [DONE] Produce a draft for Sharing (annevk) See https://wiki.whatwg.org/wiki/Sharing/API
- [DONE] Define persistent notifications in the Notifications API Standard (notifications associated with a service worker; annevk) See https://notifications.spec.whatwg.org/#service-worker-api
- [ON TRACK] bug 997779 Implement more w3c manifest (marcosc)
JS
- [ON TRACK] bug 837314 ES6 classes - web platform
- [ON TRACK] bug 972710 ARM64 Baseline - ffos
- [ON TRACK] bug 650161 Compacting GC - ffos
- [ON TRACK] bug 894105 SIMD.js IonMonkey x86 - web platform
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
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
- [DONE] Continue improving infrastructure.
- For example: move file rendering to request time, implement independent tree rendering, or finally replace the config subsystem
- [DONE] 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.
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