Apps/StatusMeetings/ContentProgram/Content Types for Dummies

From MozillaWiki
Jump to: navigation, search

From a technical perspective there are two basic types of apps:

  • Packaged (which may or may not be privileged or certified). In order to make an update to a packaged app the developer must submit a new version of the app to the Marketplace and Marketplace must notify users who have installed the earlier version of the app that an update is available for the installed app. All packaged apps are code reviewed by Mozilla. All packaged apps are signed by Mozilla. The zip file is signed by Mozilla to ensure that it is not tampered with.
    • A “Plain” packaged app has all of its resources (HTML,CSS, Javascript, app manifest, CSP, etc) contained in a zip file.
    • A “Privileged” packaged app has been approved by Marketplace to make use of certain sensitive APIs (1) on the device. In order to have access to the APIs the app must enforce a Content Security Policy (CSP).
    • A ”Certified”. packaged app has access to critical system functions on the device. The carrier and/or OEM must approve the app to have use of these critical APIs. Certified apps must also enforce a specific CSP.
  • Hosted apps make use of an App Manifest to allow access to code that is hosted on the internet at a unique URL. Hosted apps may make updates on the server side without processing through Marketplace. Hosted apps are not code reviewed or signed by Mozilla.
  • (Advanced readers, or if you simply desire more information, see https://developer.mozilla.org/en-US/docs/Apps/Packaged_apps)

From a content program perspective there are 2 main categories of applications: Pre-installed and User Installed applications.

  • User installed apps may be either packaged or hosted. The user selects them from the Marketplace and installs and/or deletes them at will.
  • Pre-installed Apps are loaded on the phone before the end user purchases it. They are divided into 3 sub-categories: Core, Global and Local.The basic rationale for this breakdown is to facilitate discussion with mobile carriers regarding who is responsible for development, acquisition, QA and ultimately positioning of each app on the device when it comes out of the box.
    • Core Apps provide essential functionality to end users and cannot be deleted from the phone. Updates to Core Apps are only possible with an update to Gaia or full system update. All Core apps are packaged and certified with 3 exceptions (weather maps and Notes). The Core Apps are: 1. Mozilla Marketplace 2. Audio Player 3. Browser 4. Calculator 5. Calendar 6. Camera 7. Clock 8. Contacts 9. Cost Control 10. Dialer 11. Email 12. FM Radio 13. Gallery 14. Maps (Nokia)* 15. Notes (Evernote)* 16. Settings 17. SMS/MMS 18. Video Player 19. Weather (Accuweather)*
    • Global Pre-Installed 3rd Party Apps are sourced by Mozilla from 3rd Parties. These apps and games have been identified as of interest across multiple markets. Global pre-loaded apps can be deleted from the phone by the user and re-installed from the Marketplace (if desired). These apps may be either packaged or hosted.
    • Local Pre-Installed 3rd Party Apps are identified by the Operating Company for their specific markets. The local operating company works with targeted developers to submit their app to the Marketplace via the Mozilla Developer Hub (https://marketplace.mozilla.org/developers/) 8 weeks in advance of code freeze for each device for each market if local apps are different across markets. Local pre-loaded apps can be deleted from the phone by the user and re-installed from the Marketplace (if desired). These apps may be either packaged or hosted.

(1) For a listing of sensitive APIs see https://docs.google.com/spreadsheet/ccc?key=0Akyz_Bqjgf5pdENVekxYRjBTX0dCXzItMnRyUU1RQ0E#gid=0