Thursday, February 23, 2012

Fun with EPUB

Release 2 of the Altova MissionKit 2012, which was announced today, adds tons of new features to various products in the MissionKit, including EPUB support in XMLSpy.

Since there has been a lot of recent press and blog coverage of Apple's iBooks Author program, I wanted to point out that an open standards-based alternative exists in the form of EPUB and that we at Altova are fully committed to supporting such open standards.

EPUB is published by the <idpf>, the International Digital Publishing Forum, and is widely supported by various manufacturers and on many devices. The standard is based on XHTML, CSS, SVG, and other well-known web standards and a huge volume of freely available EPUB books already exist today.

Canterville
From "The Canterville Ghost" by Oscar Wilde, 1906

Let me point out a few useful resources for getting started with the EPUB standard and also outline the new EPUB capabilities in XMLSpy.

To consume EPUB documents, you will need a reader application for the device of your choice. On Windows 7 or MacOS X computers I would recommend Adobe Digital Editions, which is a free eBook reader applications that supports EPUB as well as PDF/A. On the iPhone or iPad you can simply use the standard iBooks app, which supports EPUB as well as PDF and the Apple-proprietary iBooks formats. On Android devices you can use Aldiko, and you can also read EPUB books on the Kindle, Nook, Sony Reader, and other devices directly.

There are many web sites dedicated to providing collections of free eBooks that you can download to get started, but I recommend Project Gutenberg, which was started by Michael Hart in 1971.

Now let's talk about EPUB support in XMLSpy. Essentially, an EPUB file is a ZIP archive that contains all necessary components in a compressed archive to reduce space. Within that archive is a navigation document, metadata, content documents, CSS stylesheets, as well as all required image files (for further details, please see the EPUB specification, which can be found here). When you open an EPUB file in XMLSpy you are able to view all the included components.

From this archive view you can now directly edit the CSS files as well as other XML-based navigation and content files and you can validate the entire EPUB package file using epubcheck directly from within XMLSpy as well as preview the publication in XMLSpy's built-in browser preview.

We are all keenly aware that the publishing industry is undergoing a radical change these days. People consume magazines and books increasingly via electronic devices rather than in print and in the process the books themselves transform into a more interactive reading experience than we had ever seen before. Having an open standard like EPUB available ensures that no one manufacturer or company can dominate the industry and it also allows us to preserve many existing books and make them widely available via organizations such as Project Gutenberg.

Library

While my wife and I are collectors of printed books - the above photo is from our home library - I believe the march towards electronic books is inevitable. I am convinced that within the next few years we will see the huge shift in the industry continue and I hope that EPUB support in our products will allow people to create as well as consume electronic books in many ways.

2 comments:

pedromiramis said...

I like the new EPUB features, but I'm wondering how to insert jpg files with XMLSpy into an EPUB folder.

XML Aficionado said...

At the moment, to insert any non-XML related file into the EPUB archive I recommend using a generic ZIP program, such as WinZIP. The EPUB archive is just a regular ZIP file, so it is easy to open with WinZIP and add binary files, such as JPG etc. that way. Then you can edit the necessary information to the Content.OPF file inside XMLSpy.
A future version of XMLSpy might also let you add binary files to the archive directly, but right now you will need to use WinZIP for that step.