Monday, January 6, 2014

Ebook FAQs

I've gotten a number of questions about how (and why) I made our new ebooks the way I did, so here's a FAQ.

Why are they EPUB instead of PDF?

We wanted to sell them on the iBookstore (now available!), which requires EPUB. Readium is a great open-source cross-platform e-reader, so EPUB (specifically EPUB3) became the lowest common denominator. However I do anticipate making a PDF version in the future so that we can sell them on ComiXology.

Why EPUB3?

Prior versions of EPUB are perfect for flowing text + illustrations, like a standard web page. In fact, EPUB is really just HTML + metadata, and readers like iBooks are just specialized web browsers. But the horizontal form factor of our books meant they needed the reader to be in Landscape mode, which meant using the fixed-format features of EPUB3. I ended up needing to produce a different HTML document for every page in the book.

What about Kindle?

e-ink Kindles would not be a good match for our big colorful strips, but I hear that the Kindle Fire format isn't too too different from EPUB3, so that's on my list too.

Did you use iBooks Author?

No. For one thing, iBooks Author's TOS would forbid us from selling them anywhere else, and we wanted to sell them on Gumroad. But also I didn't want to drag and drop four years worth of strips. So I cobbled together an automated approach using Ruby and Slim templates.

Isn't that overkill?

I did spend many hours working on the code, but it amortized a little bit every time I made a new version of the book. Now when I type "rake" it compiles and validates three versions (Gumroad, iBooks, iBooks Sample) of each book. And adding a new book has proven to be very quick indeed.

Why three different versions?

Gumroad books link to buy other books on Gumroad, iBooks books link to iBooks, and iBooks Sample only include selected "greatests hits" strips.

Why did you use Gumroad?

It was highly recommended by fellow cartoonists, and made it easy to offer the books for sale at minimum cost while also allowing us to distribute the books to our Kickstarter backers for free with coupon codes.

Can I have your automation code?

Eventually. I am helping a few friends put their books into EPUB3, which has required some healthy code changes (every time I add a new book a little more code gets replaced by metadata). After a few more I plan to put my little rakefile on GitHub.

Any pro tips?

  1. Use source control. This is good advice for almost all projects. It gave me the freedom to mess around and then revert to a known good version when things went south.
  2. Follow the directions. I spent many hours trying to figure out why my fixed-format books weren't showing in fixed-format. Turns out the META rendition tags don't like whitespace.
  3. Don't slavishly duplicate the print book. Ebooks don't need page numbers or big margins, which meant more room for our art. I was also able to add extra content that got cut from the print books, and I moved a bunch of the boring legal stuff to the end. The more time I spent on the ebooks the more opportunities presented themselves - I turned the character design histories from Runtime Error into animations, and future updates will have some other fun features.
  4. Don't Repeat Yourself. EPUB3 has a fair amount of repetition, and each one is an opportunity to introduce errors. This is another place that automation really paid off.
  5. Retina resolution FTW. My artists make beautiful pictures, and they (literally) shine on the latest devices.

I am very proud of our ebooks. They present a vastly improved reading experience over the website, and go back to how I prefer to read comic strips: collected in books. I hope more of my cartooning peers will take the digital route so that I can read their work on my iPad!