Projects/Summer of Code/2009/Ideas

    From KDE TechBase

    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

    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

    Amarok

    A KDE music manager and player.

    Website - Mailing list - IRC channel: #amarok on Freenode.


    Project: UPnP Support

    Brief explanation: Using the UPnP protocol users can, for example, share music from their Vista computer to a PS3. Amarok lacks any sort of UPnP support. Being able to act as a client (the PS3) or possibly a UPnP media server (Vista) would be useful. See libupnp for more information about UPnP's implementation in open source.

    The gUPnP library or the Coherence server would likely be used. Expected results:

    • Using either Amarok's Internet Service framework or the straight Amarok collection framework, create a plugin which allows Amarok to browse and play music off of a UPnP share. Playing music may require the creation of a KIO for UPnP.
    • Allow Amarok to share it's collection with other devices or control other devices via UPnP. This is secondary priority (since they are already UPnP servers that people can run in addition to Amarok) and may not be feasible to accomplish during Summer of Code.

    Material Prerequisite: Some UPnP devices or computers to test with. Good excuse to buy a PS3. :>

    Knowledge Prerequisite: C++ and Qt. gUPnP is a glib-based library, so experience with C and Glib is likely quite helpful if that library is chosen. And of course, understanding of UPnP networking and devices wouldn't hurt!

    Mentor: Potentially one of several. Contact the amarok mailing list or ask in our IRC channel #amarok

    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: Analyzer Support

    Brief explanation: Unlike Amarok 1.4, Amarok 2.0 does not have visualization or analyzer support (meaning the bouncy bars you see when music is being played). This is because Phonon lacks the APIs to access this information.

    Expected results: As this project is working on extending a library, it has three parts: the Phonon library itself, a Phonon backend, and an application. The Phonon library would need the new API calls. At least phonon-xine and preferably 1 or 2 other Phonon backends must then implement the new API. An application like Amarok or Dragon Player should be used to demonstrate the use of the new API.

    Knowledge Prerequisite: C++ and Qt. Experience with Xine or GStreamer is probably useful.

    Mentor: Ian Monroe (contact on the Amarok mailing list) or possibly another Amarok or Phonon developer.