Readium Desktop

A woman at a table with a phone and a laptop

Goals of Readium Desktop

Readium Desktop is the software platform behind Thorium Reader. This is and open-source toolkit for reading applications running on Windows 10, MacOS and Linux and mobile apps. Technically speaking, it is a set of (mostly chrome-less) modules developed using Electron.js, node.js and Typescript, which follows the Readium Architecture.

The project is available on Github.

The project is led by EDRLab. This development has been possible thanks to the financial involvement of EDRLab members.

Important Notes

In practice, most developers we know of have decided to build their reading application from the open-source codebase of Thorium Reader instead of starting from Readium Desktop. It is undoubtedly easier to develop an application from a full-blown product, but it comes with ties: EDRLab is driving the evolutions of Thorium Reader from its own requirements, and does not guarantee any backward compatibility from one version of Thorium Reader to the next. This is different for Readium Desktop, as the modules of the toolkit have a clear API with carefully thought evolutions.

Developing a reading application based on Electron.js, node.js and Typescript is complex, to very complex. Your team of developers must be really skilled in these technologies before starting a development based on Readium Desktop (or Thorium Reader by the way).

If you plan to support the LCP DRM in the app : supporting LCP in an Electron.js environment is a complex task. We have developed a procedure which protects the LCP module against hacking, and this procedure must be carefully followed. It takes time and efforts from your dev team, with some (paid) support from the EDRLab team. Please don’t neglect this difficulty.

Current status

The toolkit now support the following:

  • Handle EPUB 2, EPUB 3, EPUB 3 FXL publications.
  • Handle PDF publications.
  • Handle DAISY 2.02, DAISY 3 publications.
  • Handle W3C and Readium Audiobooks.
  • Handle Divina publications.
  • Support LCP protected publications (PEUB, PDF, Divina, Audiobooks).
  • Modify user settings, incl. luminosity, font selection & size, letter/word/line spacing, hyphenation, sepia and night mode, number of columns.
  • Navigate through OPDS catalogs (OPDS 1 and 2).
  • Authenticate on an OPDS catalog.
  • Manage bookmarks.
  • Manage page lists embedded in EPUB.
  • Manage position lists.
  • Store the current reading position in the publication.
  • Full-text search inside a publication.
  • Support Media Overlays.
  • Support TTS read aloud.
  • Support for the APIApp lending protocol (specific to the PNB e-lending platform in France).
  • Support completed for some neglected EPUB 3 features, in order to pass as many EPUB tests as possible.
  • Support for accessibility metadata.

Roadmap

As of January 2023, planned evolutions are:

  • Native support for Apple M1 computers.
  • Support for annotations, saved in the app, as an exported file, and later shared on the Cloud.

Other Readium projects

Readium Mobile

The reference iOS and an Android open-source reading toolkit.

More on Readium Mobile

woman in library reading at a tablet with lock in her hand

Readium LCP

The vendor-neutral and interoperableDigital Rights Management technology, embeddable in any reading application based on the Readium SDK.

Discover Readium LCP

Copyright © 2023 EDRLab. Legal informations

Log in with your credentials

Forgot your details?