Friday, March 30, 2012

Announcing bookshop: HTML to PDF & eBook Publishing

At long last we are excited to announce the release of bookshop 0.1.0. This is the first public release of bookshop.

The bookshop website.
The source code (scroll down for detailed installation notes and a tutorial for using bookshop)

What is bookshop?

Bookshop is a an open-source book development and publishing framework for authors, editors, publishers and coders in today's publishing industry. Bookshop provides best-practices for developing your books in HTML/CSS/JS, allowing them to be transformed into potentially any book format (Print-PDF, PDF, mobi, ePub, etc.).

A Book in HTML?

Yup. You heard us right. Your entire book is stored in HTML. We use CSS to describe the design and layout of your book. Then through the magic of bookshop (and some other tools) we turn your book into a print-ready pdf, an online viewable pdf, an iBooks compatible (ePub) book, a Kindle compatible (mobi) book, and even an html version you can view in the browser.

Pretty cool, huh?!

What's Wrong With the Status Quo?

Most publishing houses follow a pretty traditional process (toolchain) for taking an author's manuscript and turning into all the formats we love: the paperback book, the iBooks format, kindle, etc.

Generally the process goes something like this:
  1. Author turns in a manuscript.
  2. Publishing house turns it into 4 - 8 different formats: print-pdf, online-pdf, kindle, ibooks, etc.
  3. Errata (typo's) are received.
  4. Each format is re-edited by hand and re-released.
What's the harm in this toolchain?
  1. Redundancy: For every edit, there are potentially 8 documents that have to be touched.
  2. Human Error: With so many edits, the potential for error greatly increases.
  3. Lack of Scalability: As more authors and more editions are added, workload and complexity increase exponentially.
  4. Headcount Intensive: The more success a publishing company has, the more employees they have to throw at the toolchain to keep the process going.

What Makes bookshop So Different?

A Separation of Concerns

To begin, let's take a look at the basic parts that make up any book. 
  • Content
    • the actual words, grammar, parts-of-speech
  • Structure
    • preface, chapters, sections, etc.
  • Style
    • the layout, design, art, typeset
  • Format
    • the end result, client usable format, print-pdf, mobi, epub
We decided that it made more sense to abstract these four layers into their own components.

So lets take an example. Let's say that we have a book that needs to be developed and our first delivery is for the pdf that will be sent to the printer. For the sake of brevity we'll just work with the first paragraph of our first chapter.


The content for books in bookshop is stored in HTML. So our sample chapter looks like this in its rawest form:

<h1>The Web and HTML</h1>
<p>Cascading Style Sheets (CSS) represent a major breakthrough in how Web-page designers work by expanding their ability to control the appearance of Web pages, which are the documents that people publish on the Web.</p>


Thanks to the Boom! microformat, we can then use basic HTML tags and CSS elements to describe the structure of the book. So in our first chapter's HTML we add a <div> with a "chapter" class to tell us that this section is a chapter.

<div class="chapter">
    <h1>The Web and HTML</h1>
    <p>Cascading Style Sheets (CSS) represent a major breakthrough in how Web-page designers work by expanding their ability to control the appearance of Web pages, which are the documents that people publish on the Web.</p> 


Once we have our HTML Content and our Structure in place, we can use Cascading Style Sheets (CSS) to create the layout, look and feel of our book. The great thing about having this as a separate layer is that we can now create CSS style sheets for any layout that we want. So back to our example. We are designing a style sheet for a pdf that will be going to the printer. We need to specify the paper size as 6in X 9in, specify some margins, and then make sure that our chapters always begin on right-facing pages. So in our css we would put:

# stylesheet.pdf.css
@page {
  margin: 27mm 16mm 27mm 16mm;
  size: 6in 9in;
div.chapter { page-break-before: right;}


Last, we will need to create the actual file that goes to the printer. With bookshop we simple type bookshop build pdf from the command-line and a printer-ready pdf is magically created for us. Well, it's not magic so much as a great tool called PrinceXML, a tool for creating pdf from html and css.

And there you have it!

Why Does This Make the World a Better Place?

Ok, so it may not make the world a better place, but it might make your publishing business a better place.

Benefits We Have Noticed 

  • Editing errata (typo's) happens in one place and only one-time, the HTML, instead of 8-10 different formats for each book
  • We can scale infinately. The only thing we have to add for a new format is a new stylesheet, the HTML source stays the same. This potentially means that one developer can manage a large portfolio of authors and books.
  • We can hire/train programmers who know HTML/CSS/JS instead of InDesign'ers, etc. And we don't have to fork out several thousand dollars for proprietary design software.
  • The ramp-up for potential authors/publishers is almost minimal since they can just copy and paste their own content into our example book, type "bookshop build [whatever]" and get their book in epub, pdf, html, or kindle
  • We can dramatically alter a book design/layout with just one stylesheet. So if we want to run with a completely different look & feel on the next edition of a book, we simply add another stylesheet.
  • We can incorporate best-practices in software development: agile release cycles, versioning control, testing (this may sound geekish, but it means a dramatic increase in efficiency and organization)

In Closing

Well, that's about it for now. We have much more work to do. Please note, this is only the 0.1.0 release which means that it is only basically functional. You can expect to experience a number of hiccups for now. But hey, it's open source which means that you can help out by doing any of the following:
  • Try it out and let us know what works for you and what doesn't
  • If you are a developer, please help us out by adding a feature, fixing a bug, or cleaning up our code
  • If you are a designer, create your own stylesheets and send them our way. We hope to develop a large arsenal of stylesheets to serve as templates for others.
  • If you have published a book with bookshop, let us know so we can list you in our directory

Wednesday, April 13, 2011

Looking for Children's Book Illustrator

BlueHead Publishing is looking for a talented illustrator to do the complete illustration for their upcoming children’s book, “You Throw Like A Girl.”

We are looking for a new gifted artist to take this exciting and powerful manuscript from being a charming and wonderful story to a beautiful and engaging illustration.

We would like to ask would-be candidates to provide the following:
  1. Samples from their portfolio, specifically illustrations of people and/or children.
  2. Provide a sample mockup of our main character, Chelsea standing on a molehill (in a park), preparing to pitch, based upon the following description and excerpt from the manuscript:
Character: 9 year old girl
Personality: determined, feminine, competitive, energetic, emotive
Description: brunette, average height, thin, ethnically neutral
Abilities: quick learner, athletic, pitcher
Accessories: baseball glove, ball
    “Chelsea held the ball in her hand, grasping it firmly, just like Auntie Kim had shown her. She cocked her hand back and took a deep breath. Thinking about her Gram and Auntie Kim, she smiled, and with every bit of strength she had, she threw the ball.”

    We are looking for an artist who is willing to work on a fee-for-service pay schedule where we will cover costs of materials, and a portion of the total fees upfront, with the final (and majority) payout based upon profits from book sales/sponsorships. We will also grant you co-rights to resale your work.

    We are hoping to find a new artist who is as anxious as we are to promote their career, work, and professional aspirations on a national level.

    Submission Deadline: Monday, June 27th

    Please contact for more information.

    Monday, March 28, 2011

    "bookshop" - Where Ruby Meets DocBook

    We are very excited to announce the early release of "bookshop."


    bookShop is an open-source Ruby-based framework for DocBook toolchain happiness and sustainable productivity. The framework is optimized to help developers quickly ramp-up, allowing them to more rapidly jump in and develop their DocBook-to-Output flows, by favoring convention over configuration, setting them up with best practices from the get-go.

    The Goal:

    To go from zero to exporting(pdfs, epub or whatever) from your DocBook source files in under 10 minutes.

    Here's the rubygems page:

    And the source code:

    bookshop currently works on Mac OS X, but can also be used on any *nix OS. Windows support is coming in the next couple of weeks.

    To install bookshop:
    $> sudo gem install bookshop

    To create a new bookshop application:
    $> bookshop new new_app_name

    You can edit your book in the new "book/" subfolder, starting with the book.xml file

    To build a pdf format from your DocBook source:
    (from within the root of your new_app folder)

    $> bookshop build pdf

    Your new pdf book will be located in the "build/pdf" subfolder

    Friday, January 28, 2011

    Start With A Book Summary

    One of the most challenging things for a writer? Getting started writing their book.

    Often times a writer may have one main idea for their work, but a hundred ideas on how to write it. So getting to the point of putting pen to paper (or fingertips to keyboard) can often feel overwhelming.

    Probably one of the most useful exercises we have found to help authors write those first two chapters of their work is to write a basic summary of their book. Since all writings start with the basics (tense, person, genre, type, form, etc), we've found this basic template to be pretty useful (hey, simple is best):
        [Title] is a [tense][person][genre/type] about [summary]. This work is written to [intention].
    Here's an example summary from one of our Author's books, "Over Coffee," by D.a. Thompson:
        "Over Coffee" is a past-tense, first-person narrative-fiction about a coffee-house conversation between the author and a small-town pastor concerning a gay church member who desires to be partnered in the church. This work is written to introduce the reader to a conservative, faith-based dialogue for providing room on the pew in today’s most conservative churches for gay partnered persons.
    The point of writing the summary is to establish the construct, form, and structure. It's amazing to see how much easier the task of writing becomes, once these simple elements are laid. Well... easier may be an exageration. There's still the actual book to finish writing. (insert smiley face)

    Tuesday, January 11, 2011

    BlueHead Signs Author, Shelley Hayes.

    BlueHead Publishing is proud to announce the signing of author Shelley Hayes, and her book

    As a professional leadership & life coach, author Shelley Hayes has witnessed powerful transformations in individuals taught to change their thinking and reframe past messages of limitations. Such lessons are especially effective when experienced at a young age.

    A mother of two active boys, Shelley recognizes first-hand the limiting and often damaging effects of coaches/instructors who flippantly use derogatory verbiage to motivate. Hayes’ book, YOU THROW LIKE A GIRL is a middle-grade, picture-book narrative written with the intent of shedding light on the power of words and perception. Infused with thought-provoking dialog and equally compelling illustrations, YOU THROW LIKE A GIRL demonstrates the positive effects of embracing who you are.

    Hayes’ book, and her own compassionate work, inspires children, as well as caring adults who also believe in equality and in positively motivating young people. In a fun story about neighborhood friends, Hayes offers a sweet story that invites the reader to embrace gender and self-expression with pride and a true sense of equality.

    Shelley Hayes holds a Masters degree in Business Administration and Management as well as a Bachelors degree in Sociology with a minor in Psychology. She is a Certified Professional Coach and received certification from the International Coach Academy.

    YOU THROW LIKE A GIRL will be released mid-June 2011 due to BlueHead Publishing’s unique 6-month book-to-market trajectory.

    For more information, go to:

    Press Contact: Jenée Arthur

    Friday, November 26, 2010

    Kindle eBook Design Resources for CodeMonkeys

    A few helpful links for those of you designing an eBook for Kindle. This is geared for those of you who want to work with the source code (as opposed to those who are looking to simply convert from InDesign or Word to .mobi without caring for geekish specifics)

    A great introduction for techie people already familiar with web-design

    Site for Kindle Formatting Tips

    Kindle's Publishing Program Page with goodies like
    • KindleGen - a tool for generating .mobe (kindle) files from HTML, ePub, etc files
    • KindlePreviewer - a desktop virtual Kindle for testing your code in a 'live' kindle display

    The not-remotely-useful Kindle Publishing Guidelines Document from Amazon

    A couple of nice web pages for cheatsheets on HTML and CSS compatibility:

    Friday, October 29, 2010

    New Developer Hub & Upgrades

    We are excited to announce the New Developer Hub for those who are interested in seeing how we developed and are developing the BlueHead site, Author's Dashboard, and Fan Club Site. We use Github (of course) to manage it all and have chosen to make the repository a public repository so anyone can participate as a developer and contribute (we will credit them in the "CONTRIBUTORS" file of the source code).

    New Dev Updates:
    • Upgraded system to Rails 3.0.1
    • Moved hosting to Heroku
    • Created sandbox branch for new feature adds