Marketplace/Late customization

From MozillaWiki
Jump to: navigation, search
Stop (medium size).png
The Marketplace has been placed into maintenance mode. It is no longer under active development. You can read complete details here.


"Late customization" is the process by which an operator can specify apps to be installed – zero-rated (meaning: no charge for data used) – during FTU. Prior to this capability, operators would get devices in advance and install apps on the devices before shipping to consumers/distributors. This allows operators to specify what apps get installed and presents this information to the user.

The Marketplace support for Late Customization includes an addition to the operator dashboard to manage apps, and a notification when all of those apps are not installed (plus an opportunity for the user to re-visit the list, or dismiss the notification forever).

Background materials

  • Design Brief
  • UX spec
  • Device-side UX spec
  • Proposed technical approach:
    • Create API endpoint to query for app data for FTE install (per carrier)
    • Add a panel to the operator dashboard tool for operators to specify the late customization set (separate from and unrelated to the operator shelf)
    • Create alternate route for those installations to accommodate zero-rating
    • Create client-side experience (detailed in the UX spec) which presents, at most, a banner and a single page that exposes apps to be installed


Because late customization is not available prior to 2.5, support is determined using navigator.hasFeature('late-customization').

Note that feature detection is only supported within the Marketplace app (because the API is privileged), so the consumer pages portion of late customization in Marketplace are not visible – even on 2.5 – in the Marketplace via the browser.

Operator dashboard

Operator FxA accounts are granted specific permissions for MCC/MNC (region/carrier) pairs. Just as those permissions grant the ability to set the operator shelf, so too do similar permissions grant the ability to set the late customization set. No more than 5 apps may be selected for late customization, and it is the responsibility of the operator to ensure that those (production) URLs are zero-rated; because URL for the app is the production URL, all future updates of a late customization app and regular installations of a late customization app would also be zero-rated (as there is no way to discern between an FTU or non-FTU install).

IMPORTANT NOTE: the assumption/recommendation is that an operator will not include any paid apps for inclusion in late customization.


The operator dashboard creates a data set that is queryable via a basic API, which is detailed in the documentation. This API is used by the operator dashboard, the OS during FTU, and the Marketplace consumer pages.

Once the operator dashboard has created a set, it is up to the operator to configure zero-rating, but the OS will {ping the API during FTU, and if a data set is available, the user is shown a list of apps that will be installed, but is not required to confirm them (see user flow on pages 11-12 of the Device-side UX spec).

Marketplace consumer pages

Upon startup, if support is confirmed using navigator.hasFeature('late-customization') and if the user does not have all of those apps installed already, a banner is displayed informing the user that "You carrier offers some free apps. Get them now!" Clicking on the 'Get them now' brings up a list of the late customization apps, with install buttons for the apps that are not installed. This banner will appear on all Marketplace consumer pages until dismissed.

The banner can be explicitly dismissed in two ways: 1) by explicitly dismissing the banner, or 2) it will stop appearing if all of those apps are installed. This setting is saved in local storage, so it can reappear if local storage is cleared or the device is reset.

Tracking bugs

Tracking bug: 1202829

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);