SoK/Ideas/2021

From KDE Community Wiki
Konqi is giving a lesson!

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, contact the developers and find out more about the particular suggestion you're interested in.

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 in the idea, 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.

Sample project

Project type: Coding / Web Development / Promo / Translation

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

Project type: Coding / Web Development / Promo / Translation

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.


Promo: tips and tricks videos for social networks

Project type: Promo

Brief explanation: The goal of this task is to create promo videos showing off tips and tricks from the list maintained here: T13465. You will be able to choose a few of them and create short videos with some effects applied to them. The amount of videos you will need to do depends on how much time you have.

Expected results: Your short videos will be displayed on social media and viewed by many people. This will help with the promotion of KDE's software as powerful applications.

Knowledge Prerequisite: Knowledge of KDenlive is recommended but not required, but you will need to learn and use KDenlive. The promo team has some KDenlive experts and it is a good occasion to learn how to use it.

Mentor: Paul Brown and rest of the KDE Promo team. Join us IRC: #kde-promo, Matrix: #kde-promo:kde.org or Telegram: https://t.me/joinchat/AEyx-0O8HKlHV7Cg7ZoSyA

Documentation: Improve documentation about how to write Plasma widgets

Project type: Documentation

Brief explanation: The goal of this task is to improve the existing Plasma widgets documentation and move it to develop.kde.org/docs.

Expected results: It will be easier for people to write their own plasmoids :D

Knowledge Prerequisite: A bit of QML and English writing skills :)

Mentor: Carl Schwan, you can join our matrix room in #developer-doc:kde.org


KStars, Coding: Make custom catalogs fast by putting them on the Hierarchical Triangular Mesh

Project type: Code

Brief explanation: The goal of this project is to improve the speed at which large custom (user-created / internet-downloaded) catalogs of sky objects (e.g. galaxies etc.) are rendered by KStars. KStars already has adaptations of a space-partitioning data structure (kind of like a k-D tree), the Hierarchical Triangular Mesh, which can be used to create an index based on the region of the sky in which an object lies, which are used elsewhere in KStars. The project would adapt this data structure to work with custom catalogs.

Expected results: 1. Optimize the rendering by only rendering those objects that are in the regions displayed on the screen 2. Optimize the computations by only computing positions for those objects that are in the regions displayed on the screen 3. Stretch Goal: Optimize the loading to only load into memory (from the database) those objects that are in regions displayed on the screen

A merge request with proper code review validation is expected at each step of this project.

The final win for KStars is that we will be able to render catalogs of hundreds of thousands of galaxies (such as the Principal Galaxies Catalog) without impact in performance.

Knowledge Prerequisite: C++, Basic understanding of Object Oriented Programming, Rudimentary familiarity with Qt

Mentor: TBD