GSoC/GCI Archive
Google Summer of Code 2012


Web Page:

Mailing List:

GNOME offers an easy to understand desktop for your GNU/Linux or UNIX computer. We also work as an umbrella project for many end-user-oriented applications that people use on their desktop.


  • Ability to save and load virtual machine boxes Implementing save and load the VM will enable the user to save the current state of the VM to an on-disk file. Restoring this file will make the VM continue from where it was left off. Saving the VM and it's state will also provide a way to load the file onto another machine. A part of the proposal is enabling downloadable ready-made VM offering the users remote repository where they could download and use the VM easily.
  • Activity Development for GCompris, especially Music Education This project will contribute several additional activities to the GCompris educational software designed for children. Special emphasis will be placed on music education activities, although other types of educational activities may be implemented as well.
  • Anti malware and phishing daemon for the GNOME desktop The purpose of this project is to bring a daemon to the GNOME desktop to help prevent phishing and malware attacks using the Google Safe Browsing API.
  • Collaborative Getting Things GNOME! GTG provides great user experience for individuals. I would like to implement sharing tasks between users. GNOME will become the first desktop with built-in task sharing. This would made it the desktop of choice for small to medium businesses.
  • Completion of the Gnome Sudoku Vala Port The Gnome Sudoku game, currently written in python, is not up to the standards set out here [1]. My project will complete the Vala port, and make sure its easy and worth to play. [1]
  • Creation of a new library providing models and widgets to display and choose contacts Implementation of a new library providing models and Gtk+ widgets to display and choose contacts that could be used by any GNOME application. This will improve IM/Social features in a lot of GNOME application and use Telepathy tubes.
  • Development of a graphical profiler for GNOME GNOME is currently lacking of a good graphical profiler. My proposal is to extend nemiver by adding a new perspective to add the ability to profile an application with the help of callgrind or perf.
  • Documents: Removable devices support To make GNOME Documents able to manage and view files on plugged in removable devices.
  • Get an useful state to Shotwell Faces tool Last GSoC I started a new feature to Shotwell called "Faces tool", which consist in the ability to mark that a certain person is in a certain photo, and where is her/his face —i.e. the same you can do, for example, in Facebook. And even my GSoC project was successful, the tool isn't included in Shotwell stable because it lacks some interesting functionality.
  • GNOME Clock Work with the GNOME Design Team and Seif Lotfy on GNOME Clock, in order to provide the GNOME community with a clock application. GNOME Clock will allow users to quickly and easily determine the time of day anywhere in the world, helping them keep in touch with family, friends and co-workers. GNOME Clock will also allow users to set alarms so that when time X rolls around they know they need to do Y. A stopwatch/timer will also be included so that users can time themselves and/or others as needed.
  • GNOME Documents UIs for Viewing and Editing of File Metadata Design and implement (1) a UI to view metadata properties for files in GNOME Documents and (2) a UI for the in-place editing of such metadata.
  • GNOME Shell Lock Screen This project is about implementing the designs exposed in, that is, revamping the screen lock by integrating with GNOME Shell.
  • GNUcash Android Application The goal of this proposal is the development of a GNUcash Android application which allows users to track expenses on-the-go and later on import the expenses into the desktop GNUcash program. This will enable users to have more complete oversight of their expenditures which will include expenses which were made in cash transcations. The Android application will be able to export the recorded expenses in the Open Financial Exchange (OFX) which is also supported by the desktop GNUcash for importing data. The proposed GNUcash Android application consists of a main application and an Android widget for quick expense entry. The widget should help reduce the friction to recording expenses by making it faster to record expenses when on-the-go. The proposed app will use the Android design guidelines to provide a morden look while supporting Android API level 8 and above which represents more than 93% precent of the Android install base with access to the Android market [1] . This is achievable through the use of the Android compatibility libraries. [1]
  • GXml and GObject Serialisation This will improve GXml and add support for GObject-XML serialisation. GXml is the product of a 2011 GSoC effort to provide GNOME developers with a more usable XML DOM API than libxml2 provides, but making use of libxml2's comprehensive functionality by building atop it. While GXml is functional and usable, there is a lot of room to expand to make it more appealing, adding features like XML serialisation of GObjects (the main goal) and improving documentation and refining what's already there.
  • Helping on anjuta mades everybody happy Clang is a compiler front-end for the LLVM compiler. It helps to analyse C, C++, Objective C and Objective C++ code and find mistakes just in time. I want bring Clang magic to anjuta.
  • Improve overall Mac OS X port of Banshee Banshee's Mac OS X port needs improvement. There are lots of extensions in the Banshee Communnity Extension repo (BCE) that currently can't be build and/or used on OS X. Furthermore, hardware support for syncing devices is mostly not present on the OS X plattform. Goal of this project is to work on these items, as well as introduce some OS X specific features like integrating Mac's media functions, native file dialogs and others.
  • Integrate GTG to Gnome-Shell I would like to work on GTG software to integrate him to Gnome-Shell. My idea is to improve the user experience by using an extension, notification system, and add some features to GTG. Read my proposal for more details.
  • Integration of multiple theme based activities in the existing GCompris suite Create interactive activities focusing on the science and the miscellaneous sections of GCompris. The project would include two activities theming space, a food related activity and one environment related activity.
  • libosinfo-based express installation for major OSes This project involve improving new libosinfo API for automated installations, porting Boxes to use that and implementing support for Debian, Ubuntu and openSUSE (at least).
  • Lockdown editor A new lockdown editor for GNOME software, which replaces Pessulus and is easy to use for system administrators. It will have presets for common lockdown scenarios, such as kiosk mode. The work will include writing a new lockdown editor and patching software to implement the needed lockdown features.
  • Overhaul the Applications View Overhaul the Applications View: Remove mode switch, only leaving windows mode in the overview and making the apps view accessible in a different manner. Make the apps view paginated, allowing the user to order their apps in pages. The benefit of the pagination over continuous scrolling would be spatial memory of where launchers are. Add keyboard navigation to windows and apps views. This would increase the speed at which users can traverse these views, and has been a much requested feature.
  • Proposal to upgrade the UI of Gcalctool The main goal of this project is upgrade the UI from its current look to a look that is more reflective of the black, white and grey colour set used throughout GNOME. This will not only create a unified experience throughout GNOME, but will make it much more pleasant for a user to use. the base code from the original Fortran translated coding into one that has the various bugs fixed and at the same time changes the UI to one that reflects a more elegant and appealing UI. This is especially important for users to continue to use this application and not abandon it for a potentially better application that may be out there. For the UI change, I will take inspiration from this page: where there is already an image showing the relevant art and the ideal new UI for the application. In addition to this UI change, an optional goal would be to redo the base Fortran translated code by taking inspiratio from the bugs that are mentioned here: and the idea is that by fixing these bugs and changing the UI, there will be a dramatic usability increase. Finally, C and GTK+ will be used to do this from a coding perspective.
  • Refactor and Rework the Task Editor of Getting Things Gnome Over the months of the summer, I plan to take the current Task Editor in Getting Things Gnome and rework it so that it will be faster and easier to work with, while also adding needed features such as being able to type in bold or italics, along with fixing many of the current bugs on launchpad's bug list.
  • Replace lex-bison based parser with handwritten parser in gcalctool The aim of this application is to change current lex-bison based parser with the handwritten parser. As, handwritten parser are much faster and can be ported to other languages without much trouble, this will help in both, making gcalctool fast as well as portable.
  • Revamp of the Activity Journal The proposed project is about combining support for overviewing and re-finding past, current and future user activities in one user interface. Hence, I will revamp and rewrite the current Activity Journal application ( ), which will then be hosted on the GNOME infrastructure. Beyond mapping out a user's past and current doings, the journal's UI-metaphor time lends itself to be further leveraged for reminding a user about upcoming stuff.
  • Smarter Searching in GNOME Shell Make searching from the Overview in GNOME 3 more intelligent. Order results based on source, importance, and frequency of use. Allow external applications to add their content to the search results.
  • Support for Gamepad API in WebKitGTK+ and general gamepad configuration options in System Settings Gamepads are most known as being the preferred way for game interaction on consoles, but are also used in desktop games. A new wave of such games is coming in the form of HTML applications through the use of Gamepad API. To make these applications first-class citizens in the GNOME environment, I plan to add support for said API to the WebKitGTK+ along with enhancing GNOME System Settings to support configuring gamepad devices.
  • Voice Control For Banshee The idea is to add voice control for Banshee media player to improve the accessibility. Many portable media player devices can be controlled using the human voice and it has resulted in the users having a rich accessibility interface. The plan is to let the user do basic controls through his voice which will be helpful for the people who can't use the normal mouse controls