Presenting Books

I am an avid reader, reading everything from stupid comments on to classics of western literature and recent papers on GPGPU. When I heard about the Amazon Paperwhite and its increased contrast and lighting, I was all ears and researched about e-books and e-readers. I finally came to the conclusion, that an e-reader would be a perfect device for reading text-heavy books during my daily commute. So, despite the current lack of devices in Germany, I pre-ordered a Kobo Glo.

Projecting my reading habits into the future, it became reasonable to think about how to manage my purchases. I am aware of Calibre and FBReader but honestly, I cannot stand their user interfaces. They are very good tools for managing e-books (especially Calibre) but they stick out like a sore thumb on the GNOME desktop due to Qt and a some weird design decisions. Consequently, I began working on a simple e-book application targeting GNOME exclusively:


As you can see, it uses standard widgets to visualize the book database, that is backed by sqlite, and WebKit to show the content of a book. Because I think this application could be useful for more people than just myself, I went full force this time and setup some development infrastructure:


If you fetched the sources from GitHub you need to run ./ first. For this, you will need the autotools, autopoint and intltool:

$ sudo apt-get install intltool autopoint libtool
$ ./

After doing this or extracting from a release tarball, you need to install the dependencies:

$ sudo apt-get install libarchive-dev libsqlite3-dev libwebkitgtk-3.0-dev libgtk-3-dev libxml2-dev

and do the standard dance:

$ ./configure
$ make
$ sudo make install

The Future

Although I am quite satisfied with the current status, there are still some features missing for the magical one-dot-zero release:

If you find this little application useful, leave me some feedback. Moreover don’t hesitate to report bugs and issues or contribute code or translations.


This post might also have some comments at Google+.