B2G/MarketCustomizations: Difference between revisions

From MozillaWiki
< B2G
Jump to navigation Jump to search
Line 35: Line 35:
* Everything.me
* Everything.me
** Each partner has option to enable or disable the feature.
** Each partner has option to enable or disable the feature.
* Misc
* Browser
** Browser default bookmarks
** Default bookmarks
** Default search engine


===How and where do you define a customized app grid layout?===
===How and where do you define a customized app grid layout?===

Revision as of 22:32, 18 December 2012

FAQ

What can be customized?

  • Brand
    • Start up & Power off animations
    • Network name on Lock screen and in Utility Tray.
    • First Run Experience logos
  • Localization
    • Installed locales
    • Default locale
    • Default keyboard layout
    • (or is that set automatically by the locale choice?)
  • Apps
    • Preinstalled third party apps
    • Home grid app placement
    • Licensing
    • In-app payment provider configuration
  • Settings
    • Device Information - Model (name or #)
    • Device Information - Legal Information link or content
    • Help - Online support link
    • Help - Call support phone number
    • Help - User guide link
    • APN
  • Media preloads
    • Wallpapers
    • Music
    • Videos
    • Gallery
  • Sounds
    • Start up & Power off
    • Ring tone
    • Message tone
  • Everything.me
    • Each partner has option to enable or disable the feature.
  • Browser
    • Default bookmarks
    • Default search engine

How and where do you define a customized app grid layout?

  • It's currently in gaia/apps/homescreen/js/init.json

Is it possible to define whether an app is removable in the homescreen configuration?

  • No. All apps that are in /system/b2g are non removable, those in /data are removable. Since all preloaded apps come from /system, we need to move them to /data if we want them to be removable.

How do you add a preloaded packaged app to the build?

  • In gaia/external-apps
  • Many 3rd party apps will not be added to the Gaia repo, so need to determine how to add them. Build step?

How do you add a preloaded hosted app to the build?

  • They are also added to gaia/external-apps. We have different meta-data for packaged and hosted apps to distinguish them.

How do you prepare a preloaded hosted app for initial offline support?

  • You need to provide all the files to cache in the directory external-apps/MY_APP/cache, and the appcache manifest.

What Marketplace Customizations Are Possible?

  • On-device
    • The customization on the device regarding payments is limited to populating a whitelist of payment providers. There are a couple prefs for this, documented here https://wiki.mozilla.org/WebAPI/WebPayment#Testing
    • For example, Mozilla B2G phones will ship with our implementation of the payment provider (https://github.com/mozilla/webpay#readme) in a whitelist so that it is accessible to the Marketplace and third party apps for in-app purchases via navigator.mozPay(). Some more info on providers is here https://wiki.mozilla.org/WebAPI/WebPaymentProvider
    • If any carrier wants to implement their own payment processor and whitelist it, they are free to do so. However, the Firefox Marketplace is only configured to enable purchases through Mozilla's payment provider at this time.
  • On-server
    • None of currency, regional taxation, L10N is controlled by device configs (yet). The merchant app sets a price point for the product and Mozilla's backend payment processor chooses the currency based on the user's network.
    • In the future we may have a device setting to store the user's preferred currency or something like that.

How do I package and store per-market customization changes?

  • Store each of the files changed only.
  • Currently these are in various locations in the filesystem.
  • For v2, we should consolidate to a single location, similar to the branding directories we have for Gecko.

How do you build the product with a specific market's configuration?

  • Copy your changed files into a checkout of Gaia, and build using that modified Gaia.

Process Questions

  • Is it better to have specific bugs for each app on a homescreen grid, or just one bug per layout per market?
  • How to deliver/retrieve code for pre-loading? Manual delivery of assets, or suck it from a live app?
  • Who owns gathering the values for these customizations from the carriers?
    • Karen Ward (Content Program Manager) owns it for Pre-installed Apps.
    • Remaining localizations/customizations?