Over the past few months, members of the KDE community mentored students as a part of the Google Summer of Code (GSoC). In this annual program, students receive a stipend to write code for a Free Software project, mentored by someone from the project. With KDE participating for the seventh time, students worked on many KDE projects, some of which are already being included in KDE releases. 47 of 51 projects were finished successfully this year. This is the second article featuring students’ achievements in the Google Summer of Code program.
Lydia Pintscher, one of KDE's GSoC coordinators, is pleased with the results, saying, "At KDE, we're thrilled to have been given the opportunity again to work with so many bright and enthusiastic students. We've given them a good introduction to the world of Free Software and helped them see just how much they are capable of when they put their minds to it. I obviously want all of them to stay with KDE and help us create the future. But even if some of them don't, I am sure this Summer of Code made a difference in their lives."
GSoC Projects - continued from Chapter One (link)
The code foundation for KDE’s software was improved by several GsoC projects. Francesco Nwokeka integrated KDE-Telepathy into the Plasma workspace using Plasmoids. He captured the feelings of many KDE contributors, saying that “Nothing is too hard to accomplish if you love what you do.” Daker Fernandes Pinheiro worked on a KDE-specific implementation of QML Qt Components Set for desktop and mobile. Harald Sitter provided QML Video Support for Phonon. Milian Wolff worked on C++2011 support in Kdevelop. Camila Ayres ported components of Umbrello—one of the few Free Software graphical Unified Modeling Language editors—to Qt 4 by refactoring code from QCanvas resources to QGraphicsView. Adrian Lungu made Kate easier for programming by improving its Code Folding processes and algorithms. Viranch Mehta ported default KDE Plasmoids from C++ to QML, moving manipulation of data now done within the plasmoids into the DataEngine.
Code Efficiency Improvements
Arthur Arlt contributed to KWin modularization, cleaning up code, removing broken functionality, and making the code base easier to maintain. Marble, KDE’s virtual globe and world atlas, gained efficiency and usability improvements from Daniel Marth’s work. Konstantin Oblaukhov improved vector rendering—making it faster and prettier, and created an Open Street Map renderer. Both of these projects contribute to the mobile implementation of Marble.
Dmitry Kazakov improved multi-threading in Krita, KDE’s drawing application, leading to more stability and efficiency. He comments, “You always need to think over the design of new systems well before beginning actual coding.” Paul Mendez added capabilities and generally improved slide management in Calligra Stage. Thanks to Siddharth Sharma, Krita can now load PSD (Photoshop) files of any size, 16 bit depth, RAW format, RGB, single layer or base background layer.
Synchronization and Sharing
Lucas Lira Gomes integrated the gpodder.net web services with Amarok podcasting functions, with the idea that podcasts and play status can be synchronized between devices or applications. “You can start listening to a podcast with your notebook, stop to catch the bus, and continue at the same point on any other device that supports gpodder.net web services.” Kunal Ghosh worked on desktop synchronization for ownCloud, KDE’s open source cloud server implementation, to synchronize files on your personal webspace and them available from many devices. Kunal found GSoC useful in giving focus to a specific task, and had a “first hand experience of how to approach any open source project to minimize the amount of time wasted and maximize the productivity and satisfaction.” Michael Gapczynski created a generic library to allow different ownCloud users to share files.
Please visit Chapter One and Chapter Three of the KDE Google Summer of Code Achievements.
A description of all GSoC (and Season of KDE) student projects is on the 2011 GSoC status report page.