Guest post written by Jigar Raisinghani, KDE Google Summer of Code 2012 student

KDE, a powerful graphical desktop environment for Unix workstations, started the Google Summer of Code 2012 with 60 student projects, of which 59 were successfully completed. Great efforts made by the students along with proper guidance and assistance by the mentors resulted in this impressive result. Students coming from different countries, backgrounds and interests worked together as a community developing a variety of applications including games, Office suite, social networking, and so on.

This year Google Summer of Code again helped expand KDE both in terms of members and code produced. The outcome of the program was tremendous, resulting in the development of many applications. Lets take a quick look at the 59 projects.

  • For the music player Amarok, Zhengliang Feng integrated spotify, Lucas Lira Gomes introduced functionalities for social music, Riccardo Iaconelli helped improve the user experience, Phalgun Guduthur worked on implementing the semantics and Matěj Laitl worked with statistic synchronization of pluggable devices. 
  • Calligra, the office suite, was worked on by 9 Google Summer of Code students. Smit Patel integrated the bibliography engine along with UI to manage citations in Calligra Words. Shrikrishna Holla implemented wraparound mode, Shivaraman Aiyer added perspective drawing and Francisco Fernandes introduced a sandpainting brush in Krita. Paul Mendez modified shape animations in Calligra Stage, Nityam Vakil improved Open Formula support while Jigar Raisinghani built Pivot Tables for Calligra Sheets. Brijesh Patel improved the saving of charts to Open Document and Abhishek B S improved Formula shape. 
  • From the Accessibility team, Yash Shah helped improve the speech recognition in SIMON using computer vision and Vladislav Sitalo implemented SPHINX support in SIMON.
  • During the summer, the photo management program, digiKam, received attention from A Janardhan Reddy who developed a video slide show generator, Smit Mehta implemented an UPnP/DLNA plugin, Dominic Lyons improved integration of Photivo and Mahfuzur Rahman Mamun introduced face recognition. Islam Wazery revamped the import tool, Dodon Victor ported KIPI-Plugins and libkipi to KDE XML-GUI and Abhinav Badola built the support for video metadata. 
  • For the 2D game engine, Gluon, Vinay Rao implemented a saving/loading game engine state, Shreya Pandit introduced context action based layout and improved the UI in Gluon Creator and Ganeshprasad T P integrated Bullet. Claudio Desideri designed a website that lets game designers using Gluon collaborate on their games and he then integrated it with KDE applications.
  • The text editor, Kate’s VI’s, input was further improved by Vegard Øye, and Maximilian Löffler worked toward making scripting possibilities more user friendly. 
  • On the game development side, Viranch Mehta ported kde game to QML/Qt Quick, Roney Gomes worked towards porting games to a more modern graphics framework and Avnee Nathani ported KDiamond to Qt Quick. 
  • For the IDE, KDevelop, Miquel Sabaté improved the Ruby support and Miha Čančula added functionalities to the template system. 
  • On the education front, Percy Camilo Triveño Aucahuasi with a nearly two year effort, designed and implemented a replacement for KmPlot. Samikshan Bairagya added features to make KStars more usable to beginner astronomers and Rishab Arora improved data storage, logs and added DSO catalogs to KStars. For Marble, Bernhard Beschow introduced an OpenGL mode, Cezar Mocan improved the atlas by introducing Natural Earth Vector Map and Ander Pijoan implemented OpenStreetMap vector rendering with tiling support. Martin Küttler introduced a new interface for Cantor.
  • For the cloud storage, ownCloud, Deepak Mittal spent the summer collaborating inter ownCloud instances and Alessandro Cosentino introduced a feed aggregator. 
  • With Plasma Desktop, Sinny Kumari provided advanced features and enhancements for Plasma Media Center, Martin Klapetek integrated social services with KDE Workspaces, Luís Gabriel Lima ported Plasma widgets from C++ to QML, and Giorgos Tsiapaliwkas worked towards getting the plasmate released. Davide Bettio ported Plasma calendar to QML, Arthur Ribeiro ported the plasmoid’s user interface to QML, Antonis Tsiapaliokas integrated KWin with Plasmate SDK and Amandeep Singh introduced Focus tracking in KWin. 
  • On the social side, Pankaj Bhambhani built facebook integration for microblogging client choqok, Lasath Fernando introduced the message filtering plugin system in Telepathy, and Eli MacKenzie introduced modularized, server aware IRC protocol handling for Konversation.
  • Lisa Vitolo extended Solid API for partitioning and built a Dolphin plugin for using it, Anant Kamath improved hard disk health monitoring and ISO file management features in KDE, Felix Rohrbach wrote the OCS specific JSON parser in Attica and Mailson D. Lira Menezes introduced tile based rendering in Okular page view. In a project continuation from last year’s program, Cyril Oblikov implemented asynchronous errors handling during file transfer.

The first time students see Google Summer of Code as an opportunity to gain experience and contribute to the open source community while the sophomores (second timers) clearly demonstrate the success of the program in retaining students. Students have the opportunity to interact with experienced mentors and mentors get to interact with enthusiastic students, a relationship resulting in a lot of code being written and a beautiful summer for all. Most of the code generated as part of the program is either integrated, under review or being worked upon. The students, as they write themselves, are satisfied by the outcomes of the program in terms of fun, experience and the hefty paychecks. I hope the students stay with the community, keep contributing in the future and, if possible, participate again in the Google Summer of Code program.

By Jigar Raisinghani, Google Summer of Code 2012 Student