Saturday, April 10, 2010

Self-publishing with CreateSpace

From time to time, somebody sends me a kind email saying that they only truly appreciated Git after encountering my Git guide. One such reader had already bought a few Git books, and he suggested I should therefore turn my website into a book.

I had idly thought about doing this, but why bother? Was: FREE, Now: $9.95!? However, the email made me realize that some seek information by buying books first, then look around online if they want more. Making a book out of my guide might be a good idea after all: I’m not trying to sell it to people who already know they can read it for free; rather, I’m aiming for those who might not otherwise find it until much later because they visit bookshops before search engines.


Because the most renowned technical publishers already offered books on Git, I chose to self-publish on CreateSpace. Their tools are free, and they list your work on Amazon (who owns CreateSpace). I’d love to have bricks-and-mortar bookshops carry copies of the book too, but an Amazon listing should be enough for now.

In a brief search, I found controversy over CreateSpace ISBNs, but Richard Sutton’s post reassured me: firstly, for my book, the issues stemming from CreateSpace being the registered owner of the ISBN are irrelevant, and secondly, if you really want you can have an ISBN registered in your name (but you’ll have to buy it yourself).

The whole process is not quite free. After submitting your PDF file, you must order a proof copy. If you find errors, you submit a corrected PDF, and repeat. I made a stupid mistake the first time, so I went through this cycle twice and finished down about 16 bucks.

It’s not all bad though. I was surprisingly pleased to hold my book in my hand, as it felt like I had accomplished something. Also, in print form, the same old sentences become more authoritative and strangely convincing. Online, they look like stuff that some guy posted on some random website.

Preparing the book took much longer than expected. I had mentioned to a reader that I was considering making a book. I tried follow advice he gave me so it would look less amateurish. I cut a chapter and an appendix. I added an index. I renamed headings so they were more descriptive. I replaced all variables (e.g. "SHA1_HASH") in the command-line examples with values (e.g. "1b6d"). I selected a 6 inch by 9 inch form factor, which meant I had to shorten some lines to get them to fit. While doing all this, I found poorly spelled words, poorly worded paragraphs and poorly organized sections. I doubt I caught them all.

To avoid further delays, I used their Easy Cover Creator. Perhaps I’ll revisit this eventually, as I want a more spartan look: something like Kernighan and Ritchie’s "The C programming language". Or perhaps a sort of cheat sheet so the book would be useful even while shut.

I set the price to $9.95 USD, which means I get 2 bucks or so per sale. I considered a lower price, but I’ll be lucky to make my $16 back as it is! Still, it ought to be low enough that a buyer won’t be too annoyed when they find out the material is freely available on my homepage. (I would have linked to the free version from the book description, but this is forbidden.)

AsciiDoc, xsltproc, fop

I had some trouble with my tool chain that produces PDFs from text files. AsciiDoc produces a DocBook XML file out of the source text, which xsltproc turns into an XSL-FO file, which fop renders into a PDF. The design of the various formats probably have technical merit, but I found it difficult to figure out how to get what I wanted.

For example, I replaced variables with values because I could not italicize them easily with AsciiDoc. The only methods I discovered destroyed the natural beauty of the source text.

It seems the smaller the detail, the larger the effort required to tune it. Changing page sizes, font sizes and chapter heading styles was easy enough to figure out, but I still don’t know the right way to insert a blank page after the front matter so the first chapter starts on an odd page. I gave up editing some XSL file or other. Instead, I scripted a fragile search-and-replace on the XSL-FO output.

Nonetheless, I stand by my choices. There’s something appealing about source files which resemble old-school text files. Also, once the configuration nightmare is over, editing is simple: I can use any text editor, and the tool chain will automatically produce several HTML versions as well as a reasonable PDF for a book.

Shameless plug

I couldn’t possibly end this post without a link to my book: "Git Magic". It’s the most important book you’ll ever have, or my name is not Winston! Buy it now!


Kazimir Majorinc said...

It is true that many people search for a book first - and I understand why each time I start reading actual book - it is just much easier and faster to read longer texts on paper than on screen. For people in Europe or US who earn thousands of dollars a month, it is hardly a problem to buy something that spares time.

I also think about publishing something. Tell me, did you considered other alternatives to CreateSpace - and what was CreateSpace's advantage, or it was the first you checked and it was satisfactory?

Ben Lynn said...

My case is perhaps atypical. A reader of my website said he liked my work better than existing offerings, and suggested I turn it into a book so others could find my site when they were browsing bookshops.

Unfortunately, by that time, the major tech publishers already had Git books. Putting something up on Amazon was the only option left.

Thus CreateSpace was easiest: upload a PDF, and soon enough it appears in book form on Amazon, complete with bells and whistles like Look inside! and free super saver shipping. I'm simplifying a little, but this is CreateSpace's advantage.

I did take a brief look at Lulu, which may be better in some ways, but it requires more legwork to get a Lulu book listed on Amazon.

CreateSpace seems fine so far. Some comments:

Paying for a proof was unexpected, though not too surprising. I suppose there has to be some kind of quality control.

Links are forbidden in the book description (my original plan for getting more site visitors). It figures.

The Look Inside! feature took weeks to appear. I'm guessing they get humans to check the sample is suitable for all audiences, and doesn't reveal, say, the butler did it. At least the process is automatic.

I have no idea if the royalties are reasonable, but I don't care much. Although I'd welcome a tidy profit, my main aim is to extend the reach of my propaganda! I want the world to use distributed version control.

Kazimir Majorinc said...

Well, yes, Amazon is obviously important. You do not ask too much money, really, as said.

Another thing with this proof copy: you get your book and you search mistakes for yourself and then you decide what it is "good enough", right?

Ben Lynn said...

Correct. I confess the second time around, I submitted my approval online before I received the proof in the mail! I was confident because the fix was minor.

thewriterssecret said...

I'm very satisfied with CreateSpace. The finished quality of their books match those published by the "Big Five" publishing houses.

You can find free information and downloads about publishing with CreateSpace at

Robert said...

I've been published by conventional brick and mortar publishers and sold about 500,000 copies. The CreateSpace royalties are better than the very best deal you can get with any traditional publisher, much better, in fact. The catch is that with a traditional publisher, they would handle your publicity, and with CreateSpace, you have to do that yourself.