The iBooks 2.0 Built-in Widgets

Baldur Bjarnason has a detailed look at Apple’s proprietary extensions in the new iBooks format:

As far as I can tell, after putting together a sample book with most of these widgets and then inspecting that book’s code in BBEdit, none of these widgets use javascript in any way. I couldn’t find a single line of javascript in anywhere in the ebook’s files.

Why is this important? Because javascript is the only cross-platform and standard method for delivering interactivity in hypertext files, such as HTML or ePub. The way Apple has implemented these interactive widgets is through object tags with custom types and data attributes. The type tells iBooks what sort of widget it is and the data attributes give it the parameters. The code to do this are iBooks-only extensions to the webkit rendering engine they are using.

This makes me think that the licensing restriction claiming you may only sell the output of iBooks author through Apple is really just about preventing you from circumventing the iTunes Store and selling directly to iPad users. I think I was wrong about Apple being concerned about iBooks Author being used to produce content for competing e-book platforms — I don’t see how they could parse any of this multimedia widget stuff without an awful lot of reverse engineering.

Do they need a licensing restriction to enforce this? Why not run the iBookstore the way they’re running the Mac App Store? The fact that Mac apps can be sold directly doesn’t seem to be slowing the growth of the Mac App Store.

Monday, 23 January 2012