Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects. The applications have been evaluated and the accepted work proposals have been announced so the work has already begun! Let’s take a look on the 29 things that GNOME users should care about.
1.) Replace lex-bison based parser with handwritten parser in gcalctool
2.) 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.
3.) 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.
4.) Completion of the Gnome Sudoku Vala Port
The Gnome Sudoku game, currently written in python, is not up to the standards set out. My project will complete the Vala port, and make sure its easy and worth to play.
Student: Chris Mentor: Thomas Andersen
5.) 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.
Student: doshitan Mentor: Rui Matos
6.) 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.
7.) 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.
Student: Fabien Parent Mentor: Dodji Seketeli
8.) Documents: Removable devices support
To make GNOME Documents able to manage and view files on plugged in removable devices.
9.) 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).
10.) GNOME Shell Lock Screen
This project is about implementing the designs exposed in this website, that is, revamping the screen lock by integrating with GNOME Shell.
11.) 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.
12.) 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.
13.) 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.
14.) 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.
Student: Jovanka Mentor: Zeeshan Ali
15.) 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.
16.) 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.
Student: Matilda Bernard Mentor: Bruno Coudoin
17.) 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.
18.) 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.
Student: Moritz Lüdecke Mentor: Johannes Schmid
19.) 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.
Student: Ngewi Fet Mentor: Muslim Chochlov
20.) 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.
21.) 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.
Student: Rūdolfs Mentor: Ryan Lortie
22.) 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.
Student: sscheel Mentor: Luca Invernizzi
23.) 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 ( https://live.gnome.org/GnomeActivityJournal ), 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.
24.) 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.
25.) 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
26.) Get a 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.
27.) GNOME – Epiphany Browser Synchronization
Users today are accessing the internet through a growing number of devices and computers on a daily basis. As the number of regularly used devices continues to increase, maintaining a consistent state amongst all those devices is an expanding issue. The goal of this proposal is to implement an extensible synchronization API for Epiphany that is data storage agnostic. The first implementation will be synchronizing Epiphany’s bookmarks and history using Firefox Sync Service.
28.) Add synchronization to Epiphany, the GNOME web browser
The purpose of this project is to add synchronization of bookmarks, passwords, history and tabs to Epiphany, the GNOME web browser. Epiphany will be able to synchronize with a Mozilla Sync compatible server and thus will be able to synchronize with Firefox. This goal will be achieved with security and privacy respect in mind.
29.) 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.
Student: Žan Doberšek Mentor: Carlos Garcia Campos