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 instead fetch Web Publications from a simple http server exposing static files, fetch them from a publication server, a.k.a streamer (see Readium Architecture) .
Readium Web will integrate several navigators, each one being adapted to the type of publication the app needs to process (e.g. reflowable ebooks, fixed layout ebooks, audiobooks, comics). Resources (i.e. XHTML, MP3 … streams) will be retrieved at the time they are used, with a some level of preload and cache.
The 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.
The server part of a complete system – publication server or streamer – is not part of the Readium Web project. Existing streamers are found on the Readium Github, there. The Golang publication server will be enhanced. Other publication servers may be developed by the community, e.g. in Python or PHP.
Important: Readium Web does not and will not support the LCP DRM. Browsers are transparent to developers, and no real Digital rights Management technology can survive such exposure. The Readium community will however work on a protection applicable to Web Publications in 2022.
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.
- Jellybooks Reader has been developed by Jiminy Panoz (Jellybooks) and builds on previous works. Its engine will be released as a first version of the official Readium Web open-source codebase.
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.
There is still lots of work to do on the architecture, modularization, extensibility, documentation, tests of the codebase.
As of September 2021, this work is moving very slowly, mostly by lack of free time for the different developers involved and because there is no dedicated budget for this project.
It is expected that the first release version will be ready by Q1 2022.