- From: Markus Joschko <markus.joschko@gmail.com>
- Date: Fri, 12 Feb 2010 12:39:12 +0100
Hi, I recently studied the "Offline Web app" section to investigate whether HTML5 is a viable replacement for the gears plugin. Sadly it is lacking a lot of functionality that we need to bring our application offline. Following things I miss most from the spec: 1) Enable/Disable applicationCache(group) programatically from client side javascript 2) Add a specific header when resources are fetched for offline storage 3) Add/Control URLs dynamically to the applicationCache While I can live without 3), let me explain what makes 1) and 2) so valuable: We have a CMS driven application that should be available offline as well. That is not just a couple of pages but a few hundred including resources like PDFs and images. Now some pages also have parts with dynamic data, which is only to be shown when online. But then it need to be accurate. So what I would need is the ability to fetch all pages listed in a manifest to the client. But they should NOT be served from the cache as long as the client is online. As a result the user can see all the dynamic data within the pages when online. That's different from the current behaviour: Once they are available in the cache, they are served from the cache. The easiest thing here would be to allow cache control via a javascript. So a user can switch on the cached version when he is offline. To optimize the pages for offline mode (hide login/search boxes etc), it would be helpful to have a header that tells the server when the resources are fetched to be displayed offline. Finally, 3) would allow for optimization when only a single resource is updated on the server. With the given spec after a manifest update, all referenced pages are checked for update. If I had control over the applicationCache entries, I could expire just the one updated entry. The current spec reads like it is targeting mainly use cases where only a small initial frame of resources is needed and otherwise javascript and databases are used to provide the offline behaviour. However with relatively small changes it could serve other purposes as well. Regards, Markus Joschko
Received on Friday, 12 February 2010 03:39:12 UTC