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. The final codebase will be added to this repository.
Prototypes of the future codebase are already available at different locations:
- Webpub-viewer proof of concept has been developed by Hadrien Gardeur (Feedbooks); sources are here and are released under a MIT license.
- Webpub-viewer prototype has been developed by Amy Slagle (NYPL) from the proof of concept; sources are here.
- Webpub-viewer has been developed by Jiminy Panoz (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 Aferdita Muriqi (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 remaining work on Readium Web is mainly on the architecture, modularization, extensibility, documentation, tests of the codebase. As of September 2020, this work is moving very slowly, mostly by lack of time of the different developers involved and because there is no dedicated budget for this project.
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 started in Q1 2020. It is expected that the first release version will be ready by Q1 2021.