readium / readium-css

🌈 A set of reference stylesheets for EPUB Reading Systems, starting with Readium Mobile
https://readium.org/readium-css/
BSD 3-Clause "New" or "Revised" License
90 stars 20 forks source link

Recap of #eprdctn feedback and queries #17

Closed JayPanoz closed 6 years ago

JayPanoz commented 6 years ago

One important part of the Readium CSS project is collecting feedback and queries from the e-production community (CSS authors).

I think it is important to make a recap so that this information is available to implementers and authors can weigh in—I know there’s an issue #1 for this but it has gone way out of focus and quite difficult to parse.

CSS Authors’ typical profile

The typical CSS author has been doing e-production for 3 years or more (76%), is primarily concerned about interoperability (80%) and feels like he/she gets at least CSS fundamentals (88%). Also, most of his/her queries are related to layouts you can do in print that you can’t in ebooks yet.

So, I know there is no average, there are extremes (and the middle will take care of itself), but from experience, I can tell that is a pretty common profile in the eprdctn community. Same for queries, as publishing is still a print-first industry (and print layouts are “the gold standard”).

A few personal notes:

Workflow and authoring

Workflow is still print-centric

DTP software is still prevalent (more than 2/3 of answers), but automation is a thing (XML and even Node.js).

This means that should we provide new design options, change won’t happen overnight. Authors would have to add them to their workflow first (manual editing or automation upgrade), then authoring software would have to support them.

What’s interesting is that most authors would appreciate having such design options (more than 75%, on two polls), but if there isn’t any side-effects in other apps (cf. interoperability). Of course that would require production moving to EPUB 3 (EPUB 2 still makes up roughly 70% of all incoming content @ Kobo).

So once again, we have an education/evangelization issue there.

Authoring practices

CSS authoring varies greatly—and this shows in our samples, we’ve even found a file in which InDesign generated styles were inlined.

Almost 2/3 of authors use a custom stylesheet that they adjust for every book, very few actually rely on the styles output by their DTP tools. As a consequence, there’s no consensus when it comes to the CSS selectors authors use. It can be:

Reasons include:

To me, it means that if we want to solve the user settings issue well, we’ll have to find clever and inventive ways, selectors specificity being a dead-end in practice.

There’s a proposal for user agent properties, a draft for customization, etc. and I feel like they have some potential—for upcoming files, what’s already distributed is probably lost—, should EPUB have a “do not touch my CSS” mechanism at some point. E.g, with user agent properties, authors could design user-centric stylesheets (in theory, RS could not override styles at all and just set values for those properties).

In the meantime, we have to “emulate” the cascade (see issue #5) and resolve to !important. So that’s trying to make a not-so-perfect mechanism into something more elegant, which requires a lot of fine-tuning.

Worries and issues

Worries

What bothers authors the most:

  1. the app overriding styles without asking/user’s explicit demand (a.k.a. user setting)
  2. the complete lack of control over page layout (margins, background, etc.)
  3. user overrides which are all or nothing

Interestingly, reading modes’ adjustments and user settings feedback are not priorities—which doesn’t mean they aren’t concerns. There’s two assumptions I could make there:

Issues

Top issues in order of priority:

  1. images’ sizing e.g. author’s sizing is not respected, image is cut-off (we have a safeguard for that);
  2. broken media queries (which makes responsive design impossible);
  3. lack of support for modern CSS;
  4. Math.

I guess this won’t surprise anyone, those are long-standing issues in need of solutions (media queries don’t work in columned-content) and fixes (flexbox, grid, and modern layout specs have a lot of bugs in columns’ implementations). Our best bet there is collaborating with the CSS-multicol spec editors since we’re probably one of the major use cases for this spec.

Popular requests

Unsurprisingly, a lot of requests are about layouts possible in print that you can’t do in e-.

Interoperability issues reported

We care deeply about interoperability. Although Readium CSS has been designed from scratch, a lot of research has been put into other Reading Systems in order to improve interop (and not introduce breaking changes/side-effects). To my knowledge, we’re even the first project openly tackling EPUB implementations’ interoperability.

Let’s say that one of our major goal is to provide authors with a solid bedrock, so that Readium CSS does not become an issue for them.

A few interop issues have been reported, and I guess it’s worth listing them:

JayPanoz commented 6 years ago

This is now in docs and we’re way too advanced to take global feedbacks.

Please feel free to open request-specific issues starting today.