Saturday, May 11, 2013

What’s New in EPUB 3 – Part 1

O’Reilly has started to make their eBooks EPUB 3 compliant. With this move, they are pushing the ereader development community to do the same, and if oreilly.com is heading for this direction, we might as well follow suit because eventually, that’s where we’re all heading.

After reading the EPUB 3 Specifications in the IDPF website, I tried to condense most of what I know about EPUB 2, compared them with EPUB 3, and chronicled them in this blog.

The following sections are only summaries of what’s new in EPUB 3. I will go into full detail soon after these summaries.

The Content Documents

EPUB 2–XHTML1.1, EPUB 3–HTML5

According to the EPUB 3 Specification, EPUB 3 is XHTML5 which is a serialization of XML and HTML5. But I don’t know if XML will stay. Rumors are spreading that HTML5 will replace XML (i.e., XHTML1.0, 1.1 and XHTML5) altogether. That always happens when a shiny new toy arrives.

EPUB 3 Supports SVG

The Scalable Vector Graphics has, under its hood, XML codes that describe how the graphics will be displayed, thus SVG is actually a vector graphics. So, referring to what I said earlier, if EPUB 3 will support SVG, how will XML die if SVG itself is XML? Maybe the death of XML was really just a rumor.

EPUB 3 Supports MathML

The EPUB 2 format was more of a novel author’s paradise rather than a technical writer’s. This is mainly due to EPUB 2 not supporting display of equations. To display equations in EPUB 2, developers would just use an image for an equation which is outrageously awful. Also, an equation in image format is not accessible and is unusable for the disabled. MathML, an application for XML, tries to solve this problem. If MathML pushes through for all ereaders, then EPUB 3 will be a great haven for technical eBooks.

The Semantic Inflection

If we want to get into further detail about semantics, which we should do because it is required in EPUB 3, I suggest we read Accessible EPUB 3 by Matt Garrish. It’s free for download in oreilly.com. For a start, semantic inflection is an addition of an epub tag, say epub:type, which will define an HTML tag. So to add definition to a <body> tag, we would write <body epub:type=”backmatter”>. We can read more information about this here.

Content Switching

Honestly, I don’t have much of an idea about content switching. Some examples of this were the switch and case tags in EPUB 2, but I was never able to use them. EPUB 2, from some of the examples in the IDPF website, used them for MathML. But MathML was not fully supported in EPUB 2. Anyway, now that EPUB 3 supports MathML, these elements have made their comeback as epub:switch and epub:case.

I have covered only a tip of a glacier here which is EPUB 3. I will be posting more and will cover in greater detail each and every aspect of this new eBook format.

No comments: