Why EPUB3?

Why EPUB3?
By Paolo Albert posted in Tech

We at PubCoder are first believers. As soon as EPUB3 was released and approved we enthusiastically embraced the new standard. What really stroke us was the introduction of interactivity through HTML5, CSS3 and Javascript technology. As a matter of fact the new spec, in his somewhat self-referential but clear terminology, states that support to scripting is optional. This is said because “EPUB strives to treat content declaratively” - something javascript and SVG scripting aren’t, therefore Reading Systems may have good reasons, especially security reasons, to not support them.

Apple almost straight away started to support this feature. And so we at PubCoder, who had already built a software to create wonderful interactive Apps for children (like many others out there), pivoted our development roadmap and embraced this new idea: let’s create the first software in the world to create highly interactive ebooks in EPUB3 format.

So why EPUB3? The reasons for this choice were the following:

  • it is a standard technology: we love standards. They are open to discussion and contribution by the stakeholders of the digital publishing world. IDPF, the international organization behind the standard, alike W3C, defines objectives and creates the working groups around those objectives who openly and publicly define the new specifications. Of course there is a lot of discussion around what is developed within IDPF, but surely there is quite agreement around the method on how these standards are discussed and released. And products are interoperable. 
  • it has a strongly tied to the open web standards. In particular there has been a strong conversion towards the adoption (X)HTML5 and CSS as the technology language behind content presentation. The assumption is that it is useless and quite inefficient to reinvent the wheel. HTML is solid enough to describe what a page is all about and CSS is equally strong in dressing it. At the end of the day EPUB is a way to pack a bunch of XHTML resources and, at the same time, a guide to Reading Systems on how these resources are organized.
  • this standard is released by the stakeholders of the digital publishing industry. PubCoder is intended to create wonderful interactive stories. We tend to think that a book is the concrete implementation of a story. There is a lot of debate going on around the concept of book in the digital era, still where there is a story there is a beginning and an end - for us, the book is always a good way to describe it. The people who work every day in the publishing sphere are probably the most entitled and those who have more to say on how the digital version of a book may be created.
  • it provides a means to reach the natural and correct market of the product. Publishers and authors, when it comes to interactivity, tend to create what we call bookapps, i.e. an Application with the structure of a book. This has been going on for a while, and for two good reasons: native apps allow users to interact with the content, App Stores have a huge market. With the support to interactivity and the adoption by some (not all) vendors of this spec a new opportunity for creators of stories, who now may distribute their content via book stores rather than App Stores.

PubCoder has adopted EPUB3 in two respects: the first is the ability to export a project file as an EPUB3 fixed layout. This can be then distributed on any Book Store that supports it. PubCoder is one of the (few) softwares recommended by Apple on its iTunes page, as we are compliant not only to the EPUB3 spec but also to iTunes specific rules, so ebooks created with PubCoder are fully accepted by Apple after submission. The second is that we use EPUB3 as the core content and describer of any output of a PubCoder project.

What is the state of the art with regards to scripting adoption in combination with the EPUB3 spec in the industry? After early support by Apple, other vendors and reading apps are slowly but progressively incorporating scripting: Kobo, Google Play Books and in some small respect even Kindle Fire readers (we will treat this thoroughly in a separate post).

Paolo Albert

Paolo is responsible for the overall development workflow and roadmap, ebooks and product specifications as well as coding the HTML5, javascript, CSS and iOS exports. Prior to PubCoder, Paolo founded an IT company and spent 15 years helping publishers to develop their own digital products. He is an expert in development and project management on open source projects (PHP based websites and applications), on iOS and based Applications and frameworks. He does R&D in EPUB3 cross-platform development and in HTML5/CSS3 front end web and mobile design and is a speaker at various conferences worldwide dedicated to publishing.