Read and Epub and beyond

For the past few weeks, I have been spending most of my time implementing Epub support for Sugar’s Read activity. Epub is gaining increasing acceptance, and a few weeks back, Project Gutenberg started distributing many of their material in the format, and Google + Sony also seem to have started to distribute a large chunk of public domain books as Epubs.

Today I finally reached the stage where the work could be tested on an actual XO, and here’s how it looks:
Read opening a Epub file on an XO

The rendering is done using WebkitGTK (the Python bindings) and I was a bit concerned about the possible performance issues on the XO-1 (which has a relatively ancient processor, slow filesystem access, only 256 MB of RAM and no swap). The biggest worry was the loading time – since it involves pre-rendering the entire book to gather metrics for pagination (most Epub books I have come across do not have clearly defined page-breaks, so that has to be figured out), but to my surprise (and relief) the load time turned out to be quite acceptable.

Right now, the viewer supports a very limited subset of the Epub standard (and works only with XHTML based Epubs), but so far it has managed to handle all the files I have tested it with. The viewer is a standalone widget used by the , which should make it possible reuse the work to develop a Epub reader for GNOME as well.

Once the Epub support in Read reaches an acceptable state, the plan is to start working on implementing support for the draft Open Publication Distribution System specs, which allows ebook distributors to distribute e-books via XML catalogues. It makes sense to support this in Read, as well as in the school server, to ease the e-books distribution process. For example, if we have a large e-book collection for a particular deployment, it may not make sense to put all of them in individual laptops – instead allowing the user to browse/search the catalogue and download the books as and when required would probably be a better option.

The GNOME.Asia Summit, 2009

We have been informally discussing the idea of hosting GNOME Asia 2009 in India this year, and a initial TODO list and a set of ideas has been just posted on the gnome-india mailing list.
We would need a lot of effort to make this happen successfully, and if you are interested in helping out, by all means, please jump in :-) . Join the mailing list, and start taking part in the discussion. There is also a set of pages on the wiki, please feel free to put in your thoughts and suggestions in those page as well.

GNOME Project Day at FOSS.in – preliminary list of speakers

The organisers of FOSS.IN have released the preliminary list of speakers in the event and we seem to have a really interesting set of talks for the GNOME Project Day. From the FOSS.IN website,

  • Andrew Cowie – The challenges and opportunities of properly writing multi-threaded GTK based GNOME programs
  • Lennart Poettering – ZeroConf Networking with Avahi
  • Mairin Duffy – Beginners guide to UI design
  • Naba Kumar – Integrated communication framework for GNOME – elements of telepathy
  • Ritesh Khadgaray – hunting bugs
  • Runa Bhattacharjee – Gnome Translation Project-Your language on the Desktopv
  • Sankarshan Mukhopadhyay – Bring your own hammer – I have the nails !
  • Shreyas Srinivasan – Clutter: Fun with opengl interfaces

I would have loved to attend FOSS.in (especially the Project Day), but unfortunately my seventh semester exams begin on the 3rd of December. Maybe from next year…


In other news, I have started to do contract work for the OLPC, and right now I’m helping out with the establishment of a smooth work flow for the localisation of various activities and software targetted for the XO. I’m pretty excited about this, especially since intially after getting a negative response from our HRD Ministry, it looks like the XO will be used by Indian children after all, through some other channels. That adds a new dimension to my work altogether :-) .