-
Notifications
You must be signed in to change notification settings - Fork 60
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
Rewrite renditions to publications #1438
Conversation
This strikes me as exactly the right approach. Multiple renditions are not part of the EPUB core, but are something that can be done by extending OCF via multiple root files. |
… the section about multiple renditions is otherwise fine referring to the IDPF specification
The term "rendition" continues to appear many times. Most of them occur as part of key words, and they cannot be removed. Other occurrences of "rendition" also exist. I am not sure if this rewrite is more understandable. It certainly has potential incompatibilities. |
Only as the namespace for the fxl properties, which can't be changed. There isn't a link between the prefix and multiple renditions.
Could you elaborate? |
For example, is "The Package Document is an XML document that consists of a set of elements that each encapsulate information about a particular aspect of the EPUB Publication. These elements serve to centralize metadata, detail the individual resources that compose the Package and provide the reading order and other information necessary to render the EPUB Publication. " in the proposed rewrite of EPUB 3.3 correct? Elements in a secondary Package Document are not necessary for rendering the first Package Document. |
I agree that the document is way more readable this way. The "rendition" terminology really makes the current spec difficult to read. I would therefore be in favor of the change (and yes, there may be some rough edges, like the one raised by @murata2makoto). However...
I want to understand what this exactly means. I believe that, looking at #1436, there is no consensus of removing the feature from EPUB 3.2. What would this "Multiple Rendition" specification mean? I see some alternatives:
It is not clear to me whether the multiple rendition part should be normative. Seeing the very low number of implementations if it is normative we would have difficulties to pass the CR bar. Ie, (2) or (3) remain the alternatives. At this moment I do not have a clear opinion which of the two. |
I support your second alternative, which is to create a WG note. |
Right, but this is where the multiple renditions specification comes in. It should be where the concept of renditions are fully explained. As it is, it still refers to 3.0.1 where the terminology is defined, so that document should still stand alone. But republishing it as a note with more information about the "default rendition" and the alternatives is fine with me. As I said in the issue, I'm fine with keeping the framework in place, but I don't think where we've ended up with spillover of concepts between the documents helps anyone. |
If we decide to go along this PR's lines, and we opt for my second option above (which, after some thoughts, is my favourite) then I think we should create a first draft of that note asap, and publish it alongside the FPWD of the spec. Otherwise, our message would be misunderstood and some may think that we plan to completely remove multiple rendition from EPUB 3 (which, looking #1436, is probably something we shouldn't do). |
The issue was discussed in a meeting on 2020-12-04)
View the transcript2. Removing multiple rendition from core specSee github issue #1436. See github pull request #1438. Wendy Reid: multiple rendition is not widely implemented, and people have mentioned that references to it complicate understanding of the core spec Dave Cramer: I think of multiple rendition as an extension of epub only. The way we've had to write the spec because of this remote possibility has degraded the readability of the spec Ivan Herman: Referring everyone to the discussion in the PR Garth Conboy: i support getting language about multiple renditions out of the core spec, while still allowing the possibility of multiple renditions Gregorio Pellegrino: from an a11y point of view and a EU a11y act point of view, multiple renditions could be a way to meet requirements. Therefore multiple renditions make take on a greater importance in future. George Kerscher: I do a11y test for RS and I can see testing multiple renditions being a nightmare Dave Cramer: we don't want to deprecate anything Avneesh Singh: I've definitely seen multiple rendition in action. e.g. with Readium Hadrien Gardeur: although multiple renditions have been supported by Readium for a long time, we haven't actively worked on it for a long time. Its more a proof of concept
Zheng Xu (徐征): as long as we don't have a new OPF or anything that require us to implement a new parser, RS implementers should be satisfied Garth Conboy: for right now we can go with Matt's PR, and 6 months form now, if the EU directive requires us to bring it back in, then we can consider that step Ivan Herman: I propose not to come to any resolution at this point. We should wait until next week where the Japanese contingent will be in attendance, esp. as a lot of the comments on the issue were regarding Japanese RS, content
Garth Conboy: maybe we can come to an interim resolution now, and then revisit it next week with our Japanese members Avneesh Singh: agree that we can still alter course after we receive more clarification about how the EU directive impacts us
Wendy Reid: we're just collecting votes in the record this week |
Multiple renditions are used by BPS for accessible textbooks. An EPUB textbook contains a print-replica rendition for mimicking the original printed textbook as well as a more accessible rendition as a collection of reflowable HTML documents. Rendition mapping is used for allowing students to switch from the print-replica rendition to the accessible rendition (and vice versa) without losing the current position. I think that this usage scenario is very sensible and advanced. It is a reality in Japan. Does anybody have a better scenario for making textbooks accessible without throwing away sophisticated layouts? It is true that the current EPUB 3.2 is less readable due to multiple renditions. But this is because of backward-compatibility requirements as well as inappropriate use of HTML for rendition mapping, IMHO. What we should do is to improve multiple renditions. Pretending multiple renditions do not exist in EPUB 3.3 makes EPUB 3.3 a bit more readable for those who would like to ignore multiple renditions, but this does not really solve problems. For those who care multiple renditions, EPUB 3.3 will become less readable. |
I do not agree. The proposal is not to ignore multiple rendition; it is to separate that feature into a dedicated document. This helps both the readers of the spec who do not care of multiple rendition (which is the overwhelming majority of the readers!) but also who want to use the feature because, instead of trying to read between the lines of an already complex spec, can find some details on that feature in a dedicated place. I must admit I do not see the problem with that. |
Here we disagree. For example:
in EPUB 3.3 will have to be interpreted like:
I think that this interpretation is hard. |
Not really. EPUB 3.3 would be a return to 3.0/2.0 lineage and no one claimed those were confusing documents. The wording simply becomes:
For the vast majority of producers, an EPUB publication is, and will only ever be, what the one package document represents. We've built a house of cards by adding "renditions" and "packages" too late into the EPUB core when few people will ever need to worry about why this is even possible. The fragility of the specification and difficulty in keeping it consistent are greatly enhanced by trying to maintain these concepts. As I mentioned above, the multiple renditions specification can clarify that this first package document represents the "default rendition" to which it explains how to access others. That's what we hacked into the core specs in 3.0.1 to try and build this in the first place, so moving it all to the multiple renditions document doesn't realistically change anything. It should make everything much simpler again. Only the people actually interested in multiple renditions need to be aware of the issues surrounding them. I'm slowly working on another pull request that will add that missing context. |
Let's also not lose sight of the fact that multiple renditions has awkward workarounds due to its lateness in creation that would likely never make it a good fit in the core. Because EPUB has a long-established history of one package document being the publication, the whole notion of "publication metadata" had to be hacked on top of the existing framework that prioritizes the first package document as the publication. The less we have to drag the average producer into this world of renditions the better. |
I agree that this is one of the worst parts of multiple renditions. I wonder if we paid too much attention to imaginary backward compatibilities of reading systems at that time. Of course, it is too late to fix this in EPUB 3.X.
I still do not like "necessary to render the EPUB publication". We might want to explicitly say that an EPUB publication is allowed to contain multiple package documents but EPUB 3.3 does not define the semantics of multiple-rendition publications. |
Right, this is one of the sticking points I see in reverting back to the 3.0 wording. We have to avoid the "exactly one" requirement of a package document without re-introducing "packages". But each "rendition" is one rendering of the publication, so it is true that a package document defines a rendering of the publication. It's just not the only one possible. We can certainly make that clear. (And to re-iterate, the rewrite here is still a work in progress, hence why I only labelled it an experimental branch. I still need to give it a more thorough read.) |
I also think we have a significant incompatibility with multiple renditions in the OCF spec. The very last paragraph of the container.xml section says:
There's no clear explanation of what constitutes a "foreign" element or attribute in the specification, but given that we've used the requirement to strip attributes from other namespaces from the container.xml file to validate multiple rendition attributes, the only logical conclusion here is we require reading systems to ignore rendition selection. This statement dates back to the 3.0 revision, but OCF 2.0.1 only required reading systems to ignore unrecognized elements and attributes. |
I think Matt's proposal is an excellent one -- retaining multiple renditions (as it is a rarely used feature, retaining backwards compatibility), but also making our main specifications much more readable and understandable. We can discuss further on our next call -- that is why we voted last week, but did not formally resolve. |
I think that we need text before making a decision. |
I do not think so. It is perfectly fine for the WG to take a resolution in principle, considering this PR as a first step. Obviously, the final text will have to be reviewed along the lines of the problems you raised (and others that may still come), but I have not seen any arguments so far to fundamentally question the general lines. We are still far from a final spec. Actually, if a FPWD is published including this approach it would give a clear signal to a wider community to comment and draw attention to possible other inconsistencies that may occur. We have then about a year to get to a technically final (ie, CR) version... |
I'm still worried that this change hides problems rather than addressing them. Accessibility via multiple renditions is a good thing in general. Are we going to make it less visible in EPUB 3.3 because most people are slow adaptors? I can live with a decision if it promises to allows multiple renditions clearly. |
@murata2makoto is still worried, so to move the balance, I'll comment that I'm in favor of @mattgarrish proposal, already endorsed by several other members of this group. It is possible to find a wording in the core spec that does not put any focus on multiple renditions, with a companion document which details how multiple renditions can be created. It's a matter of careful wording and I'm 100% confident that Matt will find it. The argument of accessibility is imo insufficient: First, to my knowledge, the DAISY format does not support multiple renditions (with the EPUB 3 definition). Second, specialized producers of publications for the blind have already difficulties moving from the DAISY format to EPUB 3, therefore moving from single renditions (in DAISY) to EPUB 3 (synchronized) multiple renditions is quite a high wall to go through. Third, we should not take the EU Accessibility Directive for more than what it is: high level requirements, where "rendition" is a generic notion: an alternative publication is, at such high level of semantics, an alternative rendition. TTS is also an alternative rendition. And I would be surprised if National laws issued from the Directive are much more specific in their wording. |
Multiple renditions are already used by commercial digital textbooks in Japan. Several commercial companies are involved. I am not aware of any alternative scenarios for switching from fixed-layout and reflowable (and accessible) layout (and vice versa) without losing current positions. |
The issue was discussed in a meeting on 2020-12-11) List of resolutions:
View the transcriptContent:
See github issue #1436. See github pull request #1438. Wendy Reid: this is continuing the discussion from last week. Dave Cramer: the possibility of multiple renditions has always been in epub. Garth Conboy: there is at least one RS that supports it, so it makes sense to still keep multiple rendition functionality in the spec. Shinya Takami (高見真也): multiple renditions are currently used in Japan, mostly for educational purposes. Dave Cramer: Readium also had some support for multiple renditions. Marisa DeMeglio: wish we could go back to 2008 and reverse the decision to support multiple renditions. Brady Duga: the first thing that we tell you about epub in the spec is something about multiple renditions, I can see how that is confusing.
Wendy Reid: to keep all the documents together, Ivan has proposed that we publish the multiple renditions piece as a note. Dave Cramer: here is a link to the old IDPF version.
Wendy Reid: one of the other documents we have to publish is the overview note that ties everything together.
Wendy Reid: this is the overview document that is the introduction to the spec.
|
I guess Figure 1 should also be changed/simplified. |
I have just created: https://docs.google.com/drawings/d/1Gv-inOCWyZq_i1mzrjOlOC-A52QPeCqdvtcX2zZAmiY/edit?usp=sharing |
Experiment/add rendition defs
I'm closing this PR and will open a new one to discuss possible final text for inclusion. |
Just an experiment at this point so we can review what the changes would entail, but there aren't that many required to effectively go back to where we started with EPUB 3.0:
The only place where anything substantive changes is the
container.xml
section, but even those changes are pretty minor so long as we aren't deprecating multiplerootfile
elements. All we need to say is the first rootfile represents the package document for the publication. We can keep the requirement that if there are others they all must reference package documents of the same version, but otherwise we can leave the existing note that there isn't a broadly supported means of selecting. Thelinks
note only needs to say that we don't define any requirements for its use in this specification.That leaves the Multiple Renditions specification as a viable option for those who want to pursue that technology. The framework for having them remains in place, but they are no longer an active consideration of the core specification.
Reading Systems preview
Reading Systems diff
Preview | Diff