- From: Liza Daly <liza@safaribooksonline.com>
- Date: Mon, 22 Jun 2015 15:14:55 -0400
- To: Dave Cramer <dauwhe@gmail.com>
- Cc: W3C Digital Publishing IG <public-digipub-ig@w3.org>
- Message-ID: <CAF1pCNg-aWn7yzNrSiq+owSn9k50PCLHwj6gOOem7EcpVO8ncA@mail.gmail.com>
I have even stronger language to use for the AppCache spec and implementation than that ALA article. :) We gave up on supporting web-based offline usage via Ibis Reader (now the core Safari platform) because it was simply unworkable in practice. Putting aside that the implementations have all been wildly buggy, a practical difficulty with the app cache is that it expects a 1:1 relationship between a cache manifest and a domain. If you host a single book on a single domain, this isn't much of a scaling problem, but if you wanted to host 100 or 100,000 books on a domain, you'd have to expire the entire cache any time you added or removed a single title. Also, the cache is not infinite on most platforms, and has a per-domain hard limit. Bookish (now the Overdrive web app) does still use app cache, and gets around this problem by creating subdomains _for every title_: https://odcom-366d624d6b53b08a9d0a2c90b1dcea88.read.overdrive.com/ https://odcom-c2b601cb17f569fd4711e467edd142c1.read.overdrive.com/ I imagine this would be an unpopular general purpose solution. Liza On Mon, Jun 22, 2015 at 2:54 PM, Dave Cramer <dauwhe@gmail.com> wrote: > We've recently spent a lot of time discussing how to make a book [1] > readable both offline and online. As usual, this is an issue that has come > up in the larger web world. and there is a solution already supported by > every major browser. I'm speaking of AppCache [2], of course. > > At first glance, AppCache seems well-suited for books. An application > manifest file (text-only) lists the resources used by the book, including > CSS, images, scripts, fonts, etc.: > > CACHE MANIFEST > #v3 2015-06-05 > css/mobydick.css > metadata.json > manifest.json > title-page.html > copyright.html > introduction.html > epigraph.html > c001.html > c002.html > > > When you first visit a page, the files listed in the manifest are > downloaded. The next time you visit the page, you'll get the cached > version. This is a problem for the regular web, but could be an advantage > for us. If you change the manifest file on the server, you will trigger an > update of the cache. > > So my question is, why does everyone hate [3,sorry about the language] > this? The cache manifest itself would be helpful for EPUB+WEB, as it gives > us the list of files everyone seems to want, but far simpler than EPUB's > <manifest> element. > > * * * > > To be fair, the word "manifest" is probably less overloaded than the word > "template." Nevertheless, the "Manifest for a web application" > specification [4] appears to be unrelated to the application manifest used > by AppCache. Manifests for web applications are JSON files that provide > metadata for a web app. They could provide a location and syntax for book > metadata, and identify a starting point for the book: > > { > "name": "Moby-Dick", > "short_name": "Moby-Dick", > "icons": [{ > "src": "icons/moby-dick-icon.webp", > "sizes": "64x64", > "type": "image/webp" > }], > "start_url": "title-page.html", > "display": "minimal-ui", > } > > Together, these two manifests seem to meet several of EPUB+WEB's > requirements. I'm interested in further exploring these ideas to see if > they can be adopted or modified to meet our needs. > > Dave > > > [1] Feel free to think "publication" every time I write "book" :) > [2] https://html.spec.whatwg.org/multipage/browsers.html#offline > [3] http://alistapart.com/article/application-cache-is-a-douchebag > [4] https://w3c.github.io/manifest/ >
Received on Monday, 22 June 2015 19:15:42 UTC