Fallbacks, fallbacks, fallbacks

So how many fallback methods is too many fallback methods? Or is there such a thing?

EPUB 3 certainly has its share. There are fallbacks for items in the spine, content switching fallbacks at the markup level, element intrinsic fallbacks, manifest fallbacks for content elements, and even binding of media types to scripted fallbacks (before reaching intrinsic fallbacks!).

Sometimes the number of them is directed at compliance with EPUB 2 content, knowing that there would be a transition phase, but looking at each of the methods none is actually specific to backwards compatibility. And remove any of them and you lose some predictability of rendering.

This post isn’t going to be a how-to guide to fallbacks. You can read the details of each in the specs, and there’s an explanation of them in the best practices book. I’m instead going to look at the role fallbacks play and see what patterns arise.
Continue Reading Fallbacks, fallbacks, fallbacks

Navigating EPUB CFIs – Part 2

Once more unto the breach, dear friends, once more… I promise only once more!

Okay, so I’m trying to steel myself up to write the second half of the CFI post I swore to myself I’d come back to after the first part. If I don’t get this done by year end, it may never see the light of day.

The assumption at this point is that you understand the basic referencing mechanism in play, as I’m only going to look this time at the mechanisms that exist having reached your destination. If you don’t have the foggiest what all the slashes and even and odd numbers mean, have another go at the first part.
Continue Reading Navigating EPUB CFIs – Part 2

Polyglot EPUB?

If you’re reading this post, you probably already know that polyglot HTML5 is markup that can be rendered both as HTML and as XML serialized XHTML without breakage. It’s not something that’s necessary to do in EPUB 3, since the format requires the handling of content as XHTML, but if you’re planning to use your content in a general web context it’s worth knowing about.

How to make EPUB content compatible with browser rendering as HTML seems to comes up enough that I thought it would be interesting to detail. What follows is a condensed list of common issues, but for all the details the W3C maintains a polyglot markup document that should be referenced, and the WHATWG maintains similar information in its HTML vs. XHTML wiki page.

Continue Reading Polyglot EPUB?

The Art of Indexing

If you don’t follow IDPF specification development closely — I can forgive you if you don’t, though I can’t imagine why not — a new baby is on its way: indexes. The first working draft is now available on the IDPF site, and, all going well, it will become a recommendation probably around the same time as the 3.0.1 revision specifications.

I’m not going to write about the indexes spec today, though; well, at least I’ll be trying not to. More on my mind is the general misunderstanding of indexing in a digital world, one where engineers equate an art with a simple science. Indexing is not just keyword listing, after all, despite that being a pervasive belief in the ebook world. Re-read that last sentence a few times before going on, if you need. It’s important to get.
Continue Reading The Art of Indexing

Not Quite Ready for Prime Time: aria-describedat

One of the late additions to the EPUB 3.0.1 revision was the very newly minted aria-describedat attribute. As you might guess from the title of this post, while it’s technically available now, using it may not have the desired effect for the obvious reason that it’s going to take time before it finds support in reading systems.
Continue Reading Not Quite Ready for Prime Time: aria-describedat

Epubcheck 3.0 for .Net

I was motivated to figure out if I could add EPUB 3.0 validation to a program I’d written in C#, so did some tinkering over the weekend to see what I could discover. I thought I’d jot down a few notes about getting epubcheck to work as a library inside of a C# program, in case it’s of any use to anyone thinking their only option is to shell out to the command line.
Continue Reading Epubcheck 3.0 for .Net

Nav to NCX

I’ve been porting over the content I used to have on the cdata site today, so for a taste of programming (which it seems like I rarely get to do anymore) I made the XSLT style sheet I wrote ages ago to convert an EPUB 3 navigation document into an NCX into a live form.

Feel free to use it, but I guarantee nothing…

It’s also reachable under the Odds ‘n Ends section.