Recently, I've been putting a considerable amount of time into delivery strategies for HTML5 applications. Current browser support for manifest files makes it possible to run apps in offline mode, but also can produce weird caching behavior if you update part of your payload when the app resumes online operation. This is very important for apps in mobile browsers where suspend/resume behavior may mean significant clock skew in your running application.
One thing to make this work properly is a client capable of bundling requests and parsing the data out of the .jap file. My current best efforts for Phos put this somewhere around 20-30 lines of code. This means I can easily embed this and the directive for what payloads to load in a data: URL which can be used as the data