Upgrading Your Application

In a sense, upgrading your HTML5 application comes for free, as long as you are just running it in a browser.
If you are using a hybrid framework like PhoneGap, you will have to do your upgrades by creating a new APK package (Android) and distributing it in the normal way.

Syncing Data

In a web browser app, you should be able to detect the upgrade event and handle synchroising the data before the upgrade occurs.
Otherwise, you will need to ensure that the upgraded app can read data from the older versions of your app and still synchronise the data.

Versioning

In your manifest file, it is good practice to add a version number for the web application. When you make changes to your web application, change the version number in the manifest; the web browser sees that the manifest file has changed, and so downloads the offline parts of the web application.

You will also want to add a version number representing the static data that the offline web application is using. For example if you have a list of titles (Mr. Mrs. Miss. Ms.) in a drop-down box, you may decide that you need to add Dr. Although the web application has not really changed, the drop-down list of titles needs a new entry, so having a data version indicates that the data has changed but not the web application.
The end result is the same: the offline parts of the application are downloaded.

Caching

It is vital that the manifest file is not cached. If the web browser caches the manifest file, it will not see any changes immediately, so you will not download the latest version of the web application.
You need to set the http headers in the usual way to indicate that this file should not be cached.