Google Summer of Code 2013 (GSoC) brought fifty budding new shoots and branches to the mighty KDE family tree, and the canopy of warmth and love offered by the community helped them blossom and bloom in the three months of the program. With a few snips, a little trimming and pruning, they have learned, innovated, created and contributed to one of the largest free and open source communities in the world, and have developed software that will touch many people around the world. They now have their roots firmly planted in the KDE community with the successful completion of their projects and are ready to shelter budding shoots to come!
GSoC students and mentors shared thoughts about their awesome experiences:
- Matěj Laitl (who is working on Amarok) joked that what he loved most about GSoC was that he got to spend his summer flipping bits instead of burgers!
- Akshay Ratan (Plasma Media Center) shared, "The satisfaction of working on a real life project and writing code for software which would perhaps be used by millions of people is indescribable. The entire journey was truly remarkable and cannot be forgotten."
- Lukas Appelhans (Muon) said, "It's refreshing to see that one is able to create a fixed project in a set timeframe, something which I always felt being hard to achieve!"
- Albert Vaca (KDE Connect) felt that he learned a lot throughout GSoC and was happy to work with such awesome mentors and believed that without their help and advice the project wouldn't have been possible.
- Yiou Wang (DigiKam) said, "I first saw the GSoC poster in 2012 but at that time I didn't believe myself to be qualified enough to participate in it. But this year, my final year in college, I had made up my mind and this entire journey was a great learning experience for me!"
- Andrei Duma (Marble) said, "It has been an amazing summer during which I've learnt so much. I have evolved from a web newbie to a web enthusiast and had the chance to meet great people."
- Claudio Desideri working on Gluon as a part of GSoC said, "I should be glue to the great work done in all these years by the Gluon team in various parts of the project." This along with "the possibility to learn new things, work on so many parts of a project, with so many technologies" kept him motivated!
- Utku Aydın discovered something interesting during GSoC, "...that one can have a love–hate relationship with C++."
- Lydia Pintscher, KDE's main driving force behind GSoC, said, "I'm thrilled to see our community take such a large number of young bright people by the hand. Google Summer of Code and KDE have made such a profound difference in the lives of the students of previous years. I am looking forward to seeing where this year's students are going and how the projects they worked on are going to turn out."
Students and Mentors at Akademy 2013 (click for larger)by Martin Klapetek (CC BY)
Oindrila Gupta worked on Artikulate, the KDE pronunciation trainer. Artikulate is still under development, but she, along with an OPW (Outreach Program for Women) student, has already accumulated recordings and translations including support for Polish and French languages, and is also implementing GHNS (Get Hot New Stuff) in the program. Artikulate is intended to revolutionize the learning process for new languages. These two students plan to introduce this addition to the KDE umbrella of projects that will be released as a part of KDE Edu.
Artikulate (click for larger)
The students working on Plasma are bringing about amazing additions and new features such as the porting of plasmoids to Plasma 2, which was worked on by Heena. Plasma 2 will facilitate creation of fluid User Interfaces and the efficient handling of back-end implementation. Jan Grulich worked on the touchscreen device adaptive NetworkManager applet and network settings module for Plasma Active. Plasma/KWin Shell switching and conditional component loading which includes dynamically loading shells and components based on the environment was a major contribution from Ivan Čukić. Michael Bohlender modified Kontact Touch email by implementing a User Interface/User eXperience rework and porting it to Plasma Active Components. Martin Bříza prepared the polkit agent and wrapper libraries in KDE/Qt for future Qt5 usage and to make it fit better in KDE Plasma Workspaces.
Simple Project web interface (click for larger)
The web projects saw Ahmed AbouElhamayed working on the web interface for a simple project report, which provides information about KDE projects in a single place, along with the display of statistics and graphical reports, eliminating the need to gather this information from several different sources. Chandan Kumar worked on a Localization Team Management Tool that handles localization (translation) team management tasks such as app booking and the review process. The KDE Localization website has been integrated with KDE Identity to provide a unified authentication system for all KDE localizers, along with the inclusion of a booking system for all translators to request or submit a file for translation.
Exciting New Features
David Rosca worked on Zeitgeist and ported libqzeitgeist to libzeitgeist2, which includes direct database access as a significant performance boost. Luke De Mouy wrote a new Operational Transformation-based change tracking back-end for Calligra and worked with OASIS to help advance the change tracking specification in the Open Document Format (ODF). Denis Steckelmacher implemented a new query parser for Nepomuk based on lexing and parsing instead of regular expressions to facilitate the parsing of more complex and human-friendly queries and searches; he also implemented an input widget that allows users to enter queries that are syntax-highlighted and auto-completed. Henry de Valence rewrote the data processing for KStars using OpenCL. Claudio Desideri wrote a QML version of the Gluon desktop player and integrated it with Simple Open Collaboration Services (OCS) server.
KDE Multimedia had several GSoC projects. Nikolaos Chatzidakis implemented mpris2 support in KMix2. Now users can control any audio player which supports the mpris2 implementation right from their audio mixer. Akshay Ratan made enhancements to the Plasma Media Center by having a keyboard navigation scheme so that it can be operated by the keyboard alone. He also implemented features such as the addition of a Dropbox plugin and polishing of existing online services. Konrad Zemek rewrote the statistics importers based on the existing StatSyncing framework for Amarok 1.4 and Apple iTunes, and created new statistics importers for Amarok 2.x and Rhythmbox so that users can easily synchronize personal track metadata (like playcount or user rating) between Rhythmbox, iTunes Clementine, Banshee, and Amarok. Tatiana Gornak rewrote the Audio CD Collection code in Amarok to replace the deprecated framework, which provides better support for audio CDs in Amarok. Anmol Ahuja is revamping the Amarok scripting interface and implementing cool new Amarok features. Matěj Laitl worked on Media Transfer Protocol (MTP) support functionality in Amarok, simplifying it and making it compatible with future improvements in the Linux MTP stack, while adding new features like on-the-fly transcoding.
digiKam Image Editor port to Qt4 (click for larger)
Yiou Wang ported DigiKam Image Editor canvas classes from Qt3 to Qt4 model/view implementation. Gowtham Ashok worked on the image quality sorter to allow for categorizing pictures based on quality. Saurabh Patel created a kipi export plugin to upload photos to Google Drive and Dropbox. Nhu Dinh Tuan worked on Exiv2 Cloud Ready Project which includes implementation of bidirectional (read/write) support for http, https, ftp and ssh for Exiv2. Soumajyoti Sarkar worked on extending Digikam’s ExpoBlending tool into an HDRI (High Dynamic Range Imaging creation tool which gives an HDR view of the blended image of the stack of bracketed exposures captured through a camera. Mahesh Hegde extended the support of Exiv2 to write metadata within video files for better video management in Digikam as well as any other application using Exiv2. Veaceslav Munteanu is implementing an image tags manager. Sayantan Datta developed a Local Adjustment Tool that allows users to make localized edits to specific user-defined portions of the images.
Sayantan Datta lightning talk at Akademy 2013by Samikshan Bairagya (CC BY)
Fresh and New
Sven Brauch implemented a collaborative text editor based on KTextEditor and kde-telepathy. Anant Kamath developed a feature to send SMS messages using ModemManagerQt and Telepathy and to manage SIM card contacts using Telepathy. Alexander Mezin worked on better touchpad support by implementing a separate system settings module for touchpad configuration and creating a plasma applet that allows touchpad enabling and disabling. Giorgos Tsiapaliokas added enhancements to the bodega content system (for Plasma Active) such as ratings functionality for assets in the bodega-server, a comment system, and support within clients for collections. Denis Kuplyakov ported KReversi to QML/QtQuick from QGraphicsView to facilitate easy maintenance. Pavol Rohár integrated Trojita in KDE along with new plugins.
Better touchpad support (click for larger)
Krita, Step, Android
Somsubhra Bairi worked on animation support in Krita by adding a timeline interface to create/edit animation and to store it in a new format, and added new animation specific tools as well. Sahil Nagpal improved the filter module of Krita and added new filters such as Color Balance, Spot Blur, Match Color, Wavelet Decompose Filter, Screen Gradient. Lukas Appelhans extended Muon to different platforms. Albert Vaca Cintora is working on communication between a user’s Android phone and their KDE desktop, to allow new features such as desktop notification on receiving a new message, syncing of photos over WiFi or pausing music automatically during a call. Aniket Anvit worked on enabling support in Step for simulation of friction and the creation of pulleys. Frame-Change and Back-Simulation features along with improvements in Step graphics have also been implemented.
GSoC 2013 brought a lot of new features to Marble. Andrei Duma and Utku Aydın worked on Marble’s syncing capabilities by integrating it with ownCloud which will let Marble users store their data on their ownCloud servers and synchronize across all devices. Adrian Draghici added support for GroundOverlay rendering and developed a visual way to edit KML files. René Küttner implemented an OpenGL SceneGraph structure that will allow the abstraction of actual graphics scenes from the rendering back-end within Marble as well as facilitate the grouping and rendering of objects in 3D space.
A Wide Variety of Projects
Marble meets ownCloud (click for larger)
Antonis Tsiapaliokas worked on rewriting KWin Desktop Effects using QML2 with the inclusion of Qt Quick Controls and various other components from QML Multimedia. Shivam Makkar worked on the generation of a preview of the selected keyboard layout on the specified keyboard model. Mohamed Anwer worked on porting showfoto thumb-bar to Qt4 Model/View and adding many new functions. Filipe Saraiva worked on improving the backend to python scientific programming in Cantor along with the adding of features such as syntax highlighting, dynamic keywords, variable management and many more. Jaydeep Solanki worked on improving the ePub rendering in Okular and provided some usability enhancements as well. Punit Mehta worked on improving the Application Actions, Persistence file and Plot Dictionary support as well as improving the Khipu UI and code base so that it can be officially released by the end of the GSoC term.
A big thank you to Google for being the official patron to young students and for supporting the growth of open source communities around the world. Even though KDE has been a part of GSoC since its first ever season in 2005, each year brings many surprising projects and fresh enthusiastic minds. During these three months of hard work, GSoC students maintain their liveliness and are unstoppable. Their time with the KDE Community helps to shape their minds and attitudes, provides delightful memories and creates wonderful experiences. It helps them learn and grow, and perhaps even helps to provide a new sense of freedom, opening possibilities for many more people around the world. The KDE Community, the committed efforts of these talented young people and the experience, knowledge and guidance of their mentors are inspiring examples of the power of free and open source software.