GSoC/GCI Archive
Google Summer of Code 2011


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.


Our code repository can be found here:


  • A Kde Windows Installer using Attica The Goal is to create a fully working installer for Kde apps on windows using the OCS specifications for communication with server side.
  • Ability to reply to/forward HTML email with same format as it was received in KMail KMail is a email client for KDE and the goal has always been to make KMail a program that is beautiful and intuitive without sacrificing power. Currently KMail is having all the basic set of features and a solid framework. But it is lacking a very important and one of the most sought after features (mostly by businessmen), which is the ability to reply to and forward HTML mail with the same format as it was received. So the goal of this project will be to implement this HTML support.
  • Advanced text layout recognition engine in Okular Okular is a universal document viewer which supports a wide variety of document formats. It has some excellent tools to work with. The selection tool of okular is very nice except that it cannot recognize a layout with columns. This project implements this feature to make okular a more powerful tool and ensure a better text selection experience for the users.
  • Akonadi Syncevolution GUI for KDE and integration into Kontact A easy to use GUI for the syncevolution akonadi backend that allows you to sync your PIM data onto a mobile device and a cloud based server
  • Amarok: Amarok Mobile Foundations Amarok has a strong brand and a good reputation as the ultimate music player for GNU/Linux systems. Features where Amarok has been an innovator include web services integration and smart context-sensitive information. This can be taken advantage of to make a successful entry into mobile markets. During this GSoC I would focus on MeeGo, and possibly traditional desktop-derived mobile environments, and I would deliver the foundations for an Amarok player for tablets and handsets.
  • C++-2011 Support for KDevelop After years of work, the next version of C++ has reached FDIS status and will henceforth be known as C++ 2011. It comes with various new features, both syntactically as well as semantically. As compilers support a subset of this standard even today, proper support in KDevelop becomes more and more important. During this GSoC I hence plan to implement the required changes to provide a smooth C++-2011 experience for our users.
  • Context Dependent Speech Recognition for simon The open source speech recognition program simon allows users to interface with programs via speech commands. Currently, the scenarios used to interface with programs can either be activated or deactivated, and they have a single grammar which they follow at all times. Implementing context dependent speech recognition would allow scenarios to be activated, deactivated, or altered based on the current context of the user. This system will help improve performance, accuracy and convenience.
  • Creating a consistent Slide Manager UI in Calligra Stage Slides Sorter, document docker and custom slide show manager. Slides management is a central part of the Stage work flow. Currently stage has three slides management tools: slides sorter view, document structure docker and custom slides show. Each of the above tools, despite having different goals, share much of the functionality and user interface. The aim of this proposal is to improve the usability of Stage slides management, adding greater functionality and consistency while handling slides in each of these tools.
  • Digital Game Distribution Support and Enhancements for Gluon The project aims at taking the Gluon library ahead and adding essential features to its game distribution support as it prepares for its first release. Gluon is a cross-platform free and open source game engine from KDE. It aims to make life easier for game developers by providing a simple but powerful API to handle objects, sounds and input.
  • Fancy Bookmarking for Konqueror and Rekonq Development of a bookmarking tool for Konqueror and Rekonq, which allows users to link web pages to projects, tasks, people, files etc. and hence providing a effective bookmark management system.Nepomuk would be ideal candidate to add these features. Nepomuk has a strong user base and I feel that it would be a great enhancement to Nepouk.
  • Further improve the Vi Input Mode The project aims to thoroughly test all functions, fixing bugs and writing new features for the Vi Input Mode in Kate editor.
  • Implementation of tab grouping in Rekonq using sessions and a panorama view In Rekonq managing a lot of tabs is a troublesome task. This projects aim to make organizing tabs into sessions possible by supplying an attractive GUI called the panorama view. From panorama, a user can load a session [group of tabs], store a session, or modify the tabs in it. This way, a user can organize tabs into sessions like 'study', 'mail and contacts', 'web apps', and 'work', and load and store them individually. It will reduce the hassle of managing many unorganized tabs at once.
  • Improvements in KIO File Transfer My proposal include: 1) Better error handling (not just interrupt tranfer because of any error). 2) Intelligently adding tasks to queue instead of running them instantly (this will highly increase transfer speed when a lot of tasks started). 3) Transferring files and scanning directory in parallel (users will save their time)
  • Improving the user experience in Kiten Kiten is a great tool for japanese language students as it provides you an interface for dictionaries and radical selector. This project goal is to resurrect Kiten as its GUI and most of its code has not been maintained in a very long time, it should benefit from new KDE features as well as update the dictionaries, increase support and improve the user experience. As a heavy user of this amazing software it would be a shame if it disappears because of lack of maintenance/features.
  • Integrating the SMARTS Game AI System into Gluon SMARTS is a Game Artificial Intelligence System that is based on the prospective concept of Behavior Trees. It was designed by developers at the Aalborg University as part of the project called 'Perceived Challenge', and the primary motive behind its development was to integrate it into Gluon. The work of Gluon-SMARTS integration is pending, and this project comprises of several subtasks, which can collectively be termed as 'Integration of SMARTS Game AI System into Gluon'.
  • Integration of kde-telepathy into the Plasma Workspace I want to add a new way of interacting with contacts and the way they are displayed to the user.I first came up with the QML integration idea around my first week in kde-telepathy as the guys were thinking about something new to bring to the chat. Well, I have some good ideas for this
  • Kate Code Folding Kate is a KDE text editor. The goal of this project is to redesign the code folding feature. The actual implementation contains many bugs and is hard to be maintained. I would like to redesign this feature using the knowledge gained from the current implementation and add a new feature as well – code folding preview.
  • KDE Demo Create an application to showcase all KDE technologies as Qt Demo does with Qt.
  • KDE Plasma Educational Desktop Plasma is the desktop environment used by KDE 4. KDE Plasma Educational Desktop will be an enhanced version of the standard KDE Plasma Desktop for use in educational environments by primary school children of 4th grade and lower. KDE Plasma Educational Desktop aims at making learning fun and intuitive for children in a controlled environment provided by their class teacher.
  • KDE Plasma Zeitgeist Journal The scope of this project is to create a functional and appealing plasma applet to view a user's zeitgeist activity journal, to improve KDE's usage of zeitgeist, and to handle the extension of zeitgeist make use of existing nepomuk data, providing seamless integration. Zeitgeist will be doing its search over Nepomuk while using its own criterias for associating and sorting the data, thus Zeitgeist will use Nepomuk as a repository nativley via extensions.
  • KDECore: Support for astronomical calendar systems KDE is unique in the Linux eco-system for providing support for alternative calendar systems, such as the Hebrew, Islamic Civil, and Japanese calendar systems. However, KDE does not as yet support calendar systems that require astronomical calculations, such as the Chinese, Hindu and Islamic Lunar calendars. This proposal aims at proposing a model to implement support for astronomical calculations in different calendar systems and other KDE libraries and applications.
  • KMail, Kopete and Dolphin accessibility The goal of this proposal is to make KMail, Kopete and Dolphin usable by people with assistive needs. This includes correcting qt-at-spi bugs, checking accessibility issues in the applications (custom widgets not accessible, not using color schemes, etc.), and correcting them.
  • Krita: Advanced image selection using SIOX This project reffers to the idea: It is about an advanced image foreground selection tool. I am a computer science student, experienced programmer and I believe I can accomplish this project. My intention is to join an open source project for a long period and Google Summer of Code came as a great motivation.
  • KStars: Printing support KStars currently lacks the ability to create well-annotated finder charts and observation logger forms, which are both features that are very useful for hobby sky-observers. The aim of my project is to implement these features in a way that ensures both simplicity and customizability for users.
  • Making Plasma media center ready for first release This project is from the idea list The idea is to make Plasma Media Center ready for first release so KDE can have a shiny new Media Center with QML UI. People can then use it to relax and take a break from their work, all using KDE on their netbooks, laptops, desktops, or even TVs :)
  • Marble goes Mobile, Take 2 Smarthphones become more and more popular these days. People want to use the same programs as they do on their PCs. There is already a version of Marble for the Nokia N900 (Maemo5), but this is just the very first step and more improvements are needed in order to provide a pleasant user experience.
  • Marble Map Browser elements for Kexi Forms, Reports and Calligra ODF Documents „Kexi is an integrated data management application” as project main page says, in human speech it is database tool which can be used by average Joe without extensive knowledge about programming. Project target is to create sets of plugins for viewing geographical data, beginning from Kexi and ending on every Calligra Suite program that can use flake shapes. Second part of project would be technical blog describing progress and internals of Kexi and Calligra, what may be very helpful for others.
  • Mercurial plug-in for Dolphin A Dolphin plugin which provides GUI to provide integration with Mercurial Version Control System. The plugin would enable user to push, pull, commit, view diffs etc.. through a nice intuitive GUI interface and manage repositories.
  • Metadata Writeback Using Nepomuk The project aims to develop a service that writes back metadata changes to the given file additionally to develop a plugin system to support different file formats.
  • Modularization of KWin KWin is one of the oldest parts of the KDE Plasma Workspaces. During the last twelve years its development focus has undergone a change from a pure X11 window manager to an OpenGL compositor. For the future another important development is emering: X11 will be replaced by Wayland. To make KWin ready for the port to Wayland, its code stack has to be prepared. Not all parts of KWin will make sense in a Wayland environment. Therefore KWin has to be refactored to ease the reusablility of code.
  • Multithreaded Tool Actions System for Krita Krita has two different subsystems accessing the image: tools and updating threads. The update process is safe (no two threads access the same pixel at the same time), but the tools are not owned by the scheduler, so they must use explicit locking to avoid collisions. I want to encapsulate the tools into job objects those will be stored in the same queue as updater's walkers. That will make the system linearizable (by Herlihy) so we'll be able to say "Krita is a truly multithreaded application"
  • nepomuk: project integration This is a proposal for KDE-Nepomuk project called Project Integration. The project is about creating a back-end using Semantic Desktop technologies and a front end for it, which can be used to keep track of different projects the user is working on.
  • OpenStreetMap .osm render for Marble Idea is to create plugin for Marble, that will render OSM data directly, without intermediate rendering server.
  • ownCloud Sharing This project will allow users of an ownCloud server to share files with each other. Currently in ownCloud, users can only access their own data, and have no ability to share their data with the other users. This project will also allow users to share a space for their data in which a group of users have access to the files.
  • Panorama Tool for Digikam (Kipi Plugin) Capturing landscapes isn't always possible with one photo. With the generalization of cameras, more and more people would expect to be able to capture those landscape with their camera with several photos and stitch them later by software. This is what Hugin is doing. However its powerfulness comes at a price: complexity. The goal of this project is to use the tools Hugin is using and develop a Kipi plugin capable of automatizing the stitching process with good results.
  • Podcast Synchronization via The podcast web service is a free, online and open source application that can be used for podcast searching, subscription and status synchronization. By combining Amarok with capabilities, we can give a whole new user experience in terms of podcast for Amarok users.
  • Proper integration of Nepomuk PIMO:Person class into KDE PIM with further Telepathy integration KDE has many really great parts. And this project aims at tighter integration of three of them - PIM, Nepomuk and Telepathy. The idea is to bring Nepomuk's PIMO:Person into PIM and then make use of it by integrating IM capabilities throughout PIM with the KDE-Telepathy project. Conversly, KDE-Telepathy will then gain emailing and other PIM features. All this can later be a showcase of truly integrated, social and semantic desktop.
  • Proposal for digiKam--Clone Tool for Image Editor I'm studying for a master's degree in Zhejiang university. My research interests are in graphical image processing. I'd like to join in the open source.I uses digiKam a lot in my daily life. I did a simple Image Editing software last year and have written a plug-in for photoshop--generat mapping graph according to a picture. I'm familiar with openCV, QT and have a strong background in C++. Looking forward to join GSoC-2011.
  • PSD File import/export Support for Krita The industry standard for raster graphics applications is still Photoshop. This file format is closed. This project will entail bringing together the freely available information on the PSD file format and build an import/export filter upon the existing framework in Krita.
  • QML Port of KDE Plasmoids This project aims at transforming the default KDE Plasmoids which are currently in C++ (using QGraphicsView) to QML/Javascript. This would open the doors to better visual appearance and interaction with the plasmoids. Since QML is a declarative language, the UI can be written with very less code, reducing the maintenance costs. QML is primarily aimed at mobile devices so the QML plasmoids may easily be adopted to mobile devices too. The QML plasmoids would also load faster reducing startup time.
  • QML Qt Components Set The QtComponents project is aiming to provide an api and a series of widget sets completely based upon QML. the actual implementation is platform-dependent, so KDE needs its own platform specific set made with the plasma theming mechanism,for both the desktop and the mobile.
  • QML Video Support For Phonon QML is the hot new way to create awesome applications using Qt. Yet Phonon, the most awesome multimedia abstraction library, does not support video in QML. A situation that definitely needs to change as the maintainer of Phonon would like a good looking video player :)
  • Single login through Integration Create a username mapper with a UI on the identity. Get users to map their profiles on forum,dot,wiki... to map with the identity account. And help them manage it directly from
  • Single-canvas Presentation Mode in Calligra Stage A new mode in Stage to make a single canvas (SVG) presentation: The user can jot down his ideas on a single infinite canvas and mark out sections of the canvas as frames.The presentation will proceed from frame to frame. Different zooming levels can be set for the frames: you can emphasize on a point and then zoom in, to show the finer details, in the next frame. So, you can make the presentation as you think and think as you make and the audience follows your chain of thought when you present!
  • Tagging and Management for Krita Resources To implement Resource management, where we can add new resources, delete old ones, and made changes to existing ones. To implement tagging functionality, which is compatible with GIMP. Using Tagging, we can add new tags to resources, search and filter resources.To implement sketchbook Tagging, where we can change the profiles suitable for ongoing work in Krita.
  • Umbrello UML Modeller QGraphicsView Port Umbrello allows the user to draw UML diagrams. Umbrello was ported from Qt3/KDE3 to Qt4/KDE4 but the drawing functions still rely on the old Q3Canvas. Therefore, this project proposes the port of QCanvas resources to QGraphicsView by refactoring the code. The project also adds a few features, expects to fix a number of bugs and at unit tests & gui test scripts.
  • Usability Survey Framework Surveys are one of many methods used in creating more usable software. Surveys allow designers to collect information about user's experiences and usability problems with software. A Usability Survey Framework would allow designers and developers to create small, custom surveys that can be attached to events or services. Users could subscribe to the Usability Survey Service and opt in to current studies. Survey studies could be one-time surveys, or several survey entries over a period of time.