GNOME Books is application for listing, searching and reading eBooks.

The idea is to integrate gnome-books with an existing online eBook store.

gnome-books will be implemented upon the application gnome-documents, and it is going to live in the same git repository. This would be a great solution regarding code duplication, because it would be possible to reuse relevant code blocks from gnome-documents and add extra features related to eBooks.

GNOME Books application is going to have three different modes:

  1. Overview mode - user can see the list of eBooks (by the filter he applies)
  2. Reading mode – user can read the eBooks from its collection
  3. eBookStore mode – which will open the web application inside gnome-documents to allow the user to buy new eBook

To implement Preview mode two approaches are going to be evaluated:

  1. Browser preview – using epub.js library [1] This solution will give gnome-books possibility to have a preview mode with some nice animations that HTML5 is delivering. Changing the interface, or adding the annotation functionality can be easily customized.
  2. Glib/GObject library for interfacing .epub files Integrate the library within the existing Evince Document library which is used in Documents. This solution could possibly lead to a faster interface for the user, because there is no need for opening a web browser to read the eBook. The library libgepub [2] is a GObject based library for handling and rendering .epub files. This could be a possible start to extend the Evince Document library for .epub files which is going to be used by gnome-books.

Extra features for gnome-books

  • • Read mode: day/night mode

[1] epub.js:

[2] libgepub:

About Me

My name is Marta Milakovic, and I am 24 years old, from Croatia. I am studying Computer Engineering at the University of Zagreb.

Contact info

Project plan

The development process used in this project will be an incremental waterfall method. Parts of the implementation will be selected during each iteration to gradually build the application.

The table below represents important states in the project. IDs are milestones, which are chosen as the endings of the phases inside the plan.






19th of May – 31st of May

- Library for reading .ePub files


2nd of June – 14th of June

- Testing the library

- Reading mode


16th of June – 27th of Jun

- Reading mode + testing

- local database

Mid-term evaluations


30th of June – 11th of July

- Overview mode

Showable two month into the project

14th of July – 25th of July

- Preview mode + testing


28th of July – 8th of August

- eBookStore mode


11th of August – 18 of August

- Testing

Outreach/SummerOfCode/2014/Projects/MartaMilakovic_GnomeBooks (last edited 2014-08-20 16:37:49 by MartaMilakovic)