-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added the concept of meaningful spread #103
base: master
Are you sure you want to change the base?
Conversation
Dropped appendix for examples now that we have better examples in the spec
@chocolatkey I'm sure you have some thoughts to share on this too |
How do you envision reading systems using this property in their settings or UI? |
This would be an additional user setting that could trigger various behaviors. One of the most common way of reading manga these days is to scroll through the pages with a fit on the width of the page. If this setting is enabled, a reading system could decide to display the entire spread side by side, displaying an indicator that the user can scroll horizontally as well in those cases. I'm sure that there are various examples of how this is already implemented in various dedicated apps. @chocolatkey or @fillito might be able to give additional examples. |
Updated based on feedback from @mickael-menu that we should use camelCase for these properties. To further illustrate what this is all about, here are two examples: |
Since it's been a month, I'm no longer labelling this one as a draft PR. We're skipping the next call but in the meantime, I'd love to get a thumbs up or down from stakeholders such as @mickael-menu @llemeurfr @qnga and @chocolatkey. Since we haven't discussed this one as much, I'm putting it on a longer timer for merging (end of August) if we don't identify major disagreements in the process. |
I agree with the idea but there is a big typo in the writing: the definitions of breakScrollBefore and meaningfulSpread have been exchanged. Also, the processing model could be more precise: what happens if there is a missing meaningfulSpread? I mena if (in the sample given) the |
I think this is probably a better definition of the difference between spreads than what is available in EPUBs, because it's really about what the user will think should actually be seen as a spread. A lot of the time, EPUB metadata regarding spreads is either lacking, incorrect (from a user's perspective of what's most enjoyable to read), or determined using custom properties (such as, in Japan, the access-company metadata). The reason why, at least for comics, it's important to know if a spread is meaningful or not, is because of how you then choose to display it on portrait screens (phones, which make up the majority of reading today). When a spread is not meaningful, it can be split into two pages, either vertically or horizontally. When it is meaningful, the reading app should be attempting to find a way to preserve the side-by-side nature of the pages. I think that if this is provided as a setting to the user, it should be something that is by default on, because most of the time it is irritating not to have a meaningful spread's content joined in the reader. I've attached an example of what a comic reader may do when a meaningful spread is displayed vertically. Screen.Recording.20240722.114928.mp4I do wish there was a way to add this property in a manner that made the logic for the reader more obvious, and make it impossible to create strange/invalid situations with (like only adding
This may sound a bit repetitive of other metadata that has been invented, but it makes me wonder if it would be better to have |
@llemeurfr I can't reproduce this issue, this is what I'm seeing in the current PR: webpub-manifest/profiles/divina.md Lines 229 to 232 in 4deda7e
webpub-manifest/profiles/divina.md Lines 166 to 169 in 4deda7e
We don't have any processing models in our spec, because in a way, the toolkits are the processing model right now. This would of course need to change if we turn this into something bigger. The processing model proposed by @chocolatkey should work, but ideally it's always best to explicitly indicate where each image should be positioned in the spread since you could have interspersed center spread items as well.
Correct, I'd rather keep the position in the spread and whether a spread is meaningful as two separate properties. There are good reasons to document |
As Laurent noted, the processing model is not enforced by the specification. I think we could do that though: what about It would be more consistent with If having spreads of more than two resources is ever something useful, I guess |
I don't think this reflects what the property is meant for. EPUB gives content creator the false illusion that they have control over the presence of a spread, which we avoid doing. Reading apps and users are always free to display pages in a spread if they want to, even when That's why I would shy away from any property that gives the illusion over having any control on spreads. |
I understand information in publication formats mostly as a description of the publication rather than a rendering algorithm. With this in mind, there are no such things as meaningless spreads. Resource X does start a spread, no matter how a specific app with specific user settings chooses to render it. (Maybe I should have named the property It's true that some EPUB properties are not purely descriptive. Maybe some RWPM properties too. I realize that the original presentation hints were really imperative (despite being called hints). It could be useful to decide which properties are requirements and which ones are preferred values, and settle on a general naming policy. For instance, assuming that users are allowed to change the |
By the way, my original point was more about a solution to the possible issue of having only one resource with |
I've come to like Henry's proposal, though I would rename the
Could you elaborate? |
Actually Henry called the property |
I guess without With CBZ, authors "solved" this problem by having meaningful spreads as a single, wider bitmap file. If a spread must always be displayed for two resources, perhaps it should technically be a single resource. What is the benefit of splitting the spread into two resources? |
We could interpret EPUB according to the specification
In my understanding, indicating |
To prepare for TPAC, I've done some additional work that gives us insights into this topic. When talking with publishers, we see that the largest publishers in Europe default to:
The EPUB spec advocates for something a little different:
It's safe to say that there's a disconnect between what the spec tries to do and the reality of how content has been produced over the last 10 years. Ideally, we'd need to extract this data over a large set of FXL EPUB to confirm that what we're seeing for comics/manga also extends to other types of FXL publications. At the moment, it's not clear if publishers are capable of identifying meaningful spreads though. I'm going to continue interviewing publishers and try to reach out to Japanese publishers as well to better understand their situation (@chocolatkey do you think that you might be able to help with that?). What's clear for me though:
|
@chocolatkey @qnga That's pretty much what the EPUB spec says and what nobody seems to be doing right now. I think this should be a warning against going down the same road. |
In fixed layout publications, the spread can sometime be meaningful rather than decorative.
This new property is meant to convey this information and could be parsed from EPUB files where the spread is forced to
both
on specific items in thereadingOrder
.This shouldn't force a spread to the user, but it could be useful for additional affordances and/or user settings.
I'm labeling this one as a draft PR for now since I'd like to open a discussion about the usefulness of this property and whether it belongs in the Divina profile or in core properties (since
page
has been moved there).