Free – Create and Read eBooks (1)


There are are quite a few free ebook writer and reader packages available on the internet.  I decided to make an inventory of the various tools, and critique the ones with which I have accumulated some experience …


The preferred ebook reader is somewhat dictated by the type of ebook the user wants to read.  Various formats are used in ebooks, including the ePub, Kindle, eLit, Palm, FB, Mobi, text, html archive, and other lesser used formats.

The eLit format is Microsoft’s, the ePub format is open consortium based, the Kindle is proprietary, the Palm is obsolete, and the Mobi format is the precursor to the Kindle format (originating from a company purchased by Amazon).

“ePub” files are simply zip files with directory structures that allow for text, html, images and so forth. These archive directories contain XML meta data files, indexes, and TOC files in addition to the content. Unzip the ePub archive, find the html directory within it, and open the files you find in that directory with your browser (Voila – instant ePub reader!) This author has found the ePub/unzip technique to be quite useful when separated from access to regular software perhaps better suited to the purpose.

EBook enthusiasts who choose to read ePub books with the use of an internet browser should know that most authors (including this one) optimize their books for use with hand held ebook readers. These readers typically have small dimensions (4-5 inch widths), so ePub files generally render better within a browser if the browser window is sized to mimic hand held devices.

EBook readers generally support a very rudimentary subset of HTML tags, making the optimization of the text to a specific size range necessary. The browser approach works best with ebooks that are mostly text (e.g. Gutenberg Project books, etc).

While it’s OK to use a plain browser, when circumstances dictate it, most of the time users want a better reading experience than what a simple internet browser (used without an extension) can provide.

The Barnes and Noble Bookstore website has a nice dedicated ePub book reader program for PC computers (it requires Windows), and the last time I checked it was free. Of course, they sell the Nook hand held reader, and a hand held device may very well be the best way to read an ebook.  Many people find that staring at a vertically oriented PC screen is too tiring for extended or pleasure reading activities.

For readers who use the Firefox browser, a Firefox “add-on’ package designed to read ePub books is available for download from the official Mozilla/Firefox website. The Chrome browser has an add-on package purposed to reading ePub books, and at some point in the past, Opera’s extension site had an eBook widget available for download (Until recently, “widget” was Opera’s term for an add-on/extension package).  Opera’s new “extension” technology replaces the widgets, but I’m not sure whether or not the ebook reader widget has been converted to the new system.

What I like about browser add-on/extension packages is that they are in a way “cross platform,” and can be used on operating systems less targeted by major reader software providers.  For instance, the system I’m using at this moment (FreeBSD 9.1) is not generally targeted by commercial software providers (in the realm of ebook reader software).  I’ve found that the most popular ebook enabling extension for Firefox 17 works quite well with ePub formatted material, even on my FreeBSD system. I believe the current download counter on the extension site has a tally in the area of a quarter of a million downloads.  It is quite popular.

Users of the Chrome browser may download an extension package for ePub book reading purposes.  The extension site requires users to create a login account before the package may be downloaded.

There is a good reason that browsers seem to work naturally with ebooks.  Most of the ebook formats are html markup language subsets.  Since the browser’s native lingo is markup language, it is well suited for the purpose.  Even the Kindle format is, at the core, a markup based format.  We have been discussing means by which to read ePub files.  A large number of readers are available for the ePub format because it is not proprietary.  However, in a pinch, a simple browser can be used to view a Kindle book.  If the Kindle ebook does not have DRM rights management applied to it – then it will have the html subset markup somewhere inside of it.  Unlike the ePub format, the Kindle format contains packed binary information in addition to the markup content.  That is why any attempt to view a Kindle file inside of a browser or text editor results in the display of gobbledygook.

On a FreeBSD system, I can use the hexcurse hex editor to find the beginning of the markup block in the Kindle file, so long as it does not have DRM applied.  Then, I can use the Unix tail and head commands to create a browser readable file:

tail -c +102011 > first_byte_markup.tmp
head -c 53002  first_byte_markup.tmp > browser_readable_greatread.html

The 102011 is the beginning of the markup, as determined by the hex editor, and the 53002 is the length of the markup, also determined by the hex editor. I could have used “sed” or a half dozen other Unix utilities, and I could have done it using one line if I hadn’t wanted to see intermediate results. Additionally, I could have automated the process of finding the first html block, instead of using hexcurse. In any case, no person in their right mind would use this technique as a substitute for the proper Kindle viewer, which is available from Amazon (Windows required).  The viewer was available for free  (the last time I checked).  Alternatively, one can just buy the hand held Kindle viewer (perhaps a better idea).  The tail/head procedure may not work with mobi/kindle files that have multiple blocks of embedded html within them.  Additionally, graphic images embedded in the ebook would not be visible in the browser window.

Continue to part two:


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.