One nice feature of the Bookworm source code is that it includes a suite of test ebooks. Books which should not be processable, because they’re severely malformed, are prefaced with invalid- in the title. Other books demonstrate different characteristics. (Not all of the other books are actually valid, but their inconsistencies are minor and most readers allow them.)
I quickly ran through all of the invalid books to see how iTunes would behave. Note that it’s too early to say how or if these will display in iBooks.
- Contains Adobe DRM – Allowed. Surprising since these won’t be readable.
- No container.xml – Allowed, but no visible metadata. Clearly an error; this book wil not work and should not be addable.
- Invalid character sets (non-UTF8) – Allowed, but this is often acceptable in ePub software.
- No findable NCX, or no NCX at all – Allowed. This book should not actually work as there will be no useful TOC.
- No namespaces in container.xml – Allowed, and metadata is still captured. ADE can also read this, but it shouldn’t be possible as the XML is invalid.
- No spine – Allowed. This book should not be readable.
- No dc:title – Allowed, uses filename. This is the one place where Bookworm and Ibis Reader are more strict than other readers. I feel that if there’s not even the most basic required metadata, we can’t guarantee that we can display it. But other ereaders do allow this, so not surprising.
- Extremely invalid XHTML (no body) – Allowed, though not surprising since iTunes has no reason to process the XHTML content yet.
In fact, all 38 books in the test suite were addable. This isn’t actually a good thing, especially when the DRM ebooks were accepted too. iTunes should be notifying users quickly that their books can’t be read in the ecosystem, rather than waiting until they’re synced.