GSoC/GCI Archive
Google Summer of Code 2015


License: GNU General Public License (GPL)

Web Page:

Mailing List:

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


  • Add image viewing widget to GTK+ Quite a few GNOME applications are displaying images and allowing to zoom, rotate, etc. them so it would be beneficial for GTK+ to have a widget to do that job built-in.
  • Android/Gnome synergy : Creating a real interaction between PC and Phone I find that creating a synergy between PC and phone in a open source and Secure way would really be a benefit to Gnome's User. Nuntius will not just be intended to be a notification system relay, but a real tight connection, which could be used in many ways. For example, you will be able to read/write sms directly from the pc, or easily share files between them. It comes from a simple base but can be improved widely with any idea we want to add.
  • Automated tests for Gnome-logs Write automated dogtail and behave tests for Gnome-logs functionalities, and add more unit tests to test the code coverage, and to find out more tests that can be added in future. All the UI tests, and possibly the unit tests, would eventually be made into installed tests.
  • Boxes - Hardening Sprint, GtkAssistant and MIME-types Integration The goal of this project is to polish Boxes to make it as close to perfection as possible. To achieve this, I'll: - port its installation wizard to GtkAssistant and polishing it, - improve its usage of MIME-types, - try to find as much undiscovered bugs as I can, - polish the GUI and get rid of as much small bugs as possible in the form of a hardening sprint, - add tests for the bugs I fix.
  • Develop The Java ATK Wrapper This project aims tol bring java accessibility up to standard allowing the Orca Screen Reader's ability to function fully for use with java applications and reducing headaches for the GNOME accessibility team. It improves the standard of GNOME’s accessibility overall, enhancing its status as a viable alternative to proprietary software for disabled users and community contributors, alike.
  • Disable USB on lockscreen The project aims to protect you from malicious USB device. If someone will try to connect a USB device with ​unknown descriptors ​(your PC has not seen them before), then that port will be blocked and the attacker will have no chance to steal/destroy your data through USB ports. Under the guidance of Tobias Mueller, the final product of the project will bring a more secure environment for users and will put GNOME on a higher position on the security domain.
  • Evolution configuration EExtension for ActiveSync My name is Oliver Luo. I’m a student from Peking University and major in computer science. I don’t have much experience as a contributor in the open source world, but I learn quickly and have the necessary programming skills required by the project I proposed to. I’ve been communicating with Mr. Woodhouse, as my potential mentor, about this module, Evolution-ActiveSync, and made a detailed schedule with his help. I’m digging into the project now and really hope to get this chance.
  • Finishing the port of F-Spot to use GTK3 In October 2013 Stephen Shaw and some F-Spot contributors started the work to port F-Spot from using deprecated GTK+ 2 to GTK+ 3. This represent a huge amount of work in the case of F-Spot but it would be a great step to maintain F-Spot codebase up to date. So this project is mostly about finishing that work to have F-Spot running only GTK+ 3 code.
  • Gedit code-analysis plugin using coala The aim of the project is to make a plugin for gedit which can do static analysis on code and make these visible to the user (and if possible, auto-correct). coala, the code-analysis application provides a framework for static analysis along with modularized analyzers called bears. In the project, coala will be extended to support dbus outputs and gedit-code-assistance will be configured to allow coala as an additional backend.
  • GNOME GUI for coala. “coala is a simple COde AnaLysis Application. Its goal is to make static code analysis easy while remaining completely modular and therefore extendable and language independent”. The goal of my proposal is to implement a GUI for coala and presents an easy to use interface to the user. It has the ability to make coala configuration files to trigger runs using them. It will also show the logs. It will be implemented using PyGTK3.
  • GNOME Keysign - make it GNOME-ready GNOME Keysign is a project that got started as an idea for GSoC 2014 in the last spring and it stands as an application meant to be used by people who wish to exchange OpenPGP keys fast and safely, and to extend Web of Trust. This proposal is about working on remaining issues with GNOME Keysign such that it becomes user- and GNOME-ready. The focus will be on moving off of weird dependencies, add support for internationalization, and implement a more secure file transfer.
  • Implement additional event sources for GNOME Shell's Time & Date drop-down GNOME's design and implementation of event & notification management has changed recently but few event sources like birthday reminders and weather notifications are yet to be implemented according to the new design. In this project, I aim to implement those additional event sources. I will also look into the possibility of integrating music controls, which earlier used to be there as special notification but was removed in the new design.
  • Implement GnuPG pinentry program instead of Gnome Keyring GnuPG agent GNOME Keyring GnuPG Agent is currently incompatible with newer versions of GnuPG, it is not capable of providing all the functionality expected by GnuPG and ends up degrading some functionalities. This project is about making them compatible, so that GNOME Keyring can manage GnuPG passphrases again. The proposal is to implement a pinentry, a dialog that allow GnuPG to prompt for passphrases, that can search and store passphrases in keyrings, and prompt for it if not found.
  • Implementation of gnome-document collections dialog GNOME started its process to revamp its UX with the 3.x era. Since this process started the GUI and the way it interacts with the user has been improved iteration after iteration. At the time the GNOME HIG guidelines are stable, but some modules need more love to be up-to-date to the new mockups. One of these is gnome-documents with its new collection pattern.
  • Improve Banshee’s Mac OSX support and revamp the UI This proposal is about improving Banshee’s mac osx support and bringing back and improving the lightweight alternative UI ‘cubano’. This envolves updating the existing clutter bindings for C# and port the existing code to the new bindings.
  • Improve drive and network management Implement a new drive and network management dialog that replaces the current "Browse Network" and "Connect to Server" items, as well as update GtkPlacesSidebar interface and behavior to fit the proposed mockups.
  • Make use of phone as a GPS device (AKA GPS sharing) Currently GeoClue relies heavily on Geolocation to find out location. Since most of the computers doesn't have GPS, it would be beneficial for us to be able to share location. This project focuses on ability of GeoClue to receive location information from more accurate devices. We'll focus on location sharing from Android to GeoClue and GeoClue to GeoClue. If time permits we'll look into iOS application too.
  • Nibbles: Modernization The ultimate goal of my proposal is the modernization of GNOME Nibbles. It’s one of the few games that have not been yet revamped as part of the Games Modernization Initiative. The idea is to port as much of the game as possible to Vala, using the same MVC design pattern that stands at the base of the rest of GNOME’s games.
  • Polari: Make progress on various bugfixes and enhancements Polari is an IRC client for GNOME. During the internship I will add enhancements and fix bugs, based on a list to improve the chatting experience GNOME for contributors and users alike.
  • Re-design of Getting things GNOME My project is aimed at re-designing the GTG app in order to deliver the most modern features such as Header bar, App menu or Stack Switcher by using GTK+. Moreover, while working on the design features, I will do a thorough code review and refactor some parts of code in order to release an enhanced version of GTG at the end of the summer.
  • Refactor a gstdataprotocol library and create GStreamer's debugger GStreamer is powerful video framework. Unfortunately, it's not possible to debug GStreamer-based applications very easily. Obviously, GStreamer has logging system, but user don't have an access for it when pipeline has been run on external device. Moreover, there is no possibility for watching buffers or events, which going through pipeline. My idea is to create client-server tool, which allows user debug his GStreamer's pipeline, reading logs, spying buffers, events or queries.
  • UI Improvement and New Features Implementation for Gnome-Logs Gnome-Logs is a viewer for the systemd journal. It's still heavily under development and not published with the Gnome Desktop Environment yet. The application is not very mature and some parts need further improvement and revision. I want to improve the application by implementing several new features, improving UI and fixing bugs that the application has, so that Logs can be published with Gnome Desktop Environment much sooner and more Gnome users can benefit from it.