SoK/Ideas/2014: Difference between revisions

From KDE Community Wiki
< SoK
No edit summary
No edit summary
Line 31: Line 31:


If you are not a developer but have a good idea for a proposal, get in contact with relevant developers first.
If you are not a developer but have a good idea for a proposal, get in contact with relevant developers first.
=== Amarok: Implementing MediaArtStorageSpec ===
'''Brief explanation:''' MediaArtStorageSpec provides a mechanism for applications to store and retrieve artwork associated with media content, like music from an album, the logo for a radio station, or a graphic representing a podcast. The storage medium for artwork is a file system, inside a user's home directory.
It's already in use by Banshee and tracker on the Nokia N9 smartphone.
This can be implemented in the Amarok CollectionScanner, nepomuk and other KDE components where it makes sense.
'''Expected results:''' If we save album art using this spec it will be picked up by those applications. If we search for album art using this spec we avoid overhead and reduce code complexity. Fixes bug: https://bugs.kde.org/show_bug.cgi?id=296049
'''Knowledge Prerequisite:''' C++/Qt, Amarok codebase
'''Mentor:''' Vedant Agarwala (vedant.kota<at>gmail<dot>com)


=== Project: Live demo for KWin Effects ===
=== Project: Live demo for KWin Effects ===

Revision as of 21:04, 24 October 2014

Ideas

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.

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.


Project: Sample 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.

Amarok: Implementing MediaArtStorageSpec

Brief explanation: MediaArtStorageSpec provides a mechanism for applications to store and retrieve artwork associated with media content, like music from an album, the logo for a radio station, or a graphic representing a podcast. The storage medium for artwork is a file system, inside a user's home directory.

It's already in use by Banshee and tracker on the Nokia N9 smartphone.

This can be implemented in the Amarok CollectionScanner, nepomuk and other KDE components where it makes sense.

Expected results: If we save album art using this spec it will be picked up by those applications. If we search for album art using this spec we avoid overhead and reduce code complexity. Fixes bug: https://bugs.kde.org/show_bug.cgi?id=296049

Knowledge Prerequisite: C++/Qt, Amarok codebase

Mentor: Vedant Agarwala (vedant.kota<at>gmail<dot>com)

Project: Live demo for KWin Effects

Brief explanation: The idea is to offer a live demo for the available KWin effects. This would consists of starting a nested KWin instance as a sub-session and completely control it from the outside. E.g. for the Present Windows Effect it would be needed to have several windows open, control the mouse cursor to demonstrate the screen edge activation, support faking keyboard input for the filtering, etc.

The demo mode would have to use the Wayland backend in KWin as that's the only way to get OpenGL in a nested session (Xephyr doesn't reliable support it). This means part of the project would involve implementing missing features in the Wayland backend like for example a windowed mode and the interfaces to fake keyboard input (needed for e.g. on-screen displays). It also requires to complement the work on running nested KWin instances and better separate it. At the moment it's possible to control the DBus service name, similarly it would be needed to change the config file and kglobalaccel module name, etc.

Expected results: Infrastructure in place and at least one Effect which can be run in a live demo.

Knowledge Prerequisite: C++/Qt, Wayland would be preferable

Mentor: Martin Gräßlin

Project: Test framework for KWin Effects

Brief explanation: So far KWin Effects are not under test coverage. But there are quite some effects and bugs which would need a unit test. In the scope of this project a test framework for the effects should be created. It needs to implement a specific EffectsHandler which allows full control over the effect stack and needs to implement a mock EffectWindow which can also be created and tested by the tests. An additional challenge is the OpenGL dependency of several effects. Because of that the framework has to also setup an OpenGL context (might use Qt for it).

Expected results: Infrastructure in place and at least one Effect which is tested.

Knowledge Prerequisite: C++/Qt

Mentor: Martin Gräßlin


Project: Theme designing for Pairs

Brief explanation: Pairs is a relatively new educational application of KDE Edu family. Pairs stimulates your memory and logic skills. It aims to help the learning for pre-school kids. The student should download, install this application and use it and also improve documentation describing the main elements of the interface, such as how to open a theme, create a new one and add all the needed information to have it ready for usage, apart from developing new creative themes that could be available as add-ons.

Expected results: New creative and witty themes for Pairs, improved documentation and proper white space indentation of the code

Knowledge Prerequisite: Qt, QML, XML would work

Expected mentors: Marco Calignano | Aleix Pol| Heena Mahour


Project: Route to KF5

Brief explanation: Kde-edu applications are getting ported to KF5 [1]. Have a look at [2], the student can work on the idea in case the app has no maintainer.

Expected results: Shiny kde-edu app ported to KF5

Knowledge Prerequisite: Qt, QML, KF5

References:

                        [1] https://www.kde.org/announcements/kde-frameworks-5.0.php
                        [2] https://community.kde.org/KDEEdu/RouteToKF5


Expected mentors: Marco Calignano | Aleix Pol| Heena Mahour

Project: Finish test.kubuntu.co.uk

Update: This project has a likely student to do it

Brief explanation: We want a new website for Kubuntu, it is half completed, finish it off

Expected results: A shiny new kubuntu.org

Knowledge Prerequisite: PHP, Wordpress, web server sysadmin including benchmarking, databases, website design

Mentor: Jonathan Riddell

Kubuntu wants a new website and we have a setup half done at test.kubuntu.co.uk. The final thing should complete the import of data from the current website, pick a theme which looks good on desktop and mobile, integrate with social media and contain content which helps people quickly get into using Kubuntu. It should be benchmarked to ensure it works under load.

You should be familiar with Wordpress and PHP coding and with the needs of a user of the website.

We are at #kubuntu-devel IRC on Freenode.

Project: Improve/refresh KHangMan ui

Brief explanation: KHangMan has been ported to Qt5/kf5 but the ui is still svg based for the desktop version. It would be good to update it to use qml and have one ui for desktop and mobile/touch rather than three uis similar to how KAnagram recently got one qml based ui. This project would combine the best of the desktop/plasma-active/harmattan uis into one qml based ui that is still themable.

Expected results: KHangMan with one qml based ui that works on desktop and touch devices.

Knowledge Prerequisite: Qt, QML, KF5

References:

Expected mentors: Jeremy Whiting