Marketplace/PackagedApps

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.

Non-engineering implications of a packaged app

  • What is our release schedule?
    • ...for Gaia
    • ...for the website (in case some iframed packaged apps persist)
  • How/How hard should we push people to update their marketplace app?
    • How do we push critical bugfixes?

The release schedule is a big deal, because currently we accommodate a lot of last-minute requests and under-planned features. The idea currently is that we can just patch it; "just patch it" with a package becomes a lot dicier unless we can more reliably get people to update.

So, if our production schedule is longer (or has code freeze dates, etc), the impacts could be:

  • What happens with a third-party partner change?
  • How do we handle feature requests during our production cycle? Is there a cutoff point?
  • By when does L10n need to get something?
  • By when does QA need to get something?
  • How far in advance do features need to be defined? Designed? Communicated to FxOS?
  • How do we structure integration testing (and planning) around this cycle?

You'll find many of these things also described here: Proposal of what it means to be a packaged app

Packaged app or not

Should we be a packaged app?

Iframed Packaged Notes
First boot time Slow Fast 600kb of JS and CSS, images and index.html loaded from the network. As a packaged app its all local.
Second boot time No change A bit faster No network requests against servers to see what hasn't changed.
Gaia schedule Independent Tied Packages can be released any time, but packages in Gaia must be tied to the releases
Updates Easy (currently weekly) Very slow and require user action Slowness depends upon Gaia schedules. Updates for iframe can also be non-easy (iframe != no package updates, it depends on the change).
Process Little More If release takes 6 months, lots of time ahead planning
Offline strategy None Possible
QA cycles More Less Debateable, there will probably be more to QA
Hacky code More Less Testing is possible, but we are using postMessage to work around the packaging
Preload data None Possible (db) - not a huge use case
The Web Yes It's not the web
Release Cycle short, weekly long, ~1 year It takes 3-6 months for product, 6 months dev, + 1 - 2 for Gaia testing + 1 - 3 OEM acceptance and shipping to consumers
Localizations more planning less planning FxOS devices may have 1 - 6 months advance notice
installs_allowed_from Works fine Needs an iframe Oh the irony

Packaged apps on phones

Version Flavour Manifest URL Origin Notes
1.0.1
1.1 iframed https://marketplace.firefox.com/packaged.webapp app://marketplace.firefox.com Upgrade path maybe an issue for the ZTE Open issues 962524
1.2 iframed https://marketplace.firefox.com/packaged.webapp app://marketplace.firefox.com
1.3 iframed https://marketplace.firefox.com/packaged.webapp app://marketplace.firefox.com
1.4 iframed https://marketplace.firefox.com/packaged.webapp app://marketplace.firefox.com
2.0 iframed https://marketplace.firefox.com/packaged.webapp app://marketplace.firefox.com
2.1 packaged
Tarako 1.3 downloaded from the Marketplace packaged https://marketplace.firefox.com/marketplace-package.webapp app://packaged.marketplace.firefox.com When downloaded from the Marketplace
Tarako 1.3 according to Gaia packaged https://marketplace.firefox.com/marketplace-package.webapp app://marketplace.firefox.com According to Gaia (https://github.com/mozilla-b2g/gaia/blob/v1.3t/external-apps/marketplace.firefox.com/metadata.json)

Bugs of interest: https://bugzilla.mozilla.org/show_bug.cgi?id=929602