GSoC/2012/Ideas
See also: GSoc Instructions
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
How to find ideas? To see previous Project ideas, see: 2011 ideas. Obvious sources of projects are the bugs database, the forum, and your list and IRC channel ideas.
Amarok
Amarok is a powerful KDE based music player for Linux and Unix, MacOS X and Windows with an intuitive interface. It makes playing the music you love and discovering new music easier than ever before - and it looks good doing it!
Website - Mailing list - IRC channel: #amarok on Freenode.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
digiKam
Photo Management program
digiKam project web site - Mailinglist - IRC channel: #digikam on Freenode.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
KDE Edu
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
KDevelop
KDE-based Integrated Development Environment, specializing in c++ support, but including a powerful generic framework (definition use chain) which makes it possible to relatively easily support multiple different languages.
Website - Mailing list - IRC channel: #kdevelop on Freenode.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
KDE PIM
KDE PIM is the interest group working on applications related to personal information management, e.g. contacts, calendar, mails, etc.
There are interesting projects on all levels of the software stack: libraries, application porting, new applications, access to online resources, etc.
Have a look at last year's ideas as well.
Website - Project Wiki - Mailing list - IRC channel: #kontact and #akonadi on Freenode.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Calligra Karbon
Karbon is a vector drawing application with an user interface that is easy to use, highly customizable and extensible.
Web - Mailinglist - IRC channel: #calligra on Freenode.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Calligra Words
Web - Mailinglist - IRC channel: #calligra on Freenode.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Calligra Krita
Krita is a KDE program for sketching and painting, offering an end–to–end solution for creating digital painting files from scratch by masters.
Mailing-list: https://mail.kde.org/mailman/listinfo/kimageshop/
Project Page: http://www.krita.org/
Irc channel: #krita on irc.freenode.net
Forums: http://forum.kde.org/viewforum.php?f=136.
Wiki: http://community.kde.org/Krita
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Calligra Stage
Stage is an easy to use yet still flexible KDE-based presentation application.
Mailing-list: https://mail.kde.org/mailman/listinfo/calligra-devel
Project Page: http://www.calligra-suite.org/stage/
Irc channel: #calligra on irc.freenode.net
Forums: http://forum.kde.org/viewforum.php?f=203
Wiki: http://community.kde.org/Calligra/Stage
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Calligra Plugins
As Calligra is quite powerful it is easy to add plugins to it that then can be used by all Calligra applications.
Mailing-list: https://mail.kde.org/mailman/listinfo/calligra-devel
Project Page: http://www.calligra-suite.org
Irc channel: #calligra on irc.freenode.net
Forums: http://forum.kde.org/viewforum.php?f=203
Wiki: http://community.kde.org/Calligra
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
KWin
KDE's window manager
Techbase page - Mailinglist - IRC channel: #kwin on Freenode.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Nepomuk
Website- Documentation/Howtos - Ontologies - Mailing list - IRC channel: #nepomuk-kde on Freenode.
(Also see the Nepomuk techbase page for a long list of Nepomuk-related ToDos and ideas.)
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Plasma
Website - Mailing list - IRC channel: #plasma on Freenode.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Phonon
Abstraction library for sound and video support. Used by KDE notifications, Amarok, Dragon Player and Qt Software.
Website - Mailing list - IRC channel: #phonon on Freenode.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Kate
Kate is a powerful programmer's editor.
Website - Mailing list - IRC channel: #kate on Freenode.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Rekonq
Rekonq is a web browser for KDE based on WebKit. It first focuses on being a light, fast & clean way to access to net. Its development is doubly based on using the new amazing features offered by the WebKit rendering engine and on the rock solid network KDE technologies.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
ownCloud
An open personal cloud which runs on your personal server. It enables accessing your data from all of your devices. Sharing with other people is also possible. It support automatic backups, versioning and encryption.
Website - Mailing list - IRC channel: #owncloud on Freenode.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
KDE Usability
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
KDE SDK
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Okular
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Gluon
Gluon is a Free and Open Source framework for creating and distributing games - supporting the flow of the idea all the way from the author to the player of the finished game, and back.
Contacting the Gluon team (irc, email etc)
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
Telepathy
Telepathy is a cross-desktop framework for real-time communication and collaboration - think IM, Voice/Video Conferencing and Collaborative document editing/gaming/etc.
More information:
- Telepathy Framework
- KDE Telepathy
- We can be found on IRC in #kde-telepathy
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
simon
simon is an open source speech recognition system using many parts of the KDE infrastructure. You can find out more about us on our homepage, blog or the development site.
There is also a demonstration video on youtube.
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
KDE on Windows
The KDE on Windows subproject makes KDE applications available on Microsoft Windows, both desktop (XP, Vista, 7) and Windows CE
Project:
Brief explanation:
Expected results:
Knowledge Prerequisite:
Mentor:
KDE Accessibility
The KDE Accessibility subproject aims to make KDE applications accessible for all.
Project: Focus tracking in KWin and KMagnifier
Brief explanation: Currently the KWin zoom plugin and KMagnifier implement focus tracking using KAccessible. KAccessible uses QAccessible direct to implement focus-tracking. The problem with that is that it only works for Qt/KDE applications. The plan is to change the existing code in the KWin zoom-plugin and KMagnifier to not use KAccessible any longer to fetch the information what application/widget/etc has the focus but to use dbus to connect with AT-SPI2 and fetch all needed informations (means the x/y-coordinates where the focus is atm) from there.
Once done there should be enough time left to look at common applications like KWrite, Kate, Konsole, Dolphin, etc. to identify and fix cases where the applications are not sending the proper QAccessible::Focus events so that focus-tracking doesn't work there. See for example the fix I did back then to enable focus-tracking in KWrite/Kate - note that all Qt-widgets and most KDE-widgets are already fine and accessible but that a custom canvas like KWrite/Kate are using them to draw the text are basically not accessible at all what is why the patch introduces new classes to make the canvas accessible including making focus-tracking working.
- http://blogs.kde.org/node/4287 describes our current solution for focus-tracking
- http://community.kde.org/Accessibility/qt-atspi describes how to setup your environment to get ATSPI2 and Qt working together using the Qt-ATSPI bridge.
- See the linked source-code above and grep there for "focusChanged"
Expected results:
- The KWin zoom-plugin and KMagnifier are using ATSPI2 rather then KAccessible to implement focus-tracking.
- Focus-tracking within KDE works for Qt/KDE applications like it does today with KAccessible (or even better :-) ) and applications using other Toolkits (e.g. GEdit) will work too.
Knowledge Prerequisite: C++/Qt
Mentor: Sebastian Sauer <[email protected]>