Guidelines for an implementation of the Readium Architecture for Web-based platforms.
Turns the manifest into a working in-memory model. Understands publication structure, resources, metadata.
Require Publication’s Reading Order and Resource collections. Starts from a resource Link.
Given a location (as a range) it will render highlights over the target text nodes.
Given a location (as a point) it will anchor an element over that location.
An element could be an image or other types of HTML block elements.
Recognize interactions, gestures on tap surfaces, when a text selection is made, when focus changes, and more. Emits Pointer events, which includes Mouse/Pen/Touch events.
Unpacked publications can be served from an HTTP web server, with resources as static assets.
Packaged publications can be streamed from a Publication Server.
With the module that implements a Publication Model you can read and manipulate a model that’s validated against the Readium Web Publication schema, with optional typing (via TypeScript) and with the addition of convenience methods.
Publication resources are streamed or downloaded over networking protocols.
Contrary to other implementations that run on devices with file-system access, publication resources on the web are not, as a whole, directly or immediately accessible.
Publication resources generally need to be loaded (embedded) into the render tree (DOM) of a web-based reading system.
List of content types with suggested embed elements, or other:
<iframe>, or other means of document transclusion
Sequencing and layout of content in reading order progression.
Match Presentation Hints.
Fragment, paginate and apply synthetic spreads.
Virtualized pagination and scrolling.
When loading or rendering additional resources for the purposes of prefetching and virtualization, consider frame times, DOM node count, CPU and memory heap.
Given the linear progression of a user’s reading activity it is advisable to limit the prefetching to the adjacent (previous and next) resources of a resource set in the reading progression. To effectively benefit from this approach, the adjacent resources can be fetched with high priority, as soon as or after the primary resource to render is ready.
The prefetch range could increase, with lower priority prefetching, given the known or inferred capabilities of the connected client.
Detailed guidelines are provided to developers of Web Readers who need to achieve some level of protection for copyright protected Web Publications consumed by Web applications.