Your comments

The notion of "page" in EPUB is very abstract as there's really no such thing.


What you should be able to do is to actually get to a specific resource instead (chapter1.html) without loading the entire EPUB, and then be able to paginate and go to the right page.


Most EPUB readers out there actually handle the pagination using CSS, for example with CSS multi-columns or overflow: paged-x and then simply move the viewport.
Here's an example that you can try on Chrome for Android that paginates using CSS: https://hadriengardeur.github.io/webpub-manifest/examples/paged-viewer/

Google Play Books actually has to pre-process the book to handle it in their Web viewer or native apps.

I think that there are two clearly separate issues being discussed here:

  • how an EPUB is streamed to a viewer
  • the viewer itself

I fully agree with Thomas, that the primary purpose of Ubooquity is to handle the first part.


As long as a standard solution is used, there will be many options available for the viewer itself (Readium or epub.js for example), one of which Ubooquity might embed by default in the future.

One solution for that would be to expose a Web Publication Manifest instead: https://github.com/HadrienGardeur/webpub-manifest


Ubooquity would have to parse the OPF in the ZIP container, convert it to a Web Publication Manifest and expose these resources through an HTTP server.
Since the manifest would also be useful for comics, it would be a fairly straightforward way to provide support for both formats in Ubooquity.