Hi All,

We've been discussing the details for how to detect and download
updates of packaged apps.

We have a few known requirements:
* We want to update apps without requiring that the user actively goes
to the marketplace app
* We want to allow multiple stores installing packaged apps (i.e. the
update mechanism can't be mozilla-only)

And a few which to me are "maybe" requirements:
* Being able to detect that an update is available without actually
downloading the update.
* Being able to support mirrors which use http.
* Being able to get various pieces of metadata about an update before
downloading it.
* Supporting other update schemas in the future.

Things that are *not* requirements for v1:
* Ability to download a "partial" package in some form. I.e. download
a binary diff or a zip file containing only the changed files. This is
definitely something that would be cool to do in the future, but not
for v1.

I'm probably missing requirements in all of these categories. Feel
free to point them out.


Originally we had discussed simply doing a GET request to the same URL
as was used when downloading the package originally. While doing the
GET we would include the normal "If-None-Match: etag" http header to
only download the app package is a new version is available.
Presumably this would also allow us to use a HEAD request with the
same header if we just wanted to check for an update without
downloading if one is found.

Two problems were brought up with this:
* It's a bit too simple to allow working with http mirrors. This could
be solved by adding a header to the 302 response which redirects to
the mirror such that we get a hash from the store which we can use to
verify the mirror contents. I believe this matches what we do for
addons.
* It doesn't allow sending any metadata about the update from the
store to the UA.

So the question is. What metadata would we want to send which
prohibits this solution? What other solutions do people have in mind
for updates?

/ Jonas
_______________________________________________
dev-webapps mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-webapps

Reply via email to