Google Summer of Code and KDE have been going hand in hand since quite a while now. The community has been responsible for initiating young students to the world of FOSS and giving them a first-hand experience of real world programming, while they hack the summers away on projects that they love under the guidance of mentors who add to the newbie’s skills and understanding of coding and give it an entire new definition. So; three months of summer turn out to be the most productive ones for students, the mentors, the KDE Developer community as well as each and every KDE user who gets to experience the first hand awesomeness of all the hard work and efforts put in by the newest additions to the KDE community.
Here is a glimpse into all that happened and all the exciting work to come your way in the form of the 42 successful student projects for GSoC 2014 with personal quotes and experiences shared by the students about what they loved the most and what they got to learn during GSoC.
Student Project Details
Abhijeet Nikam worked on Active Mail Project which involved the re-implementation of the UI of the present mail composer in QML via creation of an API, thereby successfully simulating the touch experience. Pertaining to his experience he shares, “You get to do something important and the amount of effort your mentor takes to guide you is amazing. I learnt so much from Michael. You just start becoming a part of the family! All that I learnt: from my code style, to making commits, Qt-QML programming, writing a wiki or discussing the implementation - and there's still so much more is owed to GSoC. Your mentors make you learn a lot!”
Abhinav Gangwar created a Marble based Geography educational Game with basic political map integration and he feels that, “The best thing about GSoC is getting guidance from really talented and experienced, not to mention extremely helpful, people. Discussing plans for new features or current issues and getting feedback on your patches for mistakes I couldn't even think of was pretty awesome. To sum it up, I enjoyed it all.”
Ahmed AbouElhamayed worked on the KDE Reports Test Suite, improving its performance with a better structure for saving data and producing reports and also the added facility of generating more reports from newer sources. He says, “Getting to do what I love and learning by doing and facing real problems and the joy of solving them after worthwhile effort is the best part.”
Amarvir Singh worked on Semi-Automatic Generation of Language Lessons for Parley.
Anuj Pahuja worked on porting KMines, KNavalbattle, KReversi, KBounce along with libkdegames to KDE Frameworks 5 and QtQuick2. He loved, quote, ‘Interacting with great developers, constantly learning new things and realizing that your code would be used by people all over the world!’
Avik Pal worked on Sound Visualization for the user’s performance and added a noise filter to Artikulate as well.
Bhaskar Kandiyal worked on Akonadi Commandline/Shellscripting Interface for accessing/modifying the Akonadi datastore and also wrote documentation and man pages for it.
Calin Cruceru implemented polygon editing tools to help users mark specific places with advanced customization in Marble. He feels, “GSoC helped me meet people I share interests and passions with. I loved the interaction with my mentors, ever eager to answer my questions and to share interesting things from their past experiences with me. Meeting my mentors in person at Randa Meetings 2014 and hacking together on Marble perfectly highlights the best of GSoC. It changes one's life by introducing them to such a great community. All of us have worked on personal projects, school assessments, but working within a community is so different and the journey taught me many valuable aspects useful to my career in the future.”
Claudio Desideri worked on porting Gluon Player to Qt5 and added a friend and activity system on the OCS server thus enabling real time chatting between players using XMPP protocol and QXMPP library. He feels,” I love GSoC because I can work with technologies like Qt and QML that are all open. This seems to be like a small factor, but it's really important to me to work with open source because I get to learn, understand, modify and reuse code. And of course there's the community. Oh I love KDE people very much. Kudos to everyone for making this community so great and perfect!”
David Rosca worked to make libbluedevil async, the main objective being to create a new asynchronous Qt Bluez wrapper library.
Denis Kuplyakov implemented an outliner for Calligra Author and used openDocument format in conjunction with RDF-metadata. He feels, “I learnt many things, wrote quite some code and I hope the users will love my changes. I also learned to use Unit Tests.”
Ivan Čukić worked to bring about activities to a new level, to make them truly useful and properly integrated with the environment for Plasma with a new activity switcher on the path to implementation.
Kevin Funk toiled on the Clang language support plugin in KDevelop to make it feature compatible with the current C++ language support plugin which contains a self-written C++ parser.
Mohit Goyal implemented Dirty Presets, Locked Settings in Presets, Cumulative Undo/Redo in Sessions and a Master Brush to encompass all the existing Brush Engines as a part of the Improvement Of Brush Module in Krita Project. Mohit said that he loved -”The fact that I can ask anything, anytime to any of the awesome people - developers and artists. Just the day before, my mentor Dmitry taught me about templates and shared pointers in C++. He gave me two books to read and some code to play around with and refactor to suit the designs mentioned in the books. That is something that we don't even get to know about in college. Also; the fact that users get to use your implemented features/bug fixes directly is cool too! After implementing my first feature - Dirty Presets - I realised that having a design in mind from the beginning is useful. Before this I always used to start off coding with a half-baked idea in mind. But now, I’m focusing more on the design aspect before actually stepping into code. A sound design will always create sound code is my biggest lesson from GSoC.”
Nilesh Suthar implemented a widget app for an Address book based on KPeople showing recent details of people like emails, chats, shared notes, files, events. Nilesh thinks that, “GSoC is awesome because I get to learn new things from my mentor Martin. My work gets quickly reviewed and I get very useful suggestions from him. During GSoC, I improved my communication skills and have a better understanding of KDE projects now.”
Rupanjana Mitra added the splitter feature, spell check, highlighting capability for changed cells and merging documents to Calligra Sheets. She says, ” I got to speak to a lot of people who really know how to get work done and the team work is great. I learnt that you have to keep on searching and trying. Things do happen but it takes work! My mentor and developers have really guided me step by step, and the more I delved into things, the huge Calligra suite started becoming more interesting. I got to learn quite a bit about frameworks and how to rightly utilize documentation. I’ve really learnt how to coordinate and learn, ask pertinent questions and garner help. “
Sanjiban Bairagya implemented the Interactive Tours feature in Marble. He feels,” The best thing about GSoC other than the fact that it can be done entirely from home, and any time during the day, is that you get so much hands-on experience on almost everything related to coding, and you get to learn so much more. You get to interact and work with people who’ve created entire softwares, and who are so much more knowledgeable than anyone, something which people rarely get the advantage to experience. I learnt how object oriented technology can be practically applied step by step using Qt, to create wonderful stuff. Working with my mentor is a pleasure. I am getting to learn how to create code, how to optimize it, how to test if it's correct, how to design a plan, and everything that is required. Official communication is an important part of GSoC and it has changed me tremendously as a person itself. I personally consider myself to be a lucky guy to have chosen Marble as my project because my mentor Dennis Nienhüser and the others, are among those people who will never put you down. And that in turn gives you the motivation to work even harder. The kind of real-world experience I’m having currently in GSoC is helping me build up my concept in object-oriented programming more and more, and I'm sure this will help me later in future in every related field.”
Sergey Kalinichev created a framework that provides unified access for project parsers to all types of include directories/files and defined macros for KDevelop.
Veaceslav Munteanu ported Greycstoration CImg interface in digiKam to GMic containing image processing algorithms that are easy to use and integrate.
Wenchao Li worked on the Calligra plugin for drawing variable thickness lines. He feels,” Communication is quite important. I'm trying to share more about my experience and ask more questions when I meet problems. I also learnt how other talented people code from the code base and follow the coding style.”
Yang Qiao affiliated with the KDE Solid iOS Integration project which allows seamless fusion of your iDevices with Plasma desktop environment to simplify daily tasks like Ping, Sharing Photos, MPRIS, Clipboad Synchronization, Battery Report, Mouse Pad, Calendar events/Reminders/Contact Book synchronization and much more. He says, “I’ve been getting to know more and more about useful libraries, tools and am inspired by others ideas. It's quite a pleasure to learn, design and develop such a cool software for the community and meet experienced developers.
Thank You Google!
A very very big thank you to Google for making the dreams of so many students come true and for encouraging them to work on such awesome features that enrich the user experience of proud KDE users around the world.