GSoC/GCI Archive
Google Summer of Code 2014


License: GNU General Public License (GPL)

Web Page:

Mailing List:

GNOME offers an easy to understand desktop and applications for your GNU/Linux or UNIX computer.


  • [Notes] Port Notes to WebKit2 and Implement mail as storage Port Notes (and possibly other gnome apps using WebKit API) to WebKit2 API and Implement e-mail as storage.
  • A PKCS#11 module to fetch X509 certificates for Evolution This project is about creating a simple PKCS#11 module using Evolution's addressbook as a backend. The module will enable Evolution to encrypt email to contacts using its certificate stored in the addressbook.
  • Add snapshotting and cloning of virtual machines to Gnome Boxes Although a nifty application, Gnome Boxes currently lacks some 'advanced' features like creating snapshots of VMs and cloning VMs. This is a proposal to add both of these features to Gnome Boxes, possibly extending libvirt-glib along the way.
  • Add support to via points in Gnome Maps Gnome Maps is an on going development maps application for the Gnome Desktop Environment. In the latest release has been added the routing feature but a must have feature is missing: people can’t add intermediate points. The main goal of my proposal is to add support to via points in Gnome Maps. Mattias Bengtsson (Gnome Maps) and Peter Karich (GraphHopper) are the mentors for this project.
  • Advance Search and Remote Resources in GNOME Music Currently GNOME Music has a simple search where it just compares the search string with the song's title and artist, and it could only play songs that are saved locally. This project aims to modify GNOME Music to make it follow the planned mockups for advanced search, make search more complex and precise, and add capability to play music that are located in remote sources.
  • An eBooks application based on Documents Implementation of an eBook application for listing, searching and reading eBooks, called gnome-books. 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.
  • Automated tests for applications in GnomeContinuous Enable GNOME to detect bugs early and improve the overall quality of applications. Several projects have started using dogtail scripts for tests, this idea will help new projects to adopt tests, improve them and make use of CI in GNOME. Project Mentors :Vadim Rutkovsky, Vitezslav Humpa and Vladimir Benes
  • Automated tests for applications in GnomeContinuous Dogtail is a strong tool for testing UI of applications. With addition of good test's layout we are able to develop automated UI tests easily and fast. Such tests can be simply extended or changed as the applications in GNOME Continuous are supposed to be modified quite frequently. According to that, the bugs in GNOME Continuous can be detected in very early stages of development.
  • Banshee: Implement Bluetooth Synchronisation, Revamp MTP Support The proposal has two facets; first, we plan to implement wireless digital audio player synchronisation leveraging gnome's bluetooth support to provide users with seamless integration of their device and desktop environment. The second is to ensure that users of ubiquitous Android devices enjoy an experience free from drama, as most recent Android versions preferrably connect via Media Transfer Protocol.
  • Banshee: Integrate with AcoustID I'm going to integrate Banshee application with AcoustID. That means, I will write an module, which allows to user automatic fix metadata of his multimedia collection.
  • Boxes - Hardening sprint, express installation improvements & ISO download The aim of this project is to improve the stability and to make Boxes even more time saving as it is now. In order to achieve this I plan to widen the spectrum of supported operating systems/distributions for the express installation. Furthermore I will add an ISO downloading functionality which allows the user to provide the data needed for express installation before the download completes. This project also includes a hardening sprint for Boxes.
  • Boxes: When creating a vm, offer to attach more than one monitor When connecting to a vm that has multiple outputs, show the primary display by default, and offer a 'monitor switcher', which could be similar to the workspace switcher in gnome-shell, or could just be a menubutton with previews. Allow to 'bind' an external display of the host to a vm in the display configuration. In this case, put up a fullscreen window on the external display showing the secondary output of the vm, while the normal boxes window would continue to show the primary output.
  • Evince: Post-it Notes-like annotations improvements Annotations are a very useful feature on pdf readers, but the way they are implemented in evince is far from ideal. With this project I expect to be able to fix its main problems and provide annotations in a user-friendly way.
  • Evolution: Complete instrospection support for EDS With introspection working we can improve our tests (that can be written in another languages than C) and make the calendar backend usable for another projects again.
  • Getting Things Gnome!: Revamp the backends experience The status quo of GTG heavily depends on generic backend & local file for third party services. Class generic backend is inherited by backends for services. This makes it quite difficult to add new services & maintain the core modules. My project aims to introduce several features that will make GTG, developer & user friendly. These include detaching backend services from generic backend so new & customized services can be added easily & also improvements in sync providing flexibility to users.
  • Geysigning - GNOME ideea for Google Summer of Code 2014 At this moment signing OpenPGP keys is a tedious proces. It requires the signing party to download the key, verify its integrity, verify the information on the key being correct and finally redistribute the signed public key. The application will provide users with a simplistic set of tools that will integrate seamlessly into the desktop and which will ease up the process of signing Open PGP.
  • Gnome shell applications animation improvement Implement a animation for launching the app picker and an animation when a application is launched, so the user receive feedback of what is happening and improve the overall look of gnome-shell.
  • GNOME-Sudoku Modernization GNOME's Sudoku game has too many complicated features, and it doesn't follow modern GNOME design principles. This proposal is aimed to completing the port to Vala, implementing the redesign mockups proposed, modernizing and simplifying the game.
  • GNOMECAT Last year I started a translation application that should substitute GTranslator as the official GNOME Computer-Assisted-Translation tool. The application is not finished and some parts that are implemented need a revision. This year I want to finish the application implementing a redesign of certain parts of the application, writing the parts that are not implemented yet and fixing the bugs that the application has.
  • Implement a image-sequence (stop-motion) element in Pitivi. Implement a feature in Pitivi to allow to the user generate a image sequence clip from a list of images and manage the image sequence clip as if it was a regular video clip. This feature would allow the user to generate a stop-motion video, for example.
  • Implementation of remote resources in GNOME Music Gnome Music currently supports browsing and streaming music present on local resources i.e the resources that are stored in our hard drive. One should also be able to play the music files that are stored in the cloud which is the main motivation behind the project.
  • Improve Annotation and Form Support in Evince The goal of this project is to improve annotation and form support in evince. The annotation window in the existing text (post-it like) annotations will be reworked to address the issues with the current GtkWindow implementation. The ui for annotations will be changed to allow easy adding of annotations. Further, form support will be improved.
  • Improve REST API Services integration in Banshee I will finish the two plug-ins, to make them production ready and polish their UI features. These plug-ins use REST Services (SongKick and FanArt.TV). And before going to release, they should be supplemented by important features: caching, geolocation, and better visualization for the FanArt grid.
  • Improve Video Transformation and Viewer Interaction in Pitivi Pitivi lacks a rotation transformation needed amongs others for the Ken Burn effect. I propose implementing a new OpenGL based transformation effect. Furthermore I want to complete the current work on the transformation user interface, and extend it for rotation and plugin ability, so that Pitivi plugins can create UIs for effects in an abstract way. Since this work is related to the viewer, I want to implement a color picker user interface and use the alpha plugin for chroma keying.
  • Maps: Foursquare and Facebook integration This summer I intend to implement one of the proposed works for GNOME Maps, namely, Foursquare and Facebook check-in integration. User will be able to checkin to places and see last known checkin location of their friends. This will require some work in both gnome-maps and gnome-online-accounts components. Also, if I have time, I'll work in the GtkPopover integration with GNOME Maps marker, to have a more content rich and nice app.
  • MusicBrainz support to EasyTAG EasyTAG is a Music TAG Editor. It currently uses CDDB to get TAGs of songs. CDDB is old, closed and fragile. MusicBrainz is a much better alternative. It is open source and is constantly being updated. This project includes adding support of MusicBrainz to EasyTAG using libmusicbrainz5 and other libraries.
  • Photos: Browse DLNA media servers There are lots of gadgets around us that are Digital Media Servers (or DMSes) - cameras, smartphones, tablets, laptops, network-attached storage, etc.. Content hosted on them can be accessed from other devices, such as game consoles, home theatres, stereos, video displays and TVs. With this project, we want to turn GNOME Photos into a Digital Media Player (or DMP) that can browse DMSes on a local network.
  • Photos: Browse PicasaWeb content The goal of the proposal is to write a miner for PicasaWeb and add it to GNOME Online Miners. The Picasa support in libgdata will be used to write the Miner. The Miner will add PicasaWeb to the list of cloud services a user has access to in GNOME Photos and other apps using GNOME Online Miners.
  • Points of Interest and User Check Ins on FourSquare & Facebook My proposed project is to implement Point of Interest (POI) (similar to ) functionality with FourSquare and Facebook integration for User Checkins for GNOME Maps according to the mockups at The two things Points of Interest and CheckIns are closely related. Having them would be a good addition to GNOME Maps.
  • Port Four-in-a-Row to Vala Improve the AI of four-in-a-row game an port it to Vala. The project aims to make the game more accessible for its audience and porting should make future maintenance easier.
  • Recurring tasks support GTG is an very used application and focuses on usability and ease of use. It has an important lack of adding recurring/repeating tasks to it. The idea is to have a support for adding repeating tasks in one go. This is a feature that would complete the transition of many users to GTG and also attract many users to this project.
  • Replace calculation back-end of Calculator with the GMP library The calculation back-end of GNOME Calculator has many limitations and is very old and buggy. In this GSoC I want to replace it completely with the GMP library, which has many benefits: a lot of calculation bugs get fixed, it allows arbitrary precision arithmetic (no 9 digit limit anymore!), and the calculations are faster. This also makes maintaining and contributing to GNOME Calculator easier.
  • REVAMPING THE UI OF GNOME-CALCULATOR AND PORTING HISTORY VIEW Gnome-Calculator is a default application in a Desktop Environment that solves mathematical Equations.This projects aims at revamping the User Interface of the Calculator and allowing the user to customize the User Interface .We also aim at improving the functionality of undo button which as of now does not function as expected on repeating previous calculations and also porting the History View code into the vala code of the Calculator.
  • TV Shows support in Videos and MusicBrainz in Music with Grilo While browsing TV Shows in GNOME Videos it is possible to fetch and display metadata using the thetvdb web service. The same applies to GNOME Music, while browsing content it is possible to fetch and display metadata using the MusicBrainz web service. This can be done through Grilo, a framework focused in making media discovery for applications.
  • Weather integration with geocode-glib and geoclue Currently in libgweather, the suggestions list of locations in location-entry box totally depends on static database of locations. The idea is to reduce dependency on static database and expand the range of cities available in suggestion list of location-entry.