GSoC/GCI Archive
Google Summer of Code 2011

GNOME Project

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.


  • Add OTR support to Telepathy/Empathy for XMPP Off-the-Record is a cryptographic protocol designed for instant-messaging which tries to mimic real-world conversations warranties, providing secure end-to-end communication through encryption, peer authentication, perfect forward secrecy, and deniability. This is not only import for people living in places were their basic privacy and freedom of speech is threatened by governments, but also for common people looking for a way to guarantee privacy on their conversations.
  • Add the ability to search for tasks in Getting Things Gnome Project that aims for a more functional and interactive GTG, with smart search capabilities and integration on gnome-shell
  • Adding Positional Tags to Shotwell Offer the possibility of not only tagging entire photos, but also tagging people or objects in them --plus face detection using OpenCV and integration with Shotwell's publishing system.
  • Anjuta as an AVR development environment Create a great AVR development environment for GNOME by integrating avr-gcc, avr-gdb, simulavr and avarice into Anjuta, and displaying register and pin statusses in an extra window. Also provide a nice graphical frontend for avrdude, an open source AVR programmer.
  • Braille Concept On GCompris My tasks during google summer of code would be to develop an engaging user-experience by extending GCompris to kids between the age group(2-10) letting them to explore a variety of interactive activities theming braille.
  • Cheese integration with Empathy. Background substitution plug-in First proposal is to have in Empathy as much as possible of what’s available in Cheese : create an avatar from Cheese, use a subset of Cheese as the video source in Empathy (with effects too :) Second proposal is a Background substitution plug-in.
  • Document and Activity awareness in Gnome-Shell Integrate a zeitgeist based activity journal into gnome-shell.
  • Fast keyboard operation for Anjuta Problem description After the discussion with my mentor, I chose to work on making Anjuta faster to operate using the keyboard. As for now, many of the main menu items have keyboard shortcuts and many things are doable only by mouse. Problem solution Researching and analysing the most used features and check if the default keyboard shortcuts are convenient for them, or if they have a keyboard shortcut at all, and then assigning better or new shortcuts to them.
  • GDom, a GObject DOM API for accessing and manipulating XML objects GDom will provide a GObject-based implementation of (initially) a subset of the standard DOM Level 1 Core API.[1] It will follow GNOME conventions and make use of GNOME libraries, such as GLib, to provide a naturally-integrating DOM library for GNOME. 1.
  • Getting Things GNOME! - rewrite liblarch library for managing directed acyclic graphs Getting Things GNOME! is a powerful software for managing personal tasks. It supports many features. Its components must be very flexible to support all of these features. Unfortunately, GTK TreeWidget is not and liblarch was created but it needs to rewrite and separate from GTK as much as possible. I want to rewrite liblarch that way during the summer.
  • Give GNOME a first class presence on the internet This is a plan to work in several parts of the GNOME websites and make them an organized and interesting way to get all kind of information around the project. This plan consists of some small tasks to create new features for, to make all the subdomains equally design-wise, to reorganize and to create a new subdomain in GNOME website that will keep track of what happens in the community.
  • GObject property binding support in GtkBuilder and Glade GObject property binding (GBinding) is a very useful tool for GTK+ application development as it allows the definition of several kinds of basic interactions between UI widgets in a clean, declarative manner. In order to expose this relatively unknown feature to developers and make its use as convenient as possible, this project aims to extend Glade with an easy-to-use interface for creating and editing property bindings as well as saving them as part of GtkBuilder files.
  • GStreamer-Editing-Services implemented in Pitivi. Implement the GES library in Pitivi, starting with three fundamental objects, the GESTimeline, the GESTimelinePipeline and the GESPitiviFormatter, to achieve a first functionnal version.
  • GVFS AFP Backend GNOME supports a great assortment of network file systems through the GVFS project. It however doesn't support the AFP protocol. This makes interopability with devices that export such shares suboptimal. Therefore I'd like to use the opportunity that GSOC offers to implement an AFP backend in GVFS so that gnome users easily can access files from such shares.
  • Integrate Telepathy into Evince A use case: The user is involved in a webconference and using Evince locally. He would like to share the file with the conference. Evince would send the file via File transfer to the conference attendees, opening Evince on their desktops. These Evince instances would be controlled by the local Evince instance. Actions performed on the local Evince instance would be sent via DBUS and then via Telepathy Tubes to the other evince instances.
  • Layout Manager for Nemiver Implement a layout manager, mutiple static layouts and one dynamic layout to Nemiver.
  • libpeas plugin store and integration Add a plugin store to libpeas' plugin manager that will also allow users to find and install plugins easily. Port Rhythmbox to use libpeas and integrate libpeas into gitg.
  • Location-aware GNOME Shell GNOME is made of people, collaborating from all over the world, on different schedules. My goal is the implementation of the "Locations" concept of GNOME 2 into the Shell, starting with a multi-timezones clock, and eventually weather display.
  • Making GCompris sound more Musical Creating activities for music learning by adding a music oriented API for GCompris . Activities like Sing-along where the musical notes are translated to a position of a ball on the screen, makes learning fun and easy. Rhythmiks consists of pressing the keys according to rhythm. Rhymey an activity for kids to learn rhymes, Virtual Piano with three octaves mapped to the keys in the computer keyboard serves as a recreational and learning activity.MuSynth-to translate the textual notes to songs.
  • Making GTG talk fluently to more Backends Getting things Gnome, at present, is a simple task manager, with added multiple backend support for other online and offline apps such as Twitter, RTM, GNote, etc. My project focuses on adding diverse web based backends for different use cases to GTG. Specifically, I’ll be adding support for Google Calender, Tracks (web based, self hosted GTD application), Github Issues, Bitbucket Issues and Redmine.
  • Message Tray for 3.2 Since there are many features planned for GNOME 3.2 to improve on GNOME 3.0, the next step would be to come up with the designs for relatively important feature implementations and getting ready for the next release. This project aims at implementing features as per the priorities set for GNOME 3.2 staying tuned with the GNOME Shell Team’s design and development efforts.
  • Onscreen Keyboard The onscreen keyboard is currently a long-term project within the GNOME shell team that is dedicated to the task of being able to perform text entry without access to a physical keyboard. The project attempts to enhance user experience by also providing additional features, such as input completion.
  • People place for Gnome Shell We aim to create a “People panel” for Gnome-Shell that will show the user’s contacts list and a list of his recent conversations. These can be ordered by frequency or recency, as well as searched, and will allow for the user to launch new conversations with his contacts directly from Gnome Shell itself, whereupon they will be handled by the user’s preferred Telepathy client.
  • Porting Jokosher to PyGI and GTK+3 I will port Jokosher from PyGTK code base to PyGI (Python GObject Introspection) and new GTK+3 toolkit, fixing PyGI bugs and rewriting custom widgets for GTK+3. Additionally, I also will work on better Jokosher integration with GNOME 3 environment.