B2G/Transition Project

From MozillaWiki
< B2G
Jump to: navigation, search

B2g wordmark.png

Transition Project (March - July 2016)


  1. Modernise the B2G platform (replace legacy mozApps-only APIs with new web standards)
  2. Create a leaner platform on which to build Smart TV and other connected devices products (reduced complexity and maintenance cost)
  3. Move towards an architecture closer to that of the Firefox browser (just chrome and web content)
  4. Transition smartphone modules to new owners and peers in the community
  5. Build a more active open source community around the project

Gonk Changes

  • APIs needed for TV will be maintained by staff on the TV team
  • Smartphone-specific APIs will need to be maintained by the wider community
  • Merge the B2G process model with the Firefox process model

Gecko Changes

  • Replace mozApps with standard web apps (Service Workers, Manifest and Push)
  • Find an alternative solution to legacy mozApps-only APIs
  • Remove themes and langpacks and add support for Web Extensions
  • Check the meta bug 1245091 for B2G build issues

Gaia Changes

  • No longer built as mozApps (app://)
  • Turn system UI into (chrome://) (reason?)
    • System app
    • Home screen
    • Search
    • Keyboard
    • Settings?
  • Turn everything else into web content where possible (http://)
    • Hosted on localhost
    • Hosted on the web


Things we expect to be working in 3-5 months:

  • System
  • Homescreen
  • TV Browser
  • Media Apps

Things that might be broken:

  • Everything else (we need your help!)

Transition Branches

For the transition of the B2G architecture temporary transition branches were created:

After merging those changes back into the main mozilla-central repository they will become obsolete.

Building the Transition Branches

See MDN for build instructions.

How You Can Help

  • Test the transition branch
    • File bugs (meta bug for the transition work is bug 1252143)
    • Fix bugs (see meta bug above)
    • Help us fix failing tests, see meta bug 1252482 for testing/build related tasks.
  • Port a Gaia smartphone app
    • Pick a smartphone app
    • Figure out ways to get it working as a web app (or turn it into chrome)
    • Report back your findings on Discourse
  • Help us maintain a device port
  • (Eventually) propose/implement new smartphone features

Staff Contacts

Platform Engineering

Front End Engineering

Build & Test



Community Coordination

Module Ownership

  • Current module owners and peers will continue to begin with
  • Module ownership and peers will transition over time (particularly for smartphone pieces)
  • Some modules may become orphaned and removed

Keeping in Touch


  • 4-weekly Transition Project Meeting.
    • 3rd meeting on the 19th of May.
  • B2G Weekly Meeting for engineering status updates (was Gaia Weekly Meeting).
  • Community Working Groups meetings: have a look at the Working Groups page


See the frequently asked questions (and answers!). They can help you to have a better view of the project and getting started.

See Also