GSoC/GCI Archive
Google Summer of Code 2014


License: GNU General Public License (GPL)

Web Page:

Mailing List:

KDE is an international technology team that creates Free Software for desktop and portable computing. Among KDE's products are a modern desktop system for Linux and UNIX platforms, comprehensive office productivity and groupware suites and hundreds of software titles in many categories including Internet and Web applications, multimedia, entertainment, educational, graphics and software development. KDE software is translated into more than 60 languages and is built with ease of use and modern accessibility principles in mind. KDE4's full-featured applications run natively on Linux, BSD, Solaris, Windows and Mac OS X. Due to our commitment to our technology platform and to our open-source heritage, KDE libraries are available under the LGPL versions 2 and 3 at a minimum, and KDE applications are available under the GPL versions 2 and 3 at a minimum.


  • [digiKam] Adding a quick access to colors and labels in dedicated tree-view In digikam found that it takes too much time and too much steps to find and collect items with specific labels like “Rating, Color, and Picks”, So this motivated us to make it easier for the user to collect all this from the database through a tree-view by selecting his/her wanted labels and clicking a single button.
  • Activities - The second burst of Plasma [Plasma, KActivities, Baloo] We have implemented the 'Core Desktop' for Plasma Next. But we can not stop there.

 There is still a lot of work that needs to be done. While the idea of activities and its underlying infrastructure provides much, we failed to properly expose them to the average user. This proposal is about bringing activities to a new level, to make them truly useful and properly integrated with the environment.
  • Add support for importing tables from LibreOffice Base to Kexi Kexi is an open source visual database creator.It can be used for designing database applications, inserting and editing data, performing queries. Kexi also provides very important functionality of migrating from other database sources. It lacks support for importing Open Document Format database files (.odb) generated by LibreOffice Base. It is very important for Kexi at this time to have functionality, as more kde users switch from other open source solution i.e. LibreOffice Base to Kexi.
  • Adding astrophotographs browser and Enhancing features in KStars KStars is desktop planetarium application under KDE Education Projects, which has many advanced features, some of which require some attention before they’re usable. First part of project is to extend existing community feature i.e. image search from . The second part is to enhance Moon Phase Calendar and Almanac tools by making them more informative. Also, the Solar System Viewer tool will be ameliorated by adding minor bodies (asteroids) and control features.
  • Adding support for Geogebra files in KIG Both KIG and Geogebra are popular applications for Geometry learning. Despite the fact, that both have been designed to serve the same purpose and are very similar in features/functionality, currently Geogebra worksheets cannot be opened in KIG. My project aims at providing support for Geogebra native format in KIG enabling users to open Geogebra worksheets in KIG.
  • Address book based on KPeople KPeople is a contact aggregation library for KDE. This project aims in building a wigdet apps to use the functionality provided by kpeople. The application emphasis on showing available details of person like recents emails, recent chats, shared notes, files, events.
  • Advanced features and enhancements for Kanagram Though Kanagram has got a vast userbase of its own ranging over literary enthusiasts of all stretches of age, some significant changes and modifications may be brought in the form of implementation of a text to speech daemon, a fresh and colourful user interface using QtQuick framework, a wiki link feature and an enhancement in the self-assessment tool, aimed at qualitative enhancement and expansion of the present userbase.
  • Akonadi Commandline/Shellscripting Interface Develop a command-line interface for performing various tasks on Akonadi’s data like adding / deleting and searching for items like notes, contacts etc. and which would provide a replacement for existing non-Akonadi command-line applications that provide similar functionality.
  • Caligra Sheets The proposal checks the feasibility of adding few features to Calligra Sheets and gives an overview of how these features can be implemented.
  • Cryptography in Trojitá In days of international surveillance the protection of private data and communication is as important as never before. Especially mail, which passes many server and most of the time via unencrypted links, requires end-to-end encryption and authentication. The two most common methods for mail encryption and verification are PGP and S/MIME. Trojitá doesn't support neither the one nor the other. In this years Google Summer Of Code I want to change that and implement a support for PGP and S/MIME.
  • digiKam: Port Greycstoration CImg interface to GMic Starting with version 1.3 CImg dropped support for this set of algorithms and no longer can be linked as shared object. Due to this changes, developers were forced to use other solutions, such as GMic. This proposal is aimed to migrate digiKam from CImg to GMic.
  • Editing mode for Polygons inside Marble A complete Editing Mode is extremely needed inside Marble. Having implemented a tool of such high demand in any exploring software would fill a gap in Marble's accessibility and make it more reliable. As a result, the satisfaction of the actual users will increase significantly and it will undoubtedly help popularize Marble and provide the basis of easy integration on a large scale with other international standards.
  • Gluon Player to Qt5 with friends, activities and real-time chat My dream is to port Gluon Player to Qt5, add OCS support for friends and activities. Integrate a real time chat using XMPP and (if there's some extra time) prepare a showcase game.
  • Implement an outliner for Calligra Author The main aim of the project is to create an outliner (special tool to help planning and writing novels) as a part of Calligra Author application.
  • Improve KDE Reports This project aims to extend the KDE Reports app which was developed from scratch during last year GSoC. I'd like to complete the test suite, upgrade the app and extend it to include more reports from other sources including forums and social media.
  • Improvement Of Brush Module in Krita Painting is central to Krita. So This project focuses on three key new features : Dirty Presets ( Saving tweaked settings temporarily for presets so that they don't have to be changed ), Cumulative Undo/Redo ( Similar actions are grouped together for undoing/redoing), Master Brush Engine(A new brush combining various capabilities of various brushes in one master brush)
  • Improving QML/JS Support in KDevelop KDevelop has a plugin providing language support for QML and Javascript, with small tools helping the user to modify QML files. This project is about improving the language support (fixing bugs, handling imports and providing auto-completion for the possible components and their properties) and adding a property editor and a QML previewer in KDevelop.
  • Includes and defines improvements for KDevelop The goal of this project is to add a proper support for defining macros and adding include directories to the parser manually. Actually with recent commits we can already do that: Still, it doesn't solve all the issues and there are a lot of things that can/should be improved.
  • Integrate Plasma Media Center with Simon to make navigation easier User can currently navigate with keyboard and mouse in Plasma Media Center. Now, I will add Voice as a way for a user to navigate and use PMC. This will be done by integrating PMC with Simon.
  • Integrating KIPI Export Plugins Directly In BQM Of digiKam The idea of this project is to drop the current way to use the KIPI export tool, which is via a separate dialog box and to integrate those KIPI tool components in Batch Queue Manager (BQM). All the available KIPI tools that will be exported successfully, will be visible in the “Control Panel” section of the BQM dialog box and these exported KIPI tools will be used like any other BQM tool.
  • Integrating Plasma Media Center with Plasma Next and porting to KF5 and Qt5 Plasma team is working on next major version of Plasma Workspaces named Plasma Next. Plasma Next is based on Qt5 and KDE Frameworks 5. This project aims to port Plasma media center to KDE Frameworks 5, Qt5, QtQuick2 and create shell implementation based on Plasma Next. It can leverage various new features of Plasma Next like shell switching on the fly, shell package, look and feel package and others.
  • Interactive Tours in Marble Tours are a set of related places with supporting media, visited in a defined timeline, which can be played back, and are useful for a range of tasks, like highlighting places of interest for sightseeing, or taking a trip of the highest skyscrapers of the world, or even showing historic events and political changes happening over decades. Even though the Marble library currently supports these use cases but the UI does not reveal all the features yet. This project is about making them possible.
  • KDE SOLID iOS Integration kdeconnect is a library which allows us to fuse our devices with KDE . For now, we already have an android integration which allows users to get all the device notifications from their KDE notification center, synchronise the clipboard etc. It's a project highly and seamless integrated with KDE in order to simplify our daily tasks. The main purpose of this project is to integrate the iOS platform with the Plasma desktop using libraries like libimobiledevice and kdeconnect.
  • KDE-Edu/Analitza Enhancements The aim of this proposal is to improve KDE-Edu/Analitza math library by adding five features.
  • Lyric Support Improvements Improving the Lyrics Support of Amarok: (a) fetching timestamped lyrics and adding more providers (b) creating a lyrics display applet that scrolls accordingly, and highlights the current playing line
  • Make libbluedevil async Libbluedevil is a Qt library for accessing BlueZ. It internally uses D-Bus, which is asynchronous. However, most of the current libbluedevil API is synchronous. The goal of this project is to introduce a new asynchronous QBluez library (libqbluez).
  • Making Krita Animation usable Krita Animation is trying to give animation capabilities to Krita. This proposal describes how Krita Animation can be made more usable and stable, so that it becomes capable of drawing animations. Plus it describes addition of more animation tools which will help along in the creation of animations.
  • Marble Game The project aims to design educational games using Marble( ).The user can click anywhere on the map and the details of the clicked division will be displayed in a pop up window. To test what have you learnt, the game will offer different types of quizzes ( e.g, identify countries on map, identify flag etc ). Find more info on my blog
  • New SMTP Layer integrated with Trojita’s Streams Layer; Improve UI The project aims at improving the SMTP layer by rewriting the classes to better integrate with Trojita's lower classes' capabilities and give features that accommodate more use-cases. A second goal is to improve UI of the desktop application, and write many missing features essential for the application to be more usable and a step closer to version 1.0
  • Off-the-Record support for Telepathy OTR is a cryptographic protocol with focus on instant messaging conversations, which provides strong encryption, peer authentication, deniability and perfect forward secrecy. Therefore it is a perfect solution to guarantee privacy, what nowadays is a crucial issue not only for political reasons. Despite being added to many communicators, Telepathy still lacks support for it.
  • Plasma Media Center - DVB Support Plasma Media Center is a shell for multimedia support in plasma desktop. It already has many features including audio reproduction, image viewing, etc, but is missing TV streaming! libVLC supports DVB playback, so goal of this project is to implement libVLC's DVB support to Plasma Media Center to enable DVB streaming.
  • Port of GCompris in Qt Quick GCompris an educational software suite written in gtk must be ported Qt Quick.
  • Port Plasma Active Shell to libplasma2 and QML2 The main goal of this proposal is to port the Plasma Active Shell to the libplasma2 and to QML2. Right now the Plasma Active Shell is using some of the old api of kactivities which needs to be ported. Also libplasma and QML must be ported to libplasma2 and QML2.
  • Port Plasmate to kdevplatform My proposal is to port plasmate into kdevplatform in order plasmate to take some of kdevplatform's features and also to make some of the plasma tools(like plasmoidviewer) as kdevplatform plugins which will be possible to use them from kdevelop.
  • Porting KDE Games to KDE Frameworks 5 The project aims at porting the KDE Games module and KBounce, Naval Battle and KMines completely to the newly released Frameworks 5.
  • Production-ready Clang integration in KDevelop KDevelop's C++ language support is currently built upon a custom parser living in the KDevelop repositories. The codebase for this parser is huge, it consists about 50 000 LOC. Maintaining this bulk of code requires a lot of experience which only a few people possess. This won't really change in the future, so we try to get rid off this maintenance burden by integrating Clang, which does the heavy-lifting for us.
  • Semi-Automatic Generation of Language Lessons for Parley My proposal aims at implementing a semi-automatic generator of language lessons for Parley. Currently, all the lessons have to be made manually by the creator, which includes adding translations in multiple languages, sound, images, etc. This semi-automatic generator uses the KexiDB libraries to store data after fetching it from online resources, such as OmegaWiki, WikiMedia etc. Should time permit, another feature I plan to work on is extending kvtml to support a container for media resources.
  • Sound Visualization And Sound Effects In Artikulate When a user records his/her own voice through a microphone invariably there is noise in the recorded audio and it becomes harder to analyze how well the user is faring with regards to improving pronunciation. So the aim of this project is to have a noise filter implemented within Artikulate and also a way of visually representing user's performance.
  • Telegram Network Support for Telepathy My proposal is to create Telegram Network connection manager and to make it work with KDE Telepathy. I think that it's important to have safe IM service and Telegram looks like such one, so, I want to make it available for as many people as I can. I believe in power of FOSS principles and I'm delighted with Telepathy, that's why I have no doubt about how to do it.