Firefox/Go Faster: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(adding tracker bugs)
m (name fixup)
 
(47 intermediate revisions by 15 users not shown)
Line 1: Line 1:
= Go Faster =
= Overview =
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.
We believe that building out tools and processes for shipping Go Faster add-ons will enable Mozilla's engineers to get features and fixes to a larger audience sooner. We will know this is true when we see widespread adoption of system add-ons as a mechanism for moving faster and updating faster than the standard trains.  


==Meetings & Communications==
==Team==
* [https://wiki.mozilla.org/Firefox/Go_Faster/Meetings Meetings]
{| class="wikitable"
* Larissa will send out a weekly status update email.
|-
! Name !! Role
|-
| Laura Thomson || Product Owner
|-
| Rehan Dalal || Program Management
|-
| Robert Helmer || Technical Lead
|}


=Development=
==KPI's==
<p> </p>
* Number of projects using the tools.
==Schedule==
* All new features or improvements to existing features validated by go faster by the end 2016.
* [https://wiki.mozilla.org/Release_Management/TeamWiki 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


==Meetings==
* [[Firefox/Go_Faster/Meetings|Meeting Notes]]
* Bi-Weekly Team Meeting
** Every other Tuesday at 11:30 AM PST ([https://www.timeanddate.com/worldclock/converted.html?iso=20151124T0930&p1=224&p2=250&p3=0&p4=195 conversions])
** "GoFaster" Vidyo Room (extension 8557)


'''Firefox 43 Release'''
==Communications==
* '''Iteration 43.1:''' 
* [https://mail.mozilla.org/listinfo/gofaster Mailing List] (open to all, primarily used for sharing status)
* '''Iteration 43.2:'''
* IRC: #gofaster
* '''Iteration 43.3:''' 
<p> </p>


==Themes==
= Release Process and Mechanics =
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.


<p>
== Process ==


== Quarterly Goals ==
Have something you want to ship through Go Faster?
=== Q3 ===
* Client support for system add-ons install and update (Tracking: 1183866)
* Implement lightweight build, test, and release pipeline for go-faster (Tracking: 1184528)
* Ship v1 of Firefox Experiments / Idea Town (Tracking: 1184527)
* Security policy updates through new update service ("Balrog 2.0") (Tracking: 1184524)


=== Q4 ===
Start here:
* Implement Hello UI as an add-on, and ship it via go-faster
* [[Firefox/Go_Faster/System_Add-ons/Process]]
* Ship Universal Search as a Firefox Experiment


== Project 1: Ship features as system add-ons ==
== Mechanics ==
=== Component: Addons manager in Firefox ===
Owner: Dave Townsend, Robert Helmer


Tasks:
This page details the technological pieces involved in shipping system add-ons.
    * 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 ===
[[Firefox/Go_Faster/Releasing_an_add-on_mechanics|Releasing mechanics]].
* 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 ===
The initial authors of this process are
* Owner: Morgan Phillips


* Tasks:
{| class="wikitable"
    * Figure out if we want to serve system addons from AMO, from Balrog, or from somewhere else
|-
    * Build whatever is needed.
! Name !! Role
|-
| needs:owner || Owner
|-
| Mark Banner || Hello/docs
|-
| Ian Bicking || Hello/docs
|-
| Rob Helmer || Client
|-
| Dave Townsend || Client
|-
| Ben Hearsum || Tools
|-
| Ritu Kothari || Tools
|-
| Lonnen || Tools
|-
| Axel Hecht || l10n
|}


=== Component: Build, release, QA pipeline ===
= Projects =
[https://wiki.mozilla.org/Firefox/Go_Faster/Release_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 ===
These are the top-level projects defined for this program.
* Team: (TBD), Michael Kelly
* Tasks:


    * Design and build a process for localizing system add-ons
== Morgoth ==


=== Component: Hello as add-on ===
[[Firefox/Morgoth|Morgoth]]
* Owner: Adam Roach (WebRTC) + Mark Banner (Client Hello team)
* Tasks:


    * Implement Hello as a system add-on
* Project Owner: Benson Wong [:mostlygeek]
    * Create a migration path from Hello in product to Hello as system add-on


* Dependencies:
== Kinto ==


    * Updater changes, build pipeline?
A JSON storage service with synchronisation and sharing ability - allows the smart client to retrieve signed data from a dumb server.


== Project 1a: Ship experimental features as add-ons from Firefox Experiments/Idea Town ==
<big>'''Team'''</big>
{| class="wikitable"
|-
! Name !! Role
|-
| Tarek Ziade || Owner
|-
| Mark Goodwin || OneCRL client, PKI work for the signing
|-
| Sebastian  || Fennec Client
|-
| Jorge || our customer for the AMO blocklist
|}


=== Component: Universal Search as add-on ===
<big>'''Resources'''</big>
* Owner: Nick Chapman
* Tracking document: https://docs.google.com/document/d/1MHQNqJ--GAmNxXl2PODJ-YGU459l6vvDRmf9oEIRTms/edit
* Team: Nick Chapman (manager), Jared Hirsch (eng), John Gruen (UX), Les Orchard (dev), Bill Maggs (PM)
* Tool: http://kinto.readthedocs.org
* 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 ==
== Recipe Server (SHIELD + Variants) ==
* Q3
A system that provides a fast and powerful way for Firefox to fix configuration problems, interact with users, and recommend features.
* Tech lead/architect: Tarek Ziade


=== Component: Services data updater ===
<big>'''Team'''</big>
* Owner: French team (Tarek)
{| class="wikitable"
* Tasks:
|-
    * Serve updates to security policy
! Name !! Role
    * Serve datafiles for Fennec (dictionaries and fonts)
|-
| Gregg Lind || Owner
|-
| Matt Grimes || Product Manager
|-
| Mike Kelly  || Engineering Manager
|}


* Dependencies:
<big>'''Resources'''</big>
* [[Firefox/Recipe_Server|Recipe Server]]


    * Client updater changes (in project 1, above)
== Test Pilot ==
A system that provides a fast and powerful way for Firefox to fix configuration problems, interact with users, and recommend features.


== Project 3: decouple l10n from product ==
<big>'''Team'''</big>
* Probably Q4
{| class="wikitable"
|-
! Name !! Role
|-
| Javaun Moradi || Owner
|-
| Cory Price  || Program Management
|-
| Wil Clouser || Engineering Manager
|-
| John Gruen  || UX Lead
|}


=== Component: Build process ===
<big>'''Resources'''</big>
* Owner: Chris AtLee / RelEng / RelMan
* [[Test_Pilot|Test Pilot]]
* 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:
= Shipping Pipeline =
[https://docs.google.com/spreadsheets/d/1yOgiOTU8q2I709VFhjCYCLATmoyQueV8RttPzciFIkQ/edit Shipping Pipeline Spreadsheet]


    * Installer/updater changes
The `how` for Go Faster are the top-level projects outlined above. The other important things to track are the individual features and fixes that are going to be launching ''through'' Go Faster.


=== Component: Installer/updater ===
View the doc for a list of System Add-ons in flight.
* 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"
*[https://wiki.mozilla.org/Firefox/IterativeDevelopment 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.
***Here's an example of the overview from [https://wiki.mozilla.org/Platform/Roadmap#WebRTC_.2F_WebAudio Platform team for webRTC]
* '''Dependencies:''' feature, partner, resource, etc. that impact this projects ability to succeed - put links to other project pages.
 
==Links to Current info==
The [https://wiki.mozilla.org/Firefox/Go_Faster/links Links wiki page] is the central location for current focus, Roadmap, Metrics, UX, Marketing, tech-architecture, and more.
 
==Roles and Responsibilities==
The [https://wiki.mozilla.org/Firefox/Contacts Contacts Page] has the Roles and Responsibilities for Firefox teams, partner teams, and external partners.

Latest revision as of 22:26, 5 May 2023

Overview

We believe that building out tools and processes for shipping Go Faster add-ons will enable Mozilla's engineers to get features and fixes to a larger audience sooner. We will know this is true when we see widespread adoption of system add-ons as a mechanism for moving faster and updating faster than the standard trains.

Team

Name Role
Laura Thomson Product Owner
Rehan Dalal Program Management
Robert Helmer Technical Lead

KPI's

  • Number of projects using the tools.
  • All new features or improvements to existing features validated by go faster by the end 2016.

Meetings

  • Meeting Notes
  • Bi-Weekly Team Meeting
    • Every other Tuesday at 11:30 AM PST (conversions)
    • "GoFaster" Vidyo Room (extension 8557)

Communications

  • Mailing List (open to all, primarily used for sharing status)
  • IRC: #gofaster

Release Process and Mechanics

Process

Have something you want to ship through Go Faster?

Start here:

Mechanics

This page details the technological pieces involved in shipping system add-ons.

Releasing mechanics.

The initial authors of this process are

Name Role
needs:owner Owner
Mark Banner Hello/docs
Ian Bicking Hello/docs
Rob Helmer Client
Dave Townsend Client
Ben Hearsum Tools
Ritu Kothari Tools
Lonnen Tools
Axel Hecht l10n

Projects

These are the top-level projects defined for this program.

Morgoth

Morgoth

  • Project Owner: Benson Wong [:mostlygeek]

Kinto

A JSON storage service with synchronisation and sharing ability - allows the smart client to retrieve signed data from a dumb server.

Team

Name Role
Tarek Ziade Owner
Mark Goodwin OneCRL client, PKI work for the signing
Sebastian Fennec Client
Jorge our customer for the AMO blocklist

Resources

Recipe Server (SHIELD + Variants)

A system that provides a fast and powerful way for Firefox to fix configuration problems, interact with users, and recommend features.

Team

Name Role
Gregg Lind Owner
Matt Grimes Product Manager
Mike Kelly Engineering Manager

Resources

Test Pilot

A system that provides a fast and powerful way for Firefox to fix configuration problems, interact with users, and recommend features.

Team

Name Role
Javaun Moradi Owner
Cory Price Program Management
Wil Clouser Engineering Manager
John Gruen UX Lead

Resources

Shipping Pipeline

Shipping Pipeline Spreadsheet

The `how` for Go Faster are the top-level projects outlined above. The other important things to track are the individual features and fixes that are going to be launching through Go Faster.

View the doc for a list of System Add-ons in flight.