Gaia/App Definitions

From MozillaWiki
Jump to: navigation, search

App Types Proposal

There are a number of distinct app types which are supported by Firefox OS. Those app definition proposals, as well as the implications of each, are listed here:

Web Site Web App Firefox App Legacy (Open Web App)
Description Vanilla web site with no app manifest. Standards-based web app with W3C web app manifest. Signed web app (when privileged API access needed), at least initially Firefox* specific. W3C web app manifest with moz-prefixed extensions, inside a hosted streamable package. “web”, “privileged” and “certified” apps with an Open Web App Manifest. Packaged in a signed zip file (except “web” type).
Distribution Channel(s)
  1. Any web server
  2. Indexed by Marketplace
  1. Any web server
  2. Indexed by Marketplace
  3. Hosted by Marketplace?
  1. Any web server
  2. Indexed by Marketplace
  3. Hosted by Marketplace
  1. Marketplace
  2. Any web server (“web” type only)
Why would a Developer choose this option?
  • Just a web site that should be used inside the browser
  • Want content to run standalone outside the browser on multiple platforms
  • No need to package assets
  • If no sensitive APIs required, no extra signing process
  • Easier to handle offline support until ServiceWorkers lands and gains support
  • Need access to Firefox* specific privileged APIs
  • Supporting an old app
Why would a Developer *not* choose this option?
  • Developers coming from native consider hosting a service provided by the Marketplace
  • Requires signing by Marketplace (for privileged apps)
  • Requires review by Marketplace
Signing Required? No No Yes (for privileged apps, TBD) Yes (except web type)
Mozilla Review? Yes, for Marketplace indexed content only

Yes, for Marketplace indexed/hosted content only

Yes, for Marketplace indexed/hosted content only (depends on signing details above)

Yes, for Marketplace indexed/hosted content only

Impact of Changes to Existing Apps none Existing hosted apps should use the new manifest format going forward, but new FxOS versions should support legacy app versions. Existing packaged apps need to be converted to new format. Developers need to adhere to new format going forward. none
Proposed User Experience for Ignite Discovered through browsing, searching or via Marketplace with “open” button. Can optionally pin site to the homescreen which will open in a pinned window. Discovered through browsing, searching or via Marketplace with “open” button. Can use instantly in the browser and optionally pin to the homescreen to use as a standalone app (in a pinned window, with optional fullscreen display mode).

Details TBD

Discovered through browsing, searching or via Marketplace via “open” button. Can use instantly in the browser and optionally pin to the homescreen to use as a standalone app (in a pinned window, with optional fullscreen display mode). Some features may be activated by pinning (TBD). Hosted apps should work the same as web apps in Ignite adhering to the display mode

Packaged apps likely won’t be supported but we’ll need to automatically convert them to work with the new UX.