Digital books, aka “ebooks” are going to change the publishing world just as iTunes and digital music have changed the music industry. At the moment, Amazon’s Kindle seems to be the biggest fish in the pond. While the actual numbers are fuzzy, Amazon’s Kindle appears to be driving ebook growth, as suggested by this article.
Recent news points to authors making a dramatic shift from traditional publishing houses to self-publishing, as pointed out in this article that describes why Barry Eisler turned down a $500,000 deal from a mainstream publisher, choosing instead to self-publish. This particular article was in fact my own tipping point: I had written a science fiction novel 30 years ago that I was unable to get any of the publishing houses interested in at the time. I thought to myself, “Why not?” So I dusted off the old digital manuscript, completely rewrote the story, and recently published it on Amazon’s Kindle publishing site. BTW, for more info on how the original digital manuscript migrated from machine to machine over that thirty year period, see the Author’s Note on the home page for my novel, Second Cousins.
As a long-time hard-core Linux user, I thought that some of you other Linux folks might be interested in how to write and publish a Kindle ebook using only Linux tools. Before I give the the list of required software for publishing a Kindle ebook using Linux (it’s a short list), I want to point out there there isn’t any good single “Howto” guide that I’ve been able to find that describes the best way publish a Kindle ebook. There are a whole bunch of references that describe part of the process, like this one for example that describes how to create an NCX file that will enable live table of contents navigation on the Kindle. I spent a lot of time diddling with XML and OPF (Open Packaging Format) files before deciding that this was not the way to go.
Likewise, some of the Kindle HowTo references out there suggest writing your book using an html editor, defining bookmarks and tags to specify the table of contents, cover, and start page in such a way that the Kindle device will recognize them. Again, wrong approach, IMO. When I write, I want to focus on the story, not the software.
Then I found The Answer: this. An OpenOffice template specifically designed to support publishing Kindle ebooks. And that, ladies and gentlemen, is the only software you need to publish a Kindle ebook on Amazon. If you follow the simple Youtube video instructions for using this template, you can directly upload the .doc file generated by the template to the Amazon Kindle publishing site. No muss, no fuss. This file contains all the tags and bookmarks necessary for a Kindle device or one of the free Kindle reading apps to be able to render the cover, table of contents, and book contents correctly. Further, the OpenOffice Kindle template formats your text such that you see your book as it will appear when viewed on the Kindle.
Considering the amount of time I save by using this template, the nominal fee charged by its developer is well worth it for me. However, if you really do want to write your book in html, and create the ancillary NCX and OPF files, you can do this and then create an uploadable Kindle ebook file using the free Kindlegen app from Amazon. But seriously, why would you want to?
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Linux Systems Administrator
- Validate an E-Mail Address with PHP, the Right Way
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Technical Support Rep
- Senior Perl Developer
- UX Designer
- Introduction to MapReduce with Hadoop on Linux
- Weechat, Irssi's Little Brother
Free Webinar: Hadoop
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?