User:AxelHecht/Mobile Shipping Vehicles

From MozillaWiki
Jump to navigation Jump to search

We're currently shipping 15 out of ~60 available localizations on Firefox Mobile. This page enumerates the technical possibilities to close that gap.

Full Localization

One all-locales build

Ship a single build with all locales through the google play store.

Pros:

  • straightforward to build and distribute
  • mainstream update path

Cons:

  • increased download size
  • regressing startup time
    • need to get back locale switcher
    • bigger binary

Single-locale builds in google play store

Ship many single-locale builds through the google play store.

Pros:

  • mostly straightforward to build and distribute
  • mainstream update path
  • great startup time
  • choice of language at install time

Cons:

  • requires different app IDs
  • destroys discoverability and metrics in the google play store
  • we could not recombine the populations in the future once a multi-locale is more feasible, as the app IDs cannot be changed

Single-locale builds on the web

Create our own web page to host single locale builds. We'd still have a mainstream-locales build on the google play store.

Pros:

  • great startup time
  • choice of language at install time
  • 90-10 hitrate for languages on google play store, unique presence for ratings and discovery
  • this is an already tested scenario
  • we can recombine with the Google Play product in the future if desired, which means that if updates fail, we can still fall back on Google Play

Cons:

  • Hard to discover long tail of languages
  • Install experience requires developer settings
  • Update experience shows tons of scary popups (one more than required?)
  • Requires version to be in the future for web-installed builds to not update to multi-locale on the store

Partial Localization

The solutions below are variations of the status quo, we're not accepting contributions to 45+ localizations of Firefox for Android. We still have a few knobs to turn, with pros and cons. The solutions here codify that and get the set of localizations to manage down to those we're shipping.

Full Aurora localization

We'd keep all localizations on aurora, and disable anything but the multi-locale ones for beta during migration. Aurora would be the regular Aurora experience, though propably with a download page. The aurora builds wouldn't be promoted beyond the usual aurora coverage, though community sites might emphasize them.

Pros:

  • Bad update experience is restricted to Aurora, Firefox branding only with best startup and install experience
  • Additional locales for the multi-locale builds can be fielded from the Aurora group

Cons:

  • Shipping Firefox doesn't have the aurora channel
  • Sign-offs would only start with the first beta
  • Initial Beta releases hardly localized
  • mxr queries to search for common problems show a lot of data we don't care about

Fully restricted to multi-locale

We'd disable all locales not in the multi-locale builds, and treat the 15 in the multi-locale build just as any other product on the trains.

Pros:

  • Shipping Firefox has both the Aurora and Beta channel
  • mxr queries inform about what we release

Cons:

  • Closed to community contributions, disempowerment of the community
  • no ecosystem to build out additional localizations for the multi-locale build

Non-solutions

In this section, we're keeping track of proposal, which are believed to not have technical implementations

Single-locale builds in "mozilla store"

Create our own market implementation to host single locale builds. We'd still have a mainstream-locales build on the google play store.

Pros:

  • Full control over install experience
  • great startup time
  • choice of language at install time
  • 90-10 hitrate for languages on google play store, unique presence for ratings and discovery

Cons:

  • Hard to discover long tail of languages
  • Have to build a store

Unknowns:

Hopefully folks with experience on the amazon store can answer some of these and sort them into pros and cons.

  • How to build a store
  • AppIDs
  • Version requirements
  • Update experience

Language packs

Language packs work on the gecko side of things, but not on Android. See [1] for a discussion, which hasn't turned up technical implementations so far.

If doing a native-java implementation of java, with forking the layout exploders or postprocessing them, we might have a chance, but that's very speculative.