SoK/Ideas/2016

From KDE Community Wiki
< SoK

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.


Project: Writing Tests and Integration of KDE Now with Calendar

KDE Now: KDE Now is an alternative of Google Now on the KDE Plasma Desktop. It shows relevant information from your email in the form of cards on a Plasmoid. Currently it supports Event, Flight, Restaurant and Hotel reservations.

Brief explanation: The tests are not yet written for the project. Your task is to write those tests. Also, you have to integrate KDE Now with KDE Calendar so that reservation dates are shown to the user in the form of reminders/notifications.

Expected results: KDE Calendar integration and unit tests for the components. Also, it's an added bonus if you could add one or more popular plugin.

Knowledge Prerequisite: C++, Qt. Some knowledge of testing can be helpful to you during the project but it's not mandatory.

Mentor: Aditya (g33kyaditya on freenode)

Links: quickgit and github

Project: Update KStars Images for Messier Objects

KStars: KStars is free, open source, cross-platform Astronomy Software. It provides an accurate graphical simulation of the night sky, from any location on Earth, at any date and time.

Brief explanation: KStars supports overlaying of images unto the sky map (See example of M31 here). But many of the images are not correctly oriented as in the real sky. The task is to collect a new set of images from NASA/ESO catalogs along with orientation (angle from north) and pixel scale (arcsecs/pixel) for the whole set of Messier Catalog (110 objects), which is a collection of astronomy objects in the night sky.

Expected results: New List of public domain images with orientation and pixel scale information. Images must also be processed for overlay in KStars, so must have transparency where there is background sky.

Knowledge Prerequisite: C++/Qt

Mentor: Raphael Cojocaru ([email protected])

Links: KStars and Archive of Messier Images used by KStars

Project: Add educational activities to GCompris (In Qt Quick)

Brief explanation: GCompris is a an educational software suite comprising of numerous activities for children aged 2 to 10. Originally written in Gtk+ its development team started to rewrite it from scratch in Qt Quick.

Expected results:

  • Activities to port that are already started. Here is a list few activities which are listed in category.
    • Railroad.
    • Play_piano and other music ones.
    • Place_satellite.
    • oware/awele.
  • Activities to improve.
  • Porting or developing new activities. Here is the list of few ideas of activities suggested new_ideas.
  • Any task in phabricator or any idea that can improve GCompris_phabricator.

Knowledge Prerequisite: Any structured language, especially basic knowledge in algorithm and object programming. Learning outcome: You will learn Qt Quick, Javascript, Git.

Application guide: For setting up GCompris on devices here are the instructions new_contributors.

Mentors: Johnny Jazeix (IRC: JohnnyJ), Pulkit Gupta (IRC: pulkit), Stefan Toncu (IRC: StefanT29), Rajdeep Kaur (IRC: Nessaa), Timothée Giet (IRC: AnimTim), Emmanuel charruau(IRC: Allon), Sagar Chand Agarwal (IRC: sagaragarwal94).

Feel free to contact us either on IRC #gcompris or by mail ([email protected]).

Project: Discover Flatpak backend

Brief explanation: Discover is a software center and we'd like to make it easy to install any application.

Expected results: Once done, it will be possible to list, install and remove Flatpak packages using Plasma's Discover Software Center.

Knowledge Prerequisite: The code will be C++, will be using some C/GObject libraries. It would be useful if before applying you could look into discover current backends. They are placed in discover/libdiscover/backends/.

  • DummyBackend is a backend useful for tests, can be useful to see what's to be done without other technologies getting in the way.
  • KNSBackend and PackageKitBackend: are the people commonly use and are up to date.
  • SnapBackend, an experimental backend to support Canonical's Snap too, similarly to what should be done for Flatpak.

More information about flatpak can be found here: http://flatpak.org/

Mentor: Aleix Pol Gonzalez <[email protected]>; apol on IRC, @AleixPol on Telegram

Project: DigiKam Improvements

Brief explanation: DigiKam is an advanced open source photo management software.

Expected results:

Knowledge Prerequisite: C++, SQL, Qt

Mentor: Gilles Caulier ([email protected])

Project: Improve stability and feature set of Kexi MS Access import

Brief explanation: Current mdbtools sources included with Kexi (kexi.git) for MS Access mdb format support can be outdated. Trying to get people to move to Kexi from Access at some point, means the should be able to move their existing data/design also.

Expected results:

  • Use the newest mdbtools code from https://github.com/brianb/mdbtools and merge patches made by the Kexi project (once filled at https://bugs.kde.org/show_bug.cgi?id=277583, the task may be need a repeat).
  • Propose and implement improvements to the MDB support. If this means extensive testing with mdb data files and reverse-engineering, plan this as well.
  • Provide the patches upstream for the mdbtools project, which would improve packaging.

Project's wiki: http://community.kde.org/Kexi

Knowledge Prerequisite: C, basic C++, reverse engineering

Mentor: Jarosław Staniek (staniek at kde.org)

Project: Add "Get Hot New Stuff" support to KTuberling

Brief explanation: "Get Hot New Stuff" provides a way for people to download new content (for example uploaded to store.kde.org). This will help people sharing their KTuberling playgrounds

Expected results:

  • There's a store.kde.org section for kturberling playgrounds.
  • You can download/install those playgrounds from KTuberling code.

Knowledge Prerequisite: basic C++

Mentor: Albert Astals Cid (aacid at kde.org)

Project: Cantor support on Windows

Brief explanation: Cantor, the interface for scientific programming, can be interesting for several users running Windows daily. This project aims to provide support for Cantor on Windows.

Expected results:

  • Cantor running on Windows;
  • Create a Cantor installer for Windows;
  • Verify which changes need to be done to port properly each Cantor backend for Windows.

Knowledge Prerequisite: C++, Qt, Windows. Research how to compile Qt software like Cantor on Windows.

Mentor: Filipe Saraiva (filipe at kde.org)