GSoC/2014/Ideas
See also: GSoc Instructions, Last year ideas
Guidelines
Information for Students
These ideas were contributed by our developers and users. They are sometimes vague or incomplete. If you wish to submit a proposal based on these ideas, you may wish to contact the developers and find out more about the particular suggestion you're looking at.
Being accepted as a Google Summer of Code student is quite competitive. Accepted students typically have thoroughly researched the technologies of their proposed project and have been in frequent contact with potential mentors. Simply copying and pasting an idea here will not work. On the other hand, creating a completely new idea without first consulting potential mentors is unlikely to work out.
When writing your proposal or asking for help from the general KDE community don't assume people are familiar with the ideas here. KDE is really big!
If there is no specific contact given you can ask questions on the general KDE development list [email protected]. See the KDE mailing lists page for information on available mailing lists and how to subscribe.
Adding a Proposal
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
When adding an idea to this section, please try to include the following data:
- if the application is not widely known, a description of what it does and where its code lives
- a brief explanation
- the expected results
- pre-requisites for working on your project
- if applicable, links to more information or discussions
- mailing list or IRC channel for your application/library/module
- your name and email address for contact (if you're willing to be a mentor)
If you are not a developer but have a good idea for a proposal, get in contact with relevant developers first.
Ideas
Your Own Idea
Project: Something that you're totally excited about
Brief explanation: Do you have an awesome idea you want to work on with KDE but that is not among the ideas below? That's cool. We love that! But please do us a favor: Get in touch with a mentor early on and make sure your project is realistic and within the scope of KDE. That will spare you and us a lot of frustration.
Expected results: Something you and KDE loves
Knowledge Prerequisite: Probably C++ and Qt but depends on your project
Mentor: Try to see who in KDE is interested in what you want to work on and approach them. If you are unsure you can always ask in #kde-soc on Freenode IRC.
Web
KDE Multimedia
Amarok
digiKam
digiKam is an advanced digital photo management application for Linux, Windows, and Mac-OSX.
Calligra Words
KDE Telepathy
Marble
Marble is a virtual globe and world atlas — your swiss army knife for maps. Find your way and explore the world!
Interactive Tours
Brief explanation: A Tour is a set of related places along with supporting media (text, images, audio, video). Tours can be viewed (playback): The invididual places are visited in a defined timeline. They're useful for a wide range of tasks, like showing an interesting hike along with panorama pictures, highlighting places of interest for sightseeing or showing historic events and political changes happening over decades. The Marble library has been designed to support these use cases, but the user interface does not reveal all the features yet. This project is about changing that.
Expected results:
- Extend the existing Tour widget for animated tour playback
- Improve the usability of the Tour widget
- Support interactive elements in tour playback
- Implement time support for tours for different time ranges (from eras to years to days to minutes to milliseconds)
- Add support for recording tours
- Enhance the screencast feature to generate videos from tours.
Optional:
- Extend Marble's owncloud synchronization feature for uploading tours to owncloud
- Add tour viewing support to the Marble owncloud app
- Implement tour viewing in the QML version of Marble
- Provide tours for existing map themes to highlight features of them
Knowledge Prerequisite: C++ and Qt. Would-be applicants are expected to work on junior jobs (possibly related to the project). Try to find your way into http://marble.kde.org/dashboard.php#contributors and solve as many tasks and bugfixes as possible.
Mentor: Dennis Nienhüser and other Marble developers.
KStars
KStars is a very powerful tool for anyone interested in astronomy. It is part of the KDE Edu suite.
Krita
Kexi
Kexi is a visual database creator. It can be used for designing database applications, inserting and editing data, performing queries, and processing data.
More info: Developers' wiki, web site for users, mailing list, IRC channel: #kexi and #calligra on Freenode.
Calligra Plugins
Calligra is an office suite with lots of different applications with an user interface that is easy to use, highly customizable and extensible.
More info: web site for users, mailing list, IRC channel: #calligra on Freenode.
Gluon
KDE Workspaces
KDE Games
About KDE games: http://games.kde.org/
Trojitá
Trojitá is a fast IMAP e-mail client. Since late 2012, it is a part of KDE's extragear. The project focuses on delivering a usable, fast, standards-compliant, cross-platform and reliable e-mail client which can scale from cell phones to huge e-mail archives without annoying slowdowns.
KDENetwork
Solid
Solid is the KDE sub-community of everything related to Hardware support.
Website - Mailing list - IRC channel: #solid on Freenode.
Simon
Simon is a speech recognition suite.
Blog - Mailing list - IRC channel: #kde-accessibility on Freenode.
Jovie
Keyboard Layouts
Keyboard layouts in KDE allow user to use multiple keyboard layouts and switch between them. It consists of keyboard configuration module (in System Settings), keyboard layout widget/applet, and keyboard layout daemon.
KDevelop
KDE PIM
The KDE PIM community work on a set of libraries and applications for Personal Information Management, including email, calendaring, contacts, and feed aggregation.
OpenHolidays
Brief explanation: The KHolidays library provides KDE applications with information on public holidays around the world, however the file format is very hard to use and maintain and the library features are very limited and restricted to Qt users. The goal of the OpenHolidays project is to develop a new open standard and data repository that can be used by any project that needs the data. See http://community.kde.org/KDE_PIM/KHolidays for more details.
Expected results: Define the new JSON file format and port the existing data files to the new format. Develop a shared Qt-only library to parse the holiday files and provide access to them with a iCal style event-based api. Implement an Akonadi resource to access the data. Extended goals: Develop a JavaScript library to use the files. Develop a web site and web service at openholidays.org to provide online access to the data files.
Knowledge Prerequisite: C++ and Qt for core goals, JavaScript and web services for extended goals.
Mentor: John Layt and other KDE PIM community members.