How to Proof EPUBs on the iPad with iBooks
According to Ecclesiastes, “Of the making of books there is no end,” a statement with which almost any publisher can agree. For those who spend their endless time developing ebooks in the EPUB format — the format used by most ebooks sold through Apple’s iBooks Store — Apple used to supply a small but useful utility to help speed the process along: Book Proofer.
This little app enabled ebook developers to edit any of an EPUB’s constituent files on the Mac and, at the same time, view that EPUB-in-progress in iBooks on a connected iPad or iPhone: make a change and iBooks displayed the results of that change almost immediately. This was a great boon to publishers… until the app stopped working with the release of iOS 8 and OS X 10.10 Yosemite.
The unexpected demise of Book Proofer caused many book developers (a small but proud community of which I am a member) more than a little consternation. Without Book Proofer one has to go through the arduous process of editing an EPUB’s files, packaging them all up inside an EPUB file, loading that EPUB into iBooks, reviewing the results, and then, if the results aren’t as desired, deleting the book from iBooks, and engaging in another round of editing, packaging, and loading.
As if to add insult to injury, the iBooks app that ships with Yosemite ostensibly offers a way out with its Advanced > Add ePub to Library as Proof command. (You must first enable the Advanced menu in iBooks > Preferences > Advanced.) Frustratingly, though, that command doesn’t seem to work. Choose it, and you see a standard Mac file dialog in which EPUBs show up as unselectable!
However, it turns out that the command does work, just not with a normal EPUB file. Here’s the trick — in four-part harmony — for making it work.
The first part of the trick has to do with understanding that an EPUB file is actually a Zip archive. The archive contains all the files that make up an EPUB: the HTML files that provide the book’s text and layout, the image files used for its illustrations and cover, the files that store the book’s table of contents and other metadata (such as the title, genre, and publisher), and so on. What the old, now-broken Book Proofer used to do was to allow a book developer to put all of those files into an ordinary Finder folder and use that folder as the “book” to be proofed.
The second part of the trick is the “package” format supported by the Mac. A package is just an ordinary folder that the Finder treats as a single file if its name ends with any of a number of certain special filename extensions. It turns out that all sorts of things on your Mac that look like files are actually packages. For example, a Pages document is actually a package, a folder containing a bunch of files inside. You can see the contents of a package by Control-clicking the package in the Finder and choosing Show Package Contents from the contextual menu: a Finder window opens and you can then access and edit any of the packaged files.
The third part of the trick is Paul Durrant’s simple AppleScript application, ePub Zip/Unzip, which you can download from the bottom of the first post in this MobileRead thread: drop an EPUB on that app and its files are extracted into a new folder; drop that folder back onto the app and it is zipped up into a normal EPUB. (Note that Paul’s AppleScript app is unsigned, so you must Control-click its icon in the Finder, choose Open from the contextual menu, and then give it permission to run.)
The fourth part of the trick, and the part that makes book proofing possible, is this: take a Finder folder that contains all the files that make up an EPUB and append the extension .epub
to the folder’s name. The Finder may warn you that doing so may have consequences if you do this by hand, but in this case the consequences are to your advantage: the folder becomes a package that appears as an EPUB in the Finder, and it is this special package that iBooks on the Mac allows you to add as a proof to your Mac’s iBooks library. Happily, you need not rename the folder by hand: the latest version of the ePub Zip/Unzip app can do this for you automatically, appending _pkg.epub
to the folder name when it unzips an EPUB.
When you open an EPUB package with iBooks’ Add ePub to Library as Proof command, it appears in iBooks on the Mac with a special badge that labels it as a proof. This proof opens just like a regular EPUB does, and you can read it just as you would any other EPUB.
However, the proof book’s window features a new button: Devices. Click it and you’re given the opportunity to view the book not only on your Mac but also in any other iOS device you have connected to your Mac via USB.
To put it all together:
- Find an EPUB that you want to edit.
- Drop it on ePub Zip/Unzip to turn it into a folder and append the
.epub
extension. -
In iBooks, choose Advanced > Add ePub to Library as Proof and select your renamed folder.
-
Open the newly imported proof in iBooks.
-
Connect your iPad to your Mac via USB, and choose it from the Devices button’s popover.
Once you have run through these steps, you can start making changes and previewing them. Open the EPUB package on your Mac with the Show Package Contents command, and edit to your heart’s content. Whenever you make a change to any of the EPUB’s files, those changes appear within seconds in iBooks on your Mac and on any connected iOS device.
When you finish editing, you can turn the package back into a normal EPUB file by dropping it on ePub Zip/Unzip again. (If you want do want rename the package manually, choose File > Get Info in the Finder and then remove the .epub
extension from the package’s name in the Info window — you can’t remove the extension directly in the Finder because all that does is hide the extension instead of removing it.)
After that, you are ready to ship your book… and move on to the next one. After all, of the making of books there is no end.
[Author’s Note: After I wrote the first version of this article, Paul Durrant modified his ePub Zip/Unzip app to append _pkg.epub
to the folder name automatically, and to re-zip folders dropped on it that have that extension. I revised the article to reflect how the new version of his app operates. Moreover, if the EPUB package contains the standard OEBPS folder, the app also opens the package for you to that enclosed folder (though if that internal folder is missing or has a different name, you see an error message and have to open the package manually). Thanks, Paul!]
Interesting. I've been using a Java command-line tool called epubcheck (https://github.com/IDPF/epubcheck) which works quite well.
I'll have to try these tools and see how they compare.
epubcheck is an entirely different sort of tool: its purpose is to validate an EPUB against the EPUB standard and to report problems. The proofing capability provided by iBooks is to designed to allow book producers to view the contents of a book and to preview changes made to that content.
Typically, one would use the proofing capability in iBooks to do a final copy edit and format pass on the EPUB. After that, one would rezip the proof copy and validate the resulting EPUB with epubcheck. If it passes, the EPUB is then ready to distribute.
I've just been using Sigil which eliminates the repackaging but still involves the adding and deleting to iBooks which is a pain
Thanks for a great article. I've been worrying about this subject as my own book gets closer to completion in iBooks Author.
Actually, iBooks Author doesn't produce EPUBs; this article does not apply to the Multi-Touch books that iBooks Author produces.
However, iBooks Author has a built-in tool that does much the same thing: choose File > Preview to see the Multi-Touch book you're working on in iBooks.
You'd think that if Apple was serious about helping authors create ebooks they would collect all the necessary functions in a single app. I was unaware that iBooks Author was not such an app, but, as you now inform me, it is not for EPUBs at all but only for multi-touch books. It strikes me that this is just one more half-baked, unfinished project in which Apple, as it so often does, has lost interest. Yet they still make tons of money, despite their now glaring (with Yosemite) failings in software development. I guess Microsoft accustomed so many people to mediocrity that they haven't noticed how mediocre Apple has become in this phase of their business.
You can say "what do you want for free?" but if their intent is to move people to create content - on the Mac - for the iBook Store, on which they will make money, then it would stand to reason the easier they can make content creation for their marketplace, the more money they will make off of that content - and the Macs used to create the content. But reason seems not to prevail here. Apple prides themselves on being mysterious and holding their motives and purposes close to the vest, but stupid is as stupid does.
While Michael's article is useful and much appreciated, writing EPUs shouldn't be that hard to do or that obscure.
Making an EPUB is neither all that hard nor all that obscure: write your book in Pages (free to all new Mac owners since October of 2013), and then choose File > Export To > ePub. That's it.
As for iBooks Author, Apple has been completely forthcoming with what that app is for: the creation of media-rich interactive books, primarily for education, but also for other uses. The first sentence of Apple's page about it says, "Available free on the Mac App Store, iBooks Author is an amazing app that allows anyone to create beautiful iBooks Textbooks."
Michael, the reason it's clear to you is because you've been doing it awhile. Which is why you're qualified to write about it. But if you have to use a third-party script in order to proof your work, Apple's workflow is incomplete at best. Indeed, as you explained in your article, in Yosemite Apple stopped providing the app you once used for proofing purposes, Book Proofer - a utility of which I was unaware until I read this piece. Then, when I went looking for it, it turns out it's only available to paid iTunes Connect account holders. Which is, indeed, obscure, in my opinion. In point of fact, there was no way to even read an iBook on the Mac until Mavericks finally included the iBooks app. Before that you had to upload your book to iTunes (after paying for an iTunes Connect account - and for each book you want to upload) and download it onto an iPad to see how it displays. Now things are somewhat better: You can skip the iTunes Connect rigamarole and read what you've written in the iBooks app. But with the loss of the iTunes Connect connection, Apple deprecated Book Proofer. Which gave rise to your own search for an alternative solution. The reason this article was even necessary is precisely because the process of creating an iBook is still less than obvious. A proof command in iBooks that is hidden in the Advanced menu that's off by default, which doesn't actually work on an EPUB you export from Pages - what's obvious about any of this, let alone intuitive? Until Paul Durrant created his ePub Zip/Unzip script, you had to do the packing and unpacking manually, assuming you know what you're doing and why you are doing it. How is this not obscure, as well as incomplete? Apple provided an app to do the job heretofore so obviously they know it's necessary. Could they have built one for the Yosemite version of iBooks? Of course they could. Should they have done so? Of course. Then again, given the trouble they've been having getting the bugs out of Yosemite, perhaps the holes in their iBook workflow escaped their attention. There are a few words for that kind of work: Slapdash. Quick-and-durty. Half-baked.
Sure, it's great that Apple provides Pages, which can be used to create and export an EPUB book. And it's great, if belatedly so, that they finally provide a reader app for iBooks so that now we can bypass iTunes for proofing and reading purposes alike. It's certainly superior to the Book Proofer/iTunes Connect/iPad route for proofing a book you and others have been using up till now. And yet Apple still left an unnecessary hole in the workflow. The rest of us are fortunate you - and Mr. Durrant - have gone to all the trouble of figuring this out for us.
Don't get me wrong - I'm grateful for your efforts. And Apple has, however inadvertently, provided you with work explaining how to use their not-ready-for-primetime software. I can't help thinking, though, that you would have nearly as much work explaining their software even if it were complete. That said, I see no reason to apologize for, to try to brush off or ignore Apple's oversights in this matter. If they're not held accountable for these problems, they'll have little incentive to do a better job going forward - as they so clearly lacked the incentive to do the job right the first time, or even the second and third time. Not to aggrandize myself, but someone's got to point out that the emperor is walking around in public in his skivvies.
Apple does NOT own nor curate the EPUB standard. Apple adopted the already existing EPUB standard for iBooks.
Long before Apple introduced iBooks on the iPad the EPUB standard existed and editing tools and ebook viewers were available for it. It is not Apple's responsibility to provide EPUB creating and editing tools. Apple's Book Proofer was meant as a convenience utility for those book publishers who had signed up to sell their books through the iBooks Store. It was not meant for the general public. The new proofing capability built into iBooks is still not meant for the general public, but Apple is making it available without requiring you sign up with Apple Connect as a book publisher.
You are faulting Apple for failing at a task that it has never, in fact, promised to undertake: providing a suite of tools for editing ebooks in the EPUB format. Nonetheless, Apple has provided EPUB export capabilities in Pages as a convenience for Pages users, and it has provided EPUB proofing capabilities for book publishers (whether professional or amateur) as a convenience for them.
Where did I ever say, or even imply, that Apple "owned" or "curated" the ePub format? That's a straw man from way out in left field.
Apple wants people to write books for the iBook Store and to sell them there. The harder they make that for writers of any kind - and publishers - the fewer books they will attract. It's just that simple. And they have made some tools available for that purpose, but left an important one out. It's hard to see why they've chosen to make it difficult at any point. But they have. You choose not to see this as a problem because you've already learned the steps to their song and dance. But in these days of a booming self-publishing industry - where the distinction between professional and amateur author is all but irrelevant (yet another straw man) - not everyone has acquired your level of expertise. Once upon a time Apple was known for ease of use. With writing books for the iBook Store, ease of use was not even on their radar.
Yes, there are other ePub authoring tools, most of them even harder to use than Apple's (hence the poor quality of so many ebooks). As for other ebook readers, they can't handle iBooks. So that's another straw man argument - as is the jape about whether they "promised" to create such tools or not. Promise has nothing to do with it. I am faulting Apple for failing at a task that is clearly relevant to their business: They sell ebooks. And they are in competition with Amazon, the 900 pound gorilla of the publishing business. Where does making it harder to create content for the iBook Store facilitate that competition for them? Bluntly put, it does not.
Apple did not provide the ePub export feature for Pages out of the goodness of their heart. Nor did they offer up the iBooks app because of their generous nature. These were calculated business decisions, nothing more. Still, they've approached the whole business of creating iBooks reluctantly, hence the arduous procedure they originally set up for it. The lack of a proofing tool for the latest iteration of iBooks shows how reluctant they still are for full participation in the process. Clearly they think that making it difficult continues to be part of the job.
Sorry, but to me that is just inexplicable.
Guys.... I think this comes down to beliefs about what Apple is doing or should do, and there the best course of action is probably just agreeing to disagree.
What Apple _is_ doing is providing some basic tools to work with EPUB. They aren't wonderful, but the competition is weak, so they look more attractive. Luckily, with some extra knowledge and application of third-party elbow grease, these existing tools can be made better, but this still disappoints many people, because...
What many people think Apple _should_ be doing is working to produce a suite of top-notch EPUB authoring tools. The release of iBooks Author seemingly pointed to that being Apple's goal, but iBooks Author doesn't make EPUBs and still has restrictive licensing terms that make it a non-starter for many.
Alas, I don't think Apple's heart is in helping users make great EPUBs. There's just not enough of a business there compared with what Apple could be doing elsewhere. In part, that's why we switched our EPUB generation step to Leanpub, since they're a small company and care passionately about making books.
To get ePub Zip/Unzip 3.0 to offer the option of creating an iBooks-compatible version, I had to first double-click the app to change the default before dropping the book folder on it. To change the default back requires another double-click on the app, otherwise the conversion proceeds according to the existing default.
Right, thanks for the reminder! We'd been testing, and forgot part of the first-run scenario.
I can't ever get any of my iOS devices to show up when I click the "Devices" button on the page. It's just blank. Tried it on 2 machines, with several iOS devices. iTunes sees the iOS device no problem. Any ideas?
I'm sorry, but I have no suggestions other than the obvious ones, such as to make sure you are running the latest version of iOS on your devices, the latest version of iBooks on your Mac and your devices, and the latest version OS X.
As a producer of ebooks for a publishing company, I use book proofer every day. I have a number of ipads that I will not upgrade as I do not want to lose the convenience of book proofer. If Apple would upgrade the book proofer app, I, as I'm sure many others in the ebook industry, would pay for such an app. I figured it wouldn't hurt to put this suggestion (or plea) out there.
While it is possible that someone from Apple may see your plea here, the best place to make it if you want to be sure that Apple hears you is to send Apple feedback from your iTunes Connect account (to obtain Book Proofer in the first place, you have to have such an account).