Platform/2014-Q4-Goals-ByTeam
From MozillaWiki
< Platform
Contents
- 1 General Goals (by Team)
- 1.1 GFX
- 1.2 Layout
- 1.3 Media
- 1.4 DOM
- 1.5 JS
- 1.6 Accessibility
- 1.7 Perf
- 1.8 Networking
- 1.9 Mobile
- 1.10 A*Team
- 1.11 QA
- 1.12 Web Engineering
- 1.13 SUMO and Input
- 1.14 Release Engineering / Release Operations / Developer Services
- 1.15 Security & Privacy
- 1.16 Firefox and Platform Security
- 1.17 Games Program
- 1.18 Program/Project Management
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
- 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:
- TBD
- 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] 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 942542 land new quota API on PBackground on m-c
- [ON TRACK] bug 874016 ensure all plugin work related to e10s is complete
- [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)
- [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
- e10s goal - TBD
- [ON TRACK] bug 1069598 Gesture quicknav (ffos a11y)
- [ON TRACK] bug 1069600 Gesture text nav (ffos a11y)
- [ON TRACK] bug 1069574 Screen reader hints (ffos a11y)
- [ON TRACK] GAIA: Fix Productivity P1 a11y bugs (~47 at this time)
- etc/TBD
Perf
Networking
- [ON TRACK] Ship Network Predictor ("Seer") on nightly, using HTTP cache instead of SQLite (bug 1009122) (hurley)
- [ON TRACK] Provide way to "set network offline" per app (bug 786419) (valentin)
- [ON TRACK] Network up/down link detection on B2G [lame-network] (bagder)
- [ON TRACK] OpenVPN client API working on B2G (bug 1033580) (dragana)
- [ON TRACK] Implement WebSocket compression extension (bug 792831) (michal)
- [ON TRACK] Supporting loading B2G app resources via HTTP URIs (bug 1036275) (jduell, valentin)
- [ON TRACK] Add ability to pin HTTP cache entries (bug 1032254) (honza)
- [ON TRACK] Dependent priorities for http/2 (bug 1003450) (mcmanus)
Mobile
A*Team
(draft only)
Highlights:
- Develop a multi-binary harness for devtools - desktop
- Add e10s support to Talos, and either Marionette or Mozmill - desktop
- Make end-to-end testing in Autoland possible - platform
- Deploy ReviewBoard for developers to start using (carry over from Q3) - platform
- Add B2G support to mochitest-chrome - fxos
- Add support to Bugzilla for the Gmail transition - platform
- Prototype alternate bug views in Bugzilla to improve performance and usability - platform
- Continue improving sheriff and developer workflows in Treeherder - platform
See full list: Auto-tools/Goals/2014Q4
QA
(Draft)
- 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
- 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
- Ensure marketplace payments automation running on Firefox 2.0 and above at least once per day fxos/mktplace
- Complete webRTC connection establishment and connection quality automated tests - platform
- Develop code churn correlation metrics and community health metrics (drop off rates of contributors performing QA tasks). -platform
Web Engineering
(draft)
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
airmo
- [ON TRACK] prototype self-service publishing
- e.g. getUserMedia-based new hire video recording, user uploads of pictures and videos
DXR
- [ON TRACK] Continue improving infrastructure.
- For example: move file rendering to request time, implement independent tree rendering, or finally replace the config subsystem
- [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.
SUMO and Input
(draft only)
- Implement v1.0 of BuddyUp, the live support app for FirefoxOS, and integrate it with existing SUMO web app.
- Update SUMO forums.
- (Input goals still under discussion)
Release Engineering / Release Operations / Developer Services
(draft only)
- 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.
- Make try stable and fast.
- Support Windows 64 initiatives as needed.
- Automate merge day processes to free up engineer time and reduce opportunity for error.
- 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.
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 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)
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