You Got A Question? Ask    GNOME Community!

GSoC 2013 fruits ready to be harvested :)

Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects. This year it was 32 amazing projects that promised to speed up Gnome development in various sections and tools/applications. The end has come and the results are here for us to use!


1.) Add Bookshelf View & Tiling support to Evince

The project aims at making 2 major improvements to Evince. First, a bookshelf view will be added (similar to gnome-documents) for recent documents. Next, tiling support will be added so that documents can be viewed at higher zoom levels.

Student: akash , Mentor: Jose Aliste


Here are the Gitorious repositories for the bookshelf view and the tiling support. The work will be probably merged in Evince 3.12.

2.) Gnome Tweak Tool UI Refresh

The idea is to refresh the UI of Gnome-tweak-tool, create a very specialized UI for certain tasks, take advantage of modern gnome technologies such as the application menu and add some new features, for example the feature “reset to default”.

Student: Alex Munoz , Mentor: John Stowers


The Tweak Tool UI refreshing is one of Gnome’s 3.10 highlights. Completely renewed look that now agrees with the modern Gnome design phylosophy.


3.) Implement a new avatar picker dialog that will pull from online sources

I am Bogdan Ciobanu and I am interested in completing the project and integrating in GNOME community. All details regarding the implementation are to be found in the full application.

Student: Bogdan Ciobanu , Mentor: Jasper St. Pierre


Unknown. Please share any info

4.) RAW developer integration for the F-Spot photo manager

RAW development is a central part of many photographer’s workflow. There are several programs that offer photo management features and several developers, but none of them do both tasks in a user-friendly but powerful way. So, following UNIX tradition, I suggest a integration of the available RAW developer software into f-spot, a GTK photo manager.

Student: Camilo Polymeris , Mentor: Stephen Shaw


The f-spot RAW developer interface Add-in is ready for downloading. It will be merged soon in the f-spot main tree.

5.) Complete redesign of GNOME Shell’s app picker

While the application view has evolved in 3.6 and 3.8, it still does not match the design mockup. Work to be done: -Applications should be paginated rather than scrolled -Make the transition gorgeous -Expose folder editing to users.

Student: Carlos Soriano , Mentor: Florian Mullner


The long awaited pagination in applications view is one of Gnome’s 3.10 highlights.


6.) Break Timer application for GNOME 3

My goal is a successor to GNOME Typing Break, based on the existing mockups on the GNOME Wiki, as well as my previous work on a similar application called Brain Break. The application will help users to take regular breaks with a bit of friendly encouragement, a settings tool and a very reliable timer.

Student: Dylan McCall , Mentor: Jasper St. Pierre


Break Timer is ready to help you never miss a break. The application that we reviewed in the past is now in version 1.1 with Dylan expressing his willingness to continue the development of it. You can compile the source, or add the Ubuntu repository.


7.) Design implementation of Gnome Music

GNOME Music is an application maintained by the community, it is written in javascript + gtk and it uses grilo+tracker. This project will add a lot value to GNOME because its is based on the new GNOME 3.0 design patterns, and introduces a nice element of simplicity that makes it attractive to users.

Student: Eslam Mostafa , Mentor: Seif Lotfy


Gnome Music 3.10 brought more than we expected and while the application is still not complete, it already looks and works very good. For more details you can read our previous article.


8.) Improve gnome-clocks world view (pictures, geolocation)

Benefits: implement the next design steps for the clocks application Requirements: Basic knowledge of Vala Notes: Implement integration with geolocation Implement support for custom city images as specified by the original design

Student: Evgeny , Mentor: Paolo Borelli


The work on geolocation support has already been pushed into the master branch and you can enjoy it in 3.10. As for the custom images support, you can take a look at this:


9.) Implement support for custom functions in GNOME Calculator

This project aims to add support for user-defined functions(with single as well as multiple variable support) to GNOME calculator. This will add reusability and customization to the application, making it more user friendly and saving time of the user. We also aim to support auto-completion of custom/built-in functions as user is typing in the expression for evaluation, which will make using functions a pleasant experience.

Student: Garima Joshi , Mentor: Arth


Unknown. Please share any info

10.) GObject Introspection for java-gnome

Using GObject Introspection data to feed the java-gnome code generator.

Student: Guillaume Mazoyer , Mentor: Serkan Kaba


Unknown. Please share any info

11.) Enhancement of PDF annotations in Evince

Currently, support for adding annotations is very limited in Evince whereby only text annotations can be added. However according to the PDF specification version 1.7, there are 15 more markup annotation types including Line, Highlight, Circle etc. In addition, there are 27 bugs regarding displaying and adding different annotation types in GNOME Bugzilla. The goal of this project is to improve the annotation support of Evince document viewer.

Student: Gökcen Eraslan , Mentor: German Poo-Caamano


Unknown. Please share any info

12.) GSoC 2013 – Porting GTG and Liblarch to Gtk3 and Python3

With the increasing popularity of Gtk3 and Python3, it doesn’t leave too much time for applications still stick to PyGTK and Python2.

It will be my honor to finish porting Getting Things GNOME!, a.k.a GTG, which is the best GTD application on Linux Platform, to Gtk3 and Python3 during this summer.

Student: huxuan , Mentor: Izidor Matusov


Xuan Hu has completed the porting to GTK3 and Python 3 as well as the deprecation of older components, but time didn’t allow enough testing yet. The student states that he will continue working on the project!

13.) Overhaul the Date & Time panel in System Settings

This project is about implementing a new Date & Time panel design for the GNOME System Settings. The streamlined user experience is going to cover manually setting date and time; using the NTP for automatic time synchronization; setting the time zone; and automatically updating the timezone based on geolocation data.

Student: Kalev Lember , Mentor: Zeeshan Ali


The overhauling of the date n time panel in system settings is complete since Gnome 3.9.90, so you will be enjoying it in Gnome 3.10


14.) Activity Development for Gcompris Suite

Developing several additional activities for Gcompris suite that would infotain children about components of computer, concepts of cryptography, meteorologic station, road safety rules and also help kids to play with their favorite food recipes.

Student: lavanya , Mentor: Bruno Coudoin


Main work for developing new activities for Gcompris is complete. Visit this git page to get the code


15.) Implement Caret and Focus Tracking for GNOME Shell

To implement a caret and focus tracking device within GNOME Shell and allow the magnifier to use this device to display current keyboard focus. This work would contribute a focus and caret tracking “device” within GNOME Shell to the benefit of the GNOME community. The work also allows the magnifier to use this device in order to display current keyboard focus which enable users with low vision to use GNOME more easily.

Student: Magdalen Berns , Mentor: Joseph Scheuhammer


It took longer than expected (initially planed for 3.4) but finally the Gnome Shell 3.10 magnifier has its own caret and focus tracking mechanism full with an UI preferences menu integration in Gnome control center making the lives of people who use magnification for accessibility reasons much easier.

16.) Redesign and port Gtranslator to Vala

Gtranslator is an very used application but it has lots of bugs and it has an important lack of maintenance. The idea is redesign the whole application and implement the resulting design in Vala. With this redesign we will fix the major bugs of the current version and the new program language will probably attract new developers to the project.

Student: Marcos Chavarría Teijeiro , Mentor: Nicolas Satragno


The work of creating a new application that would replace Gtranslator took longer than Marcos expected so it is neither finished nor usable currently. The good news is that the student considers this to be a personal project and will not abandon it. Here is a video showing the current aspect of the application and how some features that have been implemented are working.

17.) General bug fixing in pitivi

The end-purpose of this proposal is to be able to make a release of the video editor by the end of the summer.

Student: Mathieu Duponchelle , Mentor: Jeff Fortin


Mathieu fixed tons of bugs and created a clutter-using timeline.

18.) Trip planning in GNOME Maps

My proposed project is to implement trip planning (both fastest route and public transportation) in GNOME Maps according to to the mockups.

Student: Mattias Bengtsson , Mentor: Zeeshan Ali


Things proved to be more complicated than Mattias had hoped for and plans had to change because of various technical issues. The end result is that the trip planning in Gnome Maps is not yet complete, but the searching for and showing a route via markers on the map works. Here is a video showcasing the current implementation:

19.) GNOME Sound Recorder

This summer I intend to write a new sound recorder application for the desktop. The app will be Gstreamer based, and will be written in GJS. I intend to make use of some of the new widgets in LibGd as well as some of the new GNOME 3 style Gtk+ widgets such as EggListBox. I am going to be using Giovanni Campagna’s new Gtk JS app base as the basis of my application.

Student: Meg Ford , Mentor: Sebastian Droge


All scheduled tasks for the Sound Recorder project were finished and available since last week!

20.) A Web Application for Getting Things Gnome!

This proposal aims at building a web application which fully supports all the features of GTG, synchronizes with it, and has a task-sharing functionality. The proposed app would allow users to use GTG on their GNOME desktops and the online interface on other desktop-environments, thereby making GTG usable on both GNOME as well as non-GNOME machines.

Student: Parin Porecha , Mentor: Izidor Matusov


The web application is complete and fully working! You can now visit the corresponding webpage and the github repository.

21.) Google Tasks support to libgdata and Evolution

Project to implement Google Tasks API support to libgdata and Evolution.

Student: Peteris Krisjanis , Mentor: Philip Withnall


Work is expected to be complete by the end of this month. Current state can be determined by visiting Peteris’ GitHub repos (evolution, libgdata)

22.) Port color management in GNOME to Wayland

Write a shader in Wayland/Weston to convert between color spaces and modify color managed applications to take advantage of the color profiles directly from Wayland/Weston.

Student: rfonseca , Mentor: Richard Hughes


The porting has completed and here is the weston color branch github repository.

23.) GXml: easy and ready-to-use

The technical basis for GXml was established over the past two years, and now it’s time to add some finishing touches for a 1.0 release. The main focus is porting an existing application from libxml2 to GXml to drive documentation and bug discovery and produce a series of articles to accompany existing documentation guiding. Time permitting, addition of a SAX parser or an XPath query interface will be prototyped.

Student: Richard Schwarting , Mentor: Owen Taylor


GXml has benefited from Richard in many aspects highlighted in the below list:

  • The autotools build system has improved
  • Documentation is more complete and more accurate
  • Many new examples across most classes, especially for C and JavaScript
  • Many bugs were flushed out and fixed
  • Now has a mailing list (
  • Document child management, node cloning
  • New memory tests
  • New error handling model
  • New memory handling model (fixing leaks and improving performance!)
  • Improved API compliance

24.) Implementation of Gnome Music

The following is the project proposal for the implementation of gnome music. The proposal tries to implement gnome-music at such point, that it becomes launch-ready at the end of the project.

Student: Sai Suman Prayaga , Mentor: Seif Lotfy


Gnome Music 3.10 brought more than we expected and while the application is still not complete, it already looks and works very good. For more details you can read our previous article.

25.) Modular encryption support

My project is to integrate modular encryption into the GNOME desktop. This is partly in response to the security and privacy fundraiser currently going on.  I believe this would solve one part of the puzzle, by allowing users to securely store documents in a way that doesn’t interfere with the user experience. In order to not interfere with the user experience, it should not require a login (ruling out disk/home encryption) and should not require doing anything different once encrypted (ruling out 3rd-party software with poor UX). To achieve this, I am using a Nautilus extension that allows the user to encrypt a folder from the context menu. To access the decrypted contents, the user only has to open the folder, and it will be decrypted on the fly.

Student: Sam Bull , Mentor: Stef Walter


The work is not yet complete but Sam aims to continue working on the support of modular encryption.The first implementation that will be merged in Nautilus is just a few bits and pieces away!

26.) Dual screen capable presentation in gnome-documents

The main idea is to have different view when an external screen is attached. On the presenter screen (e.g. laptop monitor) we have current and next slide, notes/annotations and elapsed time. Of course in the meanwhile on the projector we just have current slide (no annotations!)

Student: sciamp , Mentor: Cosimo Cecchi


The work is complete and the result is show in the below screenshot. Alessandroi has also proceeded with writing an application for editing notes which can be found on this github repository.


27.) Support advanced operations (rebase, format-patch) in Gitg

I will implement a user-friendly interface for important Git functionality in Gitg – the GNOME repository viewer. I will start with “Format Patch” and “Interactive Rebase” – two Git functions which are a part of the GNOME development workflow. This will make the process of contributing to GNOME simpler for new Git users, and productive for seasoned Git users. I will also build some re-usable components will save time while supporting functionality like “Cherry Pick”, “Merge”, “Bisect”.

Student: Sindhu S , Mentor: Paolo Borelli


Gitg did receive support for advanced operations, but a working version that includes this work has not yet been released as the interactive rebase feature user interface needs some polishing. A release is expected during November 2013.


28.) GtkSourceView: add regex search and modernize existing features

The purpose is to improve the developer experience when editing source code. The proposal involves primarily GtkSourceView, but some changes in other places of the stack are planned too.

Student: Sébastien Wilmet , Mentor: Ignacio Casal


The higher-level API for the search and replace has been merged to GtkSourceView and it includes the regex search. Gedit has been adapted accordingly and various bugs have been fixed along the way.

29.) Banshee: Integrate with more REST API Services (SongKick and FanArt.TV)

Detailed proposal for Banshee (GNOME) Idea “Integrate with more REST API Services (SongKick and FanArt.TV)”

Student: Tomasz Maczyński , Mentor: Andres G. Aragoneses


Tomasz managed to complete the writing of two new Banshee extensions that add SongKick and FanArt.TV services to one of our favorite music players.


30.) Add Lua support for Grilo plugins

This proposal is about making possible to write plugins to Grilo in Lua as an alternative to C. This idea was discussed in Guadec 2012 as a good way to spread the adoption of Grilo.

Student: Victor Toso , Mentor: Juan A. Suarez


The work has finished and the code is available, but Victor is not completely pleased with the current state for reasons he explains on his blog.

31.) Support for Wayland in WebKit2GTK+

The goal of the project is introducing support for the Wayland display protocol in WebKit2GTK+ , the GTK+ port of the popular WebKit web content engine that uses the multi-process architecture. The latter, while ideal when a crash occurs in the viewed web page, can be tricky when it comes to displaying the rendered web page under the Wayland display protocol

Student: Žan Doberšek , Mentor: Martin Robinson


WebKitGTK+ 2.2 can be built with Wayland target now. Not everything is fully supported yet, but the WebKit layout tests can be run under the Weston compositor and WebGL content works under Wayland displays too!

32.) GNOME Archives Integration

Upload and download folders without manually creating or extracting archives. Improve archive supports in Nautilus.

Student: 藍挺瑋 , Mentor: Cosimo Cecchi


Gnome-autoar is complete and epiphany, empathy and evolution code is available here. Very few things are left to be done in terms of code writing. Preferences and their dialogs for each affected application are ready to be set and used!


I wish all students good luck with finalizing their projects and a big thank you as a Gnome user. I hope that this experience will be only the beginning of your long lasting contributing efforts in making Gnome the best desktop environment and a thriving community.

The fact that Gnome becomes so much better in so many different sectors and that many new people get involved in the development of our favorite DE during the three months of the summer can be nothing less than amazing!

  We can't watch comments unless G+ provides an API or if you send a notification, e.g +World Of Gnome
     Sometimes is better to place your questions on GNOME Community
  • Eduard Gotwig

    Would be nice to see some of them soon in GNOME 3.10.1 – I would be happy to see the trip planning in gnome maps

  • Matthew Javelet

    I wish chrome would look better in gnome.

  • John

    This is off-topic, but there doesn’t seem to be a way to notify the page mantainer(s):

    The RSS button doesn’t to work anymore. When trying to add the feed, I get XML parsing failed: syntax error (Line: 7, Character: 0)

    • alex285

      Thanks! It’s because of the blank lines on the start of XML Document. I will look on it later!

  • broxen

    I would like #8 as some sort of background option? Would it be possible to do this javascript and extensions? The background could change image depending on location and time of day. Bonus! if it could change to reflect weather.