Go Faster

Go Faster is a plan to change the way we ship Firefox for Desktop, and potentially other products. The end goal is to reduce the time it takes to deliver value to the user. This focuses on getting features and fixes to the user on a reduced cycle time, but includes reductions in time to download updates and new versions, and reductions in build and release time.

Meetings & Communications

  • Meetings
  • Larissa will send out a weekly status update email.

Development

Schedule

  • Firefox main release schedule is the master location for the dates when each Firefox version goes to Aurora, Beta, & Release.
  • Targeting initial client integration for system add-ons for 43 - goes to Aurora 2015/09/21


Firefox 43 Release

  • Iteration 43.1:
  • Iteration 43.2:
  • Iteration 43.3:

Themes

As we plan what's coming next, we're focused on the themes outlined here. This is not a commitment to the next projects - just our scratch area, but it is in order of relative priority.

  • Ship features with service integrations as Add-ons: Decouple feature development of service integration features from 6 week Firefox software release train
  • Ship Localizations Separately From Product: Have the installer or updater pull a langpack from AMO during the install or update process, and decouple langpack builds from our releases.
  • Ship data separately from code: Pull data out and make it a separate download (transparent to the user) via the installer or updater.

Quarterly Goals

Q3

  • Client support for system add-ons install and update
  • Implement lightweight build, test, and release pipeline for go-faster
  • Ship v1 of Firefox Experiments / Idea Town
  • Security policy updates through new update service ("Balrog 2.0")

Q4

  • Implement Hello UI as an add-on, and ship it via go-faster
  • Ship Universal Search as a Firefox Experiment

Project 1: Ship features as system add-ons

Component: Addons manager in Firefox

Owner: Dave Townsend, Robert Helmer

Tasks:

   * Make Firefox understand what a system add-on is
   * How it should be installed 
   * How it should be signed
   * Where it should be installed from
   * Where it should be updated from
   * That it can't be uninstalled, only disabled
   * That it should be available across all profiles (under debate)

Component: Updater in Firefox

  • Owner: TBD
  • Tasks:
   * Change the updater:
   * Update system add-ons
   * Check compatibility/dependencies
   * Check signed appropriately
   * Update data files
   * Separate the updater from the Firefox binary

Component: Services system add-on updater

  • Owner: Morgan Phillips
  • Tasks:
   * Figure out if we want to serve system addons from AMO, from Balrog, or from somewhere else
   * Build whatever is needed.

Component: Build, release, QA pipeline

Release Pipeline

  • Team: Selena Deckelmann and Morgan Phillips for releng, Krupa Raj and Matt Brandt from WebQA, JP Schneider from tools
  • Tasks:
   * Design a build and release pipeline for system add-ons (using existing tools) (Selena, Morgan, JP)
   * Decide/design the role of QA in CD for Firefox (QA teams)

Component: l10n for systems addons

  • Team: (TBD), Michael Kelly
  • Tasks:
   * Design and build a process for localizing system add-ons

Component: Hello as add-on

  • Owner: Adam Roach (WebRTC) + Mark Banner (Client Hello team)
  • Tasks:
   * Implement Hello as a system add-on
   * Create a migration path from Hello in product to Hello as system add-on
  • Dependencies:
   * Updater changes, build pipeline?

Project 1a: Ship experimental features as add-ons from Firefox Experiments/Idea Town

Component: Universal Search as add-on

  • Owner: Nick Chapman
  • Team: Nick Chapman (manager), Jared Hirsch (eng), John Gruen (UX), Les Orchard (dev), Bill Maggs (PM)
  • Tasks:
   * Implement Universal Search as an experimental add-on (this can be served/updated from AMO or similar) (Jared/Les)
   * Implement first iteration of Firefox Experiments website (Nick Chapman/John Gruen)
   * Design and implement process for Firefox Experiments
  • Dependencies:
   * None.

Project 2: Pull data out of products and serve and update it separately

  • Q3
  • Tech lead/architect: Tarek Ziade

Component: Services data updater

  • Owner: French team (Tarek)
  • Tasks:
   * Serve updates to security policy
   * Serve datafiles for Fennec (dictionaries and fonts)
  • Dependencies:
   * Client updater changes (in project 1, above)

Project 3: decouple l10n from product

  • Probably Q4

Component: Build process

  • Owner: Chris AtLee / RelEng / RelMan
  • Tasks:
   * Remove l10n repacks from the release critical path
   * Work out how to add additional strings to locale packs
   * Automate uploading locale packs to AMO
  • Dependencies:
   * Installer/updater changes

Component: Installer/updater

  • Owner: Rob Strong or Add-ons team
  • Tasks:
   * Build stub installers for Windows and Linux
   * Change installer to pull locale pack from AMO as a separate download
   * Figure out how locale updates need to work

Project Introduction

  • Team Mailing list: if applicable
  • Team IRC Channel: where does this team "hang-out"
  • Summary of our plans for this year
    • links back to main Firefox page - Marco to create a section on main page for team summaries.
    • Quick high-level plans for the year for Desktop management and contributors.
  • Dependencies: feature, partner, resource, etc. that impact this projects ability to succeed - put links to other project pages.

Links to Current info

The Links wiki page is the central location for current focus, Roadmap, Metrics, UX, Marketing, tech-architecture, and more.

Roles and Responsibilities

The Contacts Page has the Roles and Responsibilities for Firefox teams, partner teams, and external partners.