Readium 2 CSS, a call for participation
This article was written by Laurent Le Meur, CTO of European Digital Reading Lab, and Jiminy Panoz. Starting July 3, Jiminy will work on the Readium 2 CSS and be one of your privileged interlocutors throughout the process.
Most of you probably know Readium, a fully functional engine which can be used to develop EPUB 3 Reading Systems. And you may have already interacted with it, either through the Readium Chrome extension or an app leveraging its Software Development Kit (Cloudshelf Reader, NYPL SimplyE, Bookari, Bookvia, etc.).
The original goal of Readium has been largely achieved. It is a tried and tested solution which has already been used to create a significant amount of Reading Systems. It has been used to read hundreds of thousands of books. It is here to stay.
In the meantime, the web has continued to mature with the browser and JavaScript engines becoming much more full featured, and the major standards bodies, including the W3C and IDPF, have been producing additional specifications for digital publishing in many forms.
The overarching goal of Readium 2 is to re-think, from the ground up, a SDK that can be used to develop Reading Systems. Instead of developing an engine (or engines) for interpreting EPUB markup, the ambition is to develop a framework for interpreting and rendering current and future digital publishing markup.
The project is well under way, and it is now time to deal with its CSS (layout, pagination, default styles, reading modes, settings, etc.).
We do want to get it right
Historically, the relationship between Reading Systems implementers and ebook producers has been lukewarm—at best.
There’s been limited dialogue between those two, sparse documentation, quite a few overrides and a significant amount of bug reports–and fixes.
More importantly, it has been painful for anybody involved and probably hurt digital books in some ways.
This is the reason why we are making this call for participation today: we will need your help to do our best.
Design and development will be entirely public so that you can provide feedback. But there’s a lot of other goals to it:
- document the design and implementation, and make it public;
- publish a case study explaining our design choices;
- require feedback from the community on a regular basis;
- set best practices for Reading Systems;
- in the spirit of the modular approach taken, design the CSS so that it is as independent as possible and can be used by other SDKs;
- insofar as possible, keep it simple and accessible;
- get CJK (Chinese Japanese Korean), RTL (Right to Left) and accessibility covered out of the box;
- last but not least, avoid overriding authors’ CSS.
That is quite a list but we think that, eventually, all items have to be checked. Openness, transparency and communication are values we want to defend throughout the process; and we have hope it can be done with your help and involvement.
How you can make an impact
One of our main goals is to provide a sound basis for ebook producers. In order to achieve this, we will need samples and/or books. Of course, all samples will be kept private, they won’t be collected in a public repository.
What we need, in order of priority:
- one or several reflowable samples or ebooks which are representative of your CSS authoring;
- reflowable samples or books for which you’ve experienced issues in Readium or other Reading Systems;
- fixed-layout books for which you’ve experienced issues in Readium.
Samples can be send or shared at readium-css(at)edrlab(dot)org.
Please note we will parse the EPUB files’ stylesheets to get useful data (number of declarations, selectors’ specificity, font sizes and families, properties and values usage, etc.). We will take those statistics into accounts in order to make more informed decisions. Don’t worry, all the data will obviously be anonymized, withouth any human being invoved during the automated parsing of the stylesheets.
Your feedback will be extremely important too. We will try to organize twitter’s #eprdctn hours on a regular basis, to keep you updated on our progress and design choices, and collect your feedback. You can follow @EDRLab_EPUB if this is not already the case.
Feedback can also be given on the Readium 2 Github repository, and we and we have opened the readium-2-css Slack channel on readium.slack.com for more casual discussions.
It goes without saying that we also want to know what your pain points are currently, so that we can try to find solutions or prevent recreating them in Readium 2.
Finally, Jiminy will be available full time for the next three months (i.e. business hours, Paris time). Please feel free to contact him if you want to provide samples or feedback. You can reach him through several channels:
- Twitter: @JiminyPan
- Github: @JayPanoz
- Mail: readium-css(at)edrlab(dot)org
Once again, mail is completely private so if you feel uncomfortable providing public feedback or samples, do not hesitate to use it. Some feedback might be copied/pasted on Slack or Github but it will be anonymized too.
We are looking forward to hearing from you! #eprdctn is a great and valuable community, we want to make its voices count.