E-Book Enlightenment



Booki is a website used to create e-books.  The URL is:


Most Internet users have encountered Wikis before.  Everyone has at least heard of Wikipedia, the encyclodepia written and edited entirely by volunteers.  Essentially, a Wiki is software that enables people to edit a website from within the website.  Many free software projects use Wikis for documentation purposes, and both the One Laptop Per Child project and Sugar Labs have their own Wikis.  While Wikipedia is an example of what this approach can achieve, very few Wikis are as well maintained as Wikipedia.

Some people involved with the free software movement felt that what was needed was not Wikis, but free manuals.  A Wiki tends to branch off organically in all directions. However, a manual needs to be more formally structured, with a Table of Contents and attributed authors, and ideally should be something that one can copyright, print and bind, give an ISBN number, and sell on Amazon.

The website FLOSS Manuals was created to meet this need. The letters FLOSS stand for Free and Libre Open Source Software.  If you've been paying attention you probably realize that the book you are now reading came from that very site.  This book and the others on the site are not just articles on the web.  You can create a PDF from them and read it as an e-book, and quite a few books on the site can be ordered as bound and printed books from a publish-on-demand service like Lulu (http://lulu.com/).

FLOSS Manuals originally used a modified version of Wiki software called TWiki, and a good part of this book was written with that version of the software.  The longer-term goal was to create a web-based platform specifically for making books.  That software, you've probably guessed, is Booki.

One key difference between FLOSS Manuals and Booki is that the FLOSS Manuals website is only for manuals for free software, nothing else.  You need to propose a topic for a manual on the site mailing list, and if it is approved someone will create the book for you.  When you are ready to publish your book on the site you'd need to send another request to the list to ask for that to be done.

Booki is different.  Anyone can create a book on Booki, on any subject.  Where you publish the book is up to you.  The software will let you generate your book in a variety of formats, including HTML, PDF, and EPUB.  You can take this output and host it wherever you like.  The PDF and EPUB could be donated to the Internet Archive as a Community Text, and you could publish the HTML on your own website.  FLOSS Manuals will continue to be hosted on the FLOSS Manuals website.

This is what Booki looks like when editing a book (in fact this very book).  You will notice that I'm using the Sugar Browse Activity, which is completely adequate for the purpose:


Booki is one of the best tools available for Sugar users to create e-books.  It can be used on the XO or from Sugar on a Stick.  It supports many authors collaborating on a single book.  It supports translating books into many languages.  It can create PDFs and EPUBs.  It can create books formatted for print-on-demand services.  It can create documents in Open Office ODT format (which Open Office can convert to MS Word format).  It can even be used to download, proofread, and correct EPUBs created by the Internet Archive.

Booki is an excellent option for teachers preparing textbooks, but it can be used by students for their own projects too.  Here is another screen shot showing how you can upload Journal entries containing images to the image directory for a Booki project:

Booki Upload Image

 Here's another one showing how you can select an image and insert it into your book:

Booki Select Image

In addition to Browse you'll want to get the Sugar Commander Activity which has a number of useful functions that involve creating and updating Journal entries.  The latest of these is a button to resize image files to any width.  Booki needs images to be 600 pixels wide or less, and Sugar Commander can do the resize with the push of a button:


I even used Sugar Commander to resize the screen capture above for this book:


Finally, I upload the resized screen capture into the book:


A complete description of how to use Booki is outside the scope of this book.  If you want to learn more, check out the Booki User's Guide:


A Few Thoughts On Collaboration

The main reason to use Booki rather than a word processor to write a book is to effectively collaborate with other authors.  The book you are reading is my second attempt to do this (and the Spanish translation of my first FLOSS Manual could be considered a third attempt) so my opinions on this might be worth something.

The first thing is that there are good reasons to collaborate and not so good.  A good one is that your collaborator can bring expertise to the book that you don't have.  A bad one is that you think there will be less work for you if you have a collaborator.  There are many human activities where "Many hands make light labor".  Writing a book isn't one of them.

Many successful software manuals have been written using the "Book Sprint" method.  This involves getting a small group of people in the same physical location for about a week and having them write the whole manual together in that one week.  I had a coworker of mine involved in the Book Sprint to update the manual for CiviCRM, a software package used by non-profits.  She had done some work on the software to support the Jewish calendar because her synagogue needed it, and this work had impressed the developers of CiviCRM enough that they invited her to participate in their Book Sprint.  They had a grant, so they paid her traveling expenses to Lake Tahoe and put her up at someone's home for a week.  She took a week's vacation to work on it.  Others worked on the book remotely.  Nobody got paid for their work.

If you're interested in doing a Book Sprint there is a FLOSS Manual on the subject, plus another FLOSS Manual on "Collaborative Futures" which is itself the product of a Book Sprint.

My books were not written using the Book Sprint method. My books were more of a slog than a sprint, and I didn't get a bunch of people to commit to working on my book full time for a week.  What collaboration there was was informal and spread over months.    My first FLOSS Manual was a book on creating Activities for the Sugar platform; in other words how to write programs that would run on the XO laptops used by the One Laptop Per Child project.  There is no way a Book Sprint could have produced that book.  I had to create a bunch of short programs to demonstrate everything that can be done on that platform and how to do it simply.  The programs needed to be tested and debugged.  Several versions of test environments had to be set up.

You might not think of that book as a collaborative effort, since I wrote every word in it, but in a very real sense it was.  I got lots of feedback from other developers, help debugging my examples, help resolving problems with the test environments, and many useful suggestions.  Writing the book on the web made that kind of collaboration much easier.

There were a couple of people who offered to write chapters for the book, but this did not come to pass.  In the end this didn't matter; the book ended up doing what it needed to do.  I suggested that people who had helped me along the way put their bios in the About The Authors chapter.  Only one took me up on it, but at least six more could have with no objection from me.

After this first book was published there was interest in creating a Spanish version.  Some of the most successful OLPC projects have been in South America, so I definitely wanted there to be a Spanish version.  Unfortunately, I don't speak any Spanish, so I didn't feel qualified to do it.  I explained on our mailing lists that it would be very simple to request a book project to be set up on the site for a translation, and that the site offered an interface where you could view the original chapter while writing the translation.  Several people offered assistance, but nobody requested the project to be set up.  I decided to do this myself, even though I couldn't translate anything.

After the project got set up a couple of people got accounts on FM and looked over the book, and one of them translated a few paragraphs.  Several of the people who had offered to help were concerned that they did not have the technical knowledge to translate the book, and for several days it looked like nobody was going to work on it.

A friend suggested using Google translate to create a base translation that native speakers could correct.  I ended up using Babel Fish instead because the HTML generated by Google Translate had a lot of extra stuff in it like JavaScript and the original English text being translated.   After I started doing this a retired teacher who was fluent in Spanish started to correct the text, and I went through and untranslated things that should not be translated, like code examples.  It started looking like something Lou Dobbs would disapprove of, but we knew that it would take native speakers to get it into shape.   The retired  teacher sent out an email on some lists explaining that we had a translation going that needed to be corrected.  After that several native speakers got accounts on the site and started to correct the text.

What I learn from this is what I call the Modified Little Red Hen Principle.  The Little Red Hen, you will recall, asked the other animals for help in making bread.  None of them wanted to help until the very end, when she asked who wanted to help her eat the bread.  With books it isn't quite that bad, which is where the modified part comes in.  Starting a book from nothing is intimidating.  However, once the book reaches a critical mass and there is no doubt that there will be a finished book you'll find that getting help and feedback is easier, almost inevitable.

The best motivation to collaborate on writing a book is a desire for the book to exist. To quote Antoine de Saint-Exupery:

“If you want to build a ship, don't drum up people together to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea”

If you can sell people on the idea of the book you'll get collaborators.  That's another reason you may have to write a substantial chunk of the book before collaborators show up.  A partial book is easier to sell than an idea for a book.

With the book you are now reading I got collaborators in the conventional sense of the word.  Before I had worked on Make Your Own Sugar Activities! I had written the Get Internet Archive Books Activity described  in an earlier chapter.    In the process of doing that I met some people from an organization in Oregon called the Rural Design Collective.  This is a group that has done work for both the Internet Archive and the One Laptop Per Child project.  They have a summer mentoring program where talented students get involved with an Internet project and learn skills that may lead to a future career.

When I announced that Make Your Own Sugar Activities! was finished I got an email from Rebecca Malamud of the RDC congratulating me.  The book you are now reading was in the thinking stages and knowing of her work with the IA I told her about my plans for the new book and asked if she'd like to contribute.

At that point the RDC was contemplating what to do for their summer mentoring program and they decided that working on my book might be just what they were looking for. 

We all wanted the book to exist, but for different reasons.  The RDC is focused on training young people to create websites, and so their focus is on the graphic design of the book more than the content.  They did provide content, of course.  The chapter on publishing e-books with gCI is all theirs (the RDC created that software), and they agreed to provide screen shots of the software used in the book from a Macintosh.  (Teachers have a higher rate of Mac usage than the general population, so I wanted some Mac screen shots).  However, most of their work has been in designing style sheets and illustrations for the cover and the interior.

You may not need to create style sheets and illustrations to make a FLOSS Manual.  The first printing of Make Your Own Sugar Activities! used the default style sheet and the cover illustration was just a crop of a screen shot. As it happened that first printing had text that was too small for easy reading, especially the code samples, so I did end up making a style sheet for it.

For this book the RDC did manage to find a talented young artist who did some terrific cover and interior illustrations (the small ones at the top of each chapter).  The cover illustration that everyone liked didn't really go with the title I had proposed, so I ended up changing the title.

One of the best ways that Booki can help you collaborate is to send you emails when anything in the book has been changed.  The emails have links that let you compare the previous and current versions of changed chapters side by side.  Booki also lets you add notes to each chapter.

In addition to the RDC's work I also got much help and encouragement from the forums of DIY Book Scanning and Distributed Proofreaders.  Again, this is not collaboration in the way the word is normally used, but it was a vital contribution to the book.  I would post a link to the book on the FLOSS Manuals website and ask for comments.  The comments I got often contained valuable information and suggestions.

So in summary I'd say that even if you can't afford to send a bunch of people to Lake Tahoe for a week you'll still find Booki is a good way to collaborate on writing a book!

Using Booki To Correct Internet Archive EPUBs

In the chapter on e-book formats I was a little harsh describing the EPUBs distributed by the Internet Archive.  Actually, I am at the same time full of admiration for them.  IA books are submitted as PDFs containing only page images, without text.  From this IA's software does OCR on the pages, formats the text into paragraphs, figures out where illustrations are on the pages then crops them to size and puts them into the e-book reasonably close to where they would be in the original book.  As a professional computer programmer, I consider this no less miraculous than transforming sausages into a live pig.

Having said this, the fact remains that these books need lots of proof reading and correcting.  It is possible to download an EPUB from IA, correct it using an EPUB editor like Sigil, and then replace the original EPUB on the IA website with your corrected version.  Booki lets you do the same thing on the web with collaboration.

You can easily copy any IA EPUB into Booki using this page: 


The Identifier "ThirteenWomen" is from the IA website page for a book I donated, Thirteen Women by Tiffany Thayer.  Click Create and the book will be downloaded from the IA website as an EPUB and imported into Booki.  Once there anyone can work on it just like any other Booki project.  This is the Big Aviation Book For Boys being edited in Booki: 


Using the example of the Big Aviation Book For Boys, suppose your school has a club for model aviation enthusiasts and they wanted to fix up this book and others like it as a club project. One thing they'll want to do is set up a Group for all the books they plan to work on:


Any books they import can be added to this Group.

Most of the proofreading for this book can be done without referencing the original book.  There will be things like page headers and footers to remove, paragraphs split across two pages that need to be re-joined, illustrations that need to be moved to between paragraphs that currently are stuck in the middle of a paragraph, formatting chapter headings and correcting obvious misspellings.  In this book several numbers are garbled, and the only way to correct those and errors like them will be to refer to the original book in PDF or DjVu format.  Rather than do that every time they see such an error, our club members might prefer to use the Notes tab to list all such errors that they find so they can be corrected at the same time:


When the Prop Spinners are satisfied that the EPUB is in good shape they can send it to the Internet Archive using the Export tab: