Goals of Readium Web
Readium Web will be a Web open-source reading toolkit (not a full featured Web app), with an emphasis on speed, modularization and clarity of the code.
A Web app based on Readium Web will not fetch an EPUB file and process it client side: it will usually communicate with a server side publication server / streamer (see Readium Architecture) and fetch individual items (HTML documents, images …) in streaming mode. It may also fetch documents from a simple http server exposing static files. Such behavior will be based on the integration of one or more navigators, adapted to the type of publication the app needs to process (e.g. HTML, Audio, Image).
A Github repository for the project is in place here. You’ll find in the README the complete list of goals and non-goals of this project.
Prototypes of the future codebase are already available at different locations:
- Webpub-viewer proof of concept has been developed by Hadrien Gardeur; sources are here and are released under a MIT license.
- Webpub-viewer prototype has been developed by NYPL from the proof of concept; sources are here.
- Webpub-viewer has been developed by Jellybooks from the prototype and released on the EDRLab Github; sources are here and are released under a BSD-type license.
- R2D2BC has been developed by DITA, as a CAST project, from Webpub-viewer; sources are here and are released under a BSD-type license.
Note: this shows the power of a community like Readium, moving from a POC to an end-user product by passing code from hand to hand.
The work on Readium Web will be mainly on the architecture, modularization, extensibility, documentation, tests of the codebase.
The publication server is not part of the Readium Web project. All existing streamers are found on the Readium Github, there. Other streamers may be developed by the community later, e.g. in Python or PHP.
The development is starting in Q1 2020.
It is expected that the first release version will be ready by the end of Q2 2020.