Mobile/Projects/OEM distro service
Firefox for Android supports the concept of "distributions" for partners, where a carrier or OEM can create a small set of configuration files that Firefox uses to add custom content and behaviour to the application, including new or tweaked search engines. This provides revenue sharing opportunities to Mozilla and the partner.
Currently, the distribution files can be
- bundled with the Firefox for Android APK or
- included in the ROM image of the phone or tablet
The bundled approach extracts the files out of the APK and stores them with the application. This is the least robust approach, because uninstalling and reinstalling a non-distribution APK effectively removes the distribution configuration. It has its pros and cons.
The ROM image approach allows OEMs or carriers to put the bundle on the device itself, and is used in situations where Firefox is shipped by default on devices. The distribution bundle is permanent, but can be overriden by the APK approach if the configuration needs to be updated.
A third, new way
We are considering a third way to handle distribution files.
Let's say a carrier wants to give an existing Firefox user the chance to start using the carrier's distribution configurations. They have millions of existing customers using Android phones and want to try to convert some of them.
One of our ideas is that we create a Mozilla service that can distribute the distribution bundle, based on a unique partner ID. We are thinking of this as being similar to the Blocklist ping or the Update service. Firefox would ping Mozilla on some interval, sending some basic info - enough for the server to respond with "yes, I have a distribution you can use". Firefox then gives the user a chance to activate the distribution, at which point Firefox downloads the ZIP file bundle from Mozilla and "installs" it.