SoK/Ideas/2024: Difference between revisions
m →Sustainability 3: Selenium automation of energy measurement / accessibility tests for KDE applications: corrected list, added issues |
|||
Line 101: | Line 101: | ||
'''Brief explanation:''' Both the [https://community.kde.org/Goals/Sustainable_Software Sustainable Software] and the [https://community.kde.org/Goals/KDE_For_All Accessibility "KDE For All"] goals require automated testing -- which, in fact, is itself also fulfills the goal to [https://community.kde.org/Goals/Automate_and_systematize_internal_processes "Automate and Systematize Internal Processes"]. [https://invent.kde.org/sdk/selenium-webdriver-at-spi "Selenium Webdriver AT-SPI"] is just such a tool for achieving this (see Harald Sitter's [https://apachelog.wordpress.com/2022/12/14/selenium-at-spi-gui-testing/ blog post]. The tooling is still in development, but we can already begin writing automated tests for several KDE applications and documenting the process for other developers. | '''Brief explanation:''' Both the [https://community.kde.org/Goals/Sustainable_Software Sustainable Software] and the [https://community.kde.org/Goals/KDE_For_All Accessibility "KDE For All"] goals require automated testing -- which, in fact, is itself also fulfills the goal to [https://community.kde.org/Goals/Automate_and_systematize_internal_processes "Automate and Systematize Internal Processes"]. [https://invent.kde.org/sdk/selenium-webdriver-at-spi "Selenium Webdriver AT-SPI"] is just such a tool for achieving this (see Harald Sitter's [https://apachelog.wordpress.com/2022/12/14/selenium-at-spi-gui-testing/ blog post]. The tooling is still in development, but we can already begin writing automated tests for several KDE applications and documenting the process for other developers. | ||
'''Expected results:''' At the end of the project this and other issues should be addressed, while new ones may be added: | '''Expected results:''' At the end of the project this and other issues should be addressed, while new ones may be added (see also the [https://invent.kde.org/sdk/selenium-webdriver-at-spi/-/issues Issues] at the repo): | ||
* Automating the setup of Selenium Webdriver AT-SPI (see KDE Eco Selenium guide below for current setup procedure) | |||
* Automating tests for a subset of KDE apps | |||
* Bringing the [https://invent.kde.org/teams/eco/be4foss/-/merge_requests/79 KDE Eco Selenium guide] up-to-date | |||
'''Knowledge Prerequisite:''' Selenium | '''Knowledge Prerequisite:''' Selenium |
Revision as of 09:05, 4 December 2023
Ideas
General information
All community members can submit an idea for a Season of KDE project. If you have an idea, reach out to the different people on the team to see if at least one core member would like to mentor and ask if you can add their contact info to the idea below.
Do not add SoK ideas with no mentor and no contact info.
Information for mentees
These ideas were contributed by our KDE 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 are interested in.
When writing your proposal or asking for help from the general KDE community do not 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.
You need to submit your proposal to https://invent.kde.org/teams/season-of-kde/2024 before the deadline. Instructions for how to submit are included there.
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: 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 it isn't 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 love
Knowledge Prerequisite: Probably C++ and Qt, but it 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.
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.
Sustainability 1: Testing and development of "KEcoLab"
Project type: Coding
Brief explanation: Sustainability is one of KDE's goals for the next two years. One aspect of this goal is to measure the energy consumption of KDE software. To do this, it is necessary to access the lab in KDAB, Berlin, which can now be done remotely using "KEcoLab". A list of to-dos can be found at the repository's Issues, including testing and integration into KDE software repositories. For the project, please put together a plan for resolving the issues you would be interested in working on and check with mentors before submitting a proposal.
Expected results: At the end of the project several of the to-dos in the above list should be resolved (while new ones may be added).
Knowledge Prerequisite: Knowledge of Git and Gitlab CI/CD, scripting (possibly including R), and a willingness to learn
Mentors: Karanjot Singh @drquark:kde.org, Joseph P. De Veaugh-Geiss @joseph:kde.org on Matrix
Sustainability 2: Improve "KdeEcoTest" emulation tool
Project type: Coding
Brief explanation: Measuring the energy consumption of KDE software is part of the Sustainable Software goal for KDE, as mentioned above. To achieve this goal it is necessary to use an emulation tool to create Standard Usage Scenario scripts. "KdeEcoTest" is one such tool, but it needs some fixes. A list of to-dos can be found at the FEEP repository's Issues for "KdeEcoTest".
Expected results: At the end of the project several of the to-dos in the above list should be resolved (while new ones may be added).
Knowledge Prerequisite: Coding in Python, basic knowledge of git and automation tools
Mentors: Emmanuel Charruau @allon:kde.org, Joseph P. De Veaugh-Geiss @joseph:kde.org on Matrix
Sustainability 3: Selenium automation of energy measurement / accessibility tests for KDE applications
Project type: Coding
Brief explanation: Both the Sustainable Software and the Accessibility "KDE For All" goals require automated testing -- which, in fact, is itself also fulfills the goal to "Automate and Systematize Internal Processes". "Selenium Webdriver AT-SPI" is just such a tool for achieving this (see Harald Sitter's blog post. The tooling is still in development, but we can already begin writing automated tests for several KDE applications and documenting the process for other developers.
Expected results: At the end of the project this and other issues should be addressed, while new ones may be added (see also the Issues at the repo):
- Automating the setup of Selenium Webdriver AT-SPI (see KDE Eco Selenium guide below for current setup procedure)
- Automating tests for a subset of KDE apps
- Bringing the KDE Eco Selenium guide up-to-date
Knowledge Prerequisite: Selenium
Mentors: Nitin Tejuja @nitin.tejuja12:matrix.org, Emmanuel Charruau @allon:kde.org
Implementing speech editing in KRecorder - needs mentors
Project type: Coding
Brief explanation: There are paid, online tools (like Descript) that can transcribe voice recordings and let the user edit them. KDE doesn't yet have a solution offering this. The closest is Kdenlive's subtitles with Whisper. Having Whisper integrated into KRecorder would have several positives:
- User friendly way to transcribe voice recordings
- Remove words from the transcribed text and KRecorder automatically removes them from the recording
- Simple audio cutting interface for manual edits
Expected results: A stable and usable implementation of this feature
Knowledge Prerequisite: C++, QML knowledge
Mentors: ???
External links
Season of KDE 2024 at Invent, with information how mentees can submit SoK proposals.