Fighting Complexity in EPUB 3: Modularization and Delegation
Skip other details (including permanent urls, DOI, citation information)
This work is licensed under a Creative Commons Attribution-NonCommercial 3.0 United States License. Please contact : [email protected] to use this work in a way not covered by the license.
For more information, read Michigan Publishing's access and usage policy.
This paper was refereed by the Journal of Electronic Publishing’s peer reviewers.
Abstract
The IDPF chartered the EPUB 3 revision with a wide-ranging mandate to expand the scope of the specification. On top of this, timely completion of the work was “critical.” To meet these demands, the EPUB 3 Working Group used two techniques to manage and limit the increasing complexity of the standard: modularization and delegation. While both of these carried downsides and risks, they became critical components in creating an effective, meaningful revision in a reasonable timeframe. Inside the EPUB 3 specifications themselves, an even more striking commitment to harmonization and delegation led the DAISY Consortium to defer completely to EPUB 3 as a distribution format, removing their DTBook format from the specification itself.
In May 2010, barely a month after the launch of Apple’s iPad and iBooks, an eye-opening event for many American publishers, the International Digital Publishing Forum (IDPF) chartered a new Working Group to revise their popular EPUB standard. In response to the stratospheric growth of e-book sales and pressure to support more types of publications, the IDPF’s Charter outlined 14 industry problems. Finding solutions to these problems would significantly expand the scope of the specification and would also push it to become more closely aligned with the W3C’s web standards. Critically, the Charter encouraged the Working Group “to utilize broadly-adopted building-block open standards wherever feasible, in preference to creation of new technologies.”
This encouragement led the EPUB 3 Working Group to approach its work with two key techniques: delegation, a transfer of responsibility and definition to another specification, and modularization, an intentional fragmentation of a specification and/or its schemas into independent components. These techniques allowed the Working Group to tackle more of their chartered problems in less time.
The standards landscape looked much different in May 2010 at the start of the EPUB 3 specification process than it had years earlier for the first EPUB specification. EPUB 3 had a rich set of actively maintained other standards to draw from, which justified their more extreme approach.
Modularization
The movement of standards toward modularization has its roots outside of EPUB, with two different approaches adopted by the W3C’s XHTML 2 and CSS Working Groups. XHTML 1.1, produced by the XHTML 2 Working Group, experimented with modularization of its schemaand attempted to simplify special-purpose subsetting and/or extension of XHTML. The original EPUB specification adopted exactly this sort of subsetting of XHTML 1.1. The larger approach of XHTML 2, specifically the lack of backward compatibility, failed to receive continued support after the start of work on HTML5 and the Charter of the XHTML 2 Working Group was allowed to expire in late 2009. Interest in schema modularization would not die with XHTML 2, but it did lose some of its champions in the HTML world.
The CSS Working Group took a markedly different approach to modularization, focusing on modularizing the specification itself, and this attempt wouldn’t be undermined by too little backward compatibility. The first CSS specifications, CSS">http://www.w3.org/TR/CSS1/">CSS Level 1 and CSS Level 2 Revision 1, had been published as huge, monolithic documents. They were too unwieldy to allow efficient refinement and expansion. The solution to this was shifting CSS 3 into individual specification modules, which could “be updated as needed, thus allowing for a more flexible and timely evolution of the specification as a whole.”[1] By some measures, this move to modular specification has been a spectacular success, as there are now nearly 50 CSS modules currently at some stage of development. These new modules have expanded the number of properties specified from 53 in CSS 1 to 115 in CSS 2.1 and more than 240 in the current CSS 3 drafts.[2] The implementation complexity has also been somewhat mitigated by the move toward modularization, as different browsers target specific modules one by one for their upcoming releases rather than a complete revision of the entire specification.[3]
Defying the specification modularization trend, HTML5 has">http://www.w3.org/TR/html5/">has remained monolithic and is now more than 300,000 words.
As the EPUB specification evolved, it has adopted both schema and specification modularization. The first version of EPUB explicitly rejected the monolithic OEBPS 1.2 specification, its predecessor, and was split into three separate and independent, but tightly connected, specifications. EPUB 3 continued that division and added a fourth module, the EPUB Media Overlays specification. The IDPF saw a sustainable revision schedule following this modularization (four years between EPUB and EPUB 3), which was one of the goals outlined by the CSS Working Group.
EPUB’s specification modularization has also limited the sheer document size of the individual component specifications. No single specification has been independently revised, although this may follow EPUB 3.
Schema modularization has also helped limit the complexity of the EPUB specifications as they have matured, although the process has been less straightforward than the modularization of the specifications themselves. Originally, both versions 1.0 and 1.2 of the OEBPS specifications defined their own subset of HTML and CSS. The EPUB specification moved away from an internally defined XHTML 1.1 subset, as the newly published XHTML Modularized schemas allowed (sub)sets of specific modules to be externally referenced and combined rather than redefined. No change was made for CSS, which was still subsetted in the EPUB specification itself. While EPUB 3 no longer used the now-unpopular XHTML Modularization schemas, it did adopt schema modularization for its own schemas. This has encouraged a somewhat wider group of contributors to help craft the schemas.
Delegation
EPUB 3 took a revolutionary approach to referencing and restricting other specifications, unlike the gradual evolution of its approach to modularization. EPUB 3 favors delegation to other standards over other approaches. The earlier technique of defining internal and external subsets of the primary content markup specification, HTML, and later XHTML, was designed “to minimize the implementation burden on Reading System implementers.” Unfortunately, this sort of subsetting increases both the maintenance burden and the risk that referenced work will evolve incompatibly. Beyond that, the IDPF now recognizes that “most distributed [EPUB] Reading Systems utilize Web browsers to present content to end users, and many standalone [EPUB] Reading Systems utilize Web browser rendering technologies in their implementations.” The pace of development of both the HTML5 specification and CSS3 modules has increased in recent years, forcing the IDPF to acknowledge the cost of any divergence between EPUB 3 and other work explicitly in the EPUB 3 Charter: “the versions of these standards utilized in 2006 [for EPUB ...] are no longer current.” Instead, EPUB 3 needed to “improve alignment with Web standards.”
EPUB 3 Working Group adopted a goal of alignment and harmonization by inverting the past relationship with CSS and HTML, moving closer to unconstrained delegation to other standards. EPUB 3 “inherits unless otherwise specified all definitions of semantics, structure and processing behaviors from the HTML5 specification.” Similarly, EPUB 3 adopts and delegates (with only two exceptions) any “CSS Style Sheet that conforms to CSS 2.1.”[4]
These two changes simplify the scope of what EPUB 3 specifies in terms of content markup and presentation semantics, but come with their own risks. In particular, the IDPF has long been concerned about the permanence of e-books created using its standards. This concern is now moved to the foreground quite explicitly in warnings inside the EPUB 3 specification.
The EPUB 3 XHTML Content Document definition references features in the W3C HTML5 specification that are still works in progress and may change in incompatible ways. When utilizing such features, authors should consider the inherent risks in terms of the potential impact on interoperability and document longevity.
Interestingly, the older EPUB specifications themselves were even designed to be the target rather than the source of this sort of delegation, as OPF 2.0 was modularized independently in part to “help facilitate the use of the packaging technology by other standards bodies (e.g., DAISY) in non-OPS contexts.”
DAISY
The DAISY Consortium took an even more extreme approach to delegation inside of the EPUB 3 specification itself. The EPUB specification had introduced DTBook as an accessible alternative content markup to XHTML, but DTBook was dropped completely from EPUB 3 in favor of harmonization and delegation over independent development. This was an astonishing move for any standards organization.
Rather than focusing on their own work, the DAISY Consortium realized their goals were better served by improving EPUB 3’s accessibility rather than keeping DTBook. Developed by the DAISY Consortium as an electronic format “accessible and navigable for blind or otherwise print-disabled persons,” DTBook had a long history of independent maintenance and revision. While the revision of DTBook continues as an authoring and interchange format, the independence and relative unfamiliarity of DTBook compared to HTML left DAISY with a choice. They saw the growing adoption of EPUB and decided to improve HTML5 in EPUB 3 enough to meet their accessibility goals. DAISY’s mission statement already provided guidance, encouraging them to “focus on standards that have the greatest possibility for worldwide adoption.”[5]
Despite appearances, the harmonization of DTBook’s semantics into EPUB 3’s profile for HTML5 was part of a long process of improving the accessibility of HTML. It was a return to the original approach of the first DTBook format, which borrowed from HTML 4 and extended it to include the semantics necessary to describe content in an accessible way.[6] Because of a continued, if uneven, acceptance of the importance of accessibility issues, HTML5 offered a better platform on which to build than any previous HTML revision, as it offers a number of new elements. Although EPUB 3 deferred to HTML5 to define the “semantics, structure and processing behaviors” of all textual content, extensions were still necessary to better describe the structure and content.
Happily, the XHTML syntax of HTML5 made these extensions possible, and the technique of “semantic inflection” allowed the additional information about the meaning of the elements inside EPUB 3 to be included alongside their underlying meaning in HTML5. The DAISY community then located the remaining semantics present in DTBook but missing from HTML5, like footnotes, epigraphs, for example, and described them independently for use as part of EPUB 3’s semantic inflection and the epub:type attribute.
CSS3
Modularization of CSS3 led to rapid work on many fronts, but the incompleteness of that work posed a risk for EPUB 3’s use of delegation. EPUB 3 delegates a small number of properties to six different CSS3 modules that are far from complete. Because the definitions and semantics of these properties may change as the modules mature and because the IDPF prioritizes document longevity, developing a pragmatic approach to referencing these in-progress drafts proved to be staggeringly complex.However, the Working Group continued to feel that the benefits of this sort of delegation outweighed the costs.
EPUB 3 references W3C specifications that are not yet final, and incompatible changes to them may occur in the future that would cause EPUB 3 Content Documents that were previously conformant to no longer be conformant to the latest versions of the referenced specifications.
The IDPF anticipates revising the EPUB 3 specifications if and when such incompatible changes occur, updating the normative constraints defined herein as necessary and incrementing the minor version number of EPUB 3 (e.g., publishing an EPUB 3.0.n).
Growth Nevertheless
Like many maturing specifications, EPUB 3 grew in both size and scope. What’s novel is the extent to which the Working Group resisted the urge to make the specification solve ever-broader problems. This required an acknowledgment that other specifications solved many problems better than EPUB 3 could, which resulted in extensive use of delegation. This choice was made even more starkly by DAISY’s removal of DTBook.
Modularization was the technique that allowed EPUB 3 to follow its aggressive, short timeline for publication. The work was completed in barely twelve months but a new specification module was added and each specification was significantly revised and expanded. Time will tell what techniques will help the next Working Group manage the new complexity and balance the risks and rewards of external alignment or internal definition.
Words | Year | Specification |
---|---|---|
14900 | 1999 | OEBPS 1.0 |
14000 | 2002 | OEBPS 1.2 |
6400 | 2007 | OCF 2.0 |
10000 | 2007 | OPF 2.0 |
11300 | 2007 | OPS 2.0 |
27700 | EPUB total | |
5800 | 2011 | EPUB Open Container Format (OCF) 3.0 |
11600 | 2011 | EPUB Publications 3.0 |
11800 | 2011 | EPUB Content Documents 3.0 |
6900 | 2011 | EPUB Media Overlays 3.0 |
36100 | EPUB 3 (draft) total |
Keith Fahlgren is a Publishing Technology Consultant with Threepress and a co-founder of Ibis Reader. He has contributed extensively to three open specifications: the OPDS Catalog format, the IDPF’s EPUB and EPUB 3, and the OASIS DocBook SubCommittee for Publishers. Keith was formerly at O’Reilly Media, where he helped design and implement digital publishing systems and workflows.
Notes
“Introduction to CSS3,” W3C Working Draft, published May 23, 2001. http://www.w3.org/TR/css3-roadmap/.
Jens O. Meiert, “CSS Properties Index,” last modified April 26, 2011. http://meiert.com/en/indices/css-properties/.
See, for example, Microsoft’s proud announcement, “Internet Explorer 9 has more support for Cascading Style Sheets (CSS) than any prior Microsoft browser. Continuing on the work that was done in Internet Explorer 8...Internet Explorer 9 adds support for many components of CSS3,” [emphasis mine] in “Internet Explorer 9 Guide for Developers,” Microsoft Corporation, published March 14, 2011. http://msdn.microsoft.com/en-us/ie/ff468705#_CSS3.
Even with this approach to delegation, EPUB 3 still could not completely avoid internal or external subsetting, as it still subsets a few specifications, including MathML, RDFa 1.1, SMIL 3.0, and SVG 1.1.
DAISY Consortium, “Mission,” . http://www.daisy.org/mission(accessed April 29, 2011).
George Kerscher, “Theory Behind the DTBook DTD,” September, 2001. http://data.daisy.org/publications/docs/theory_dtbook/theory_dtbook.html.