SoK/2023/StatusReport/Rudraksh Karpe

From KDE Community Wiki

Preparation of KDE apps for Blue Angel eco-certification

Project type: Documentation and script testing

Introduction and Abstract: Currently only one computer program in the Global Ecolabelling Network is certified with the Blue Angel ecolabel: KDE's Okular. As part of the new sustainability goal, we would like to add more KDE apps, in particular GCompris and Kate, to the list.

To obtain the Blue Angel ecolabel, applications must demonstrate compliance with a list of criteria, including energy consumption transparency and user autonomy. KDE has an advantage here, since being Free Software we are already fulfilling many aspects of the criteria. The candidate will be responsible for completing what is needed to submit at least two applications for Blue Angel eco-certification, including (a) updating online documentation for the user autonomy criteria for GCompris and Kate, and (b) testing usage scenario scripts before the software can be measured in the community lab.

Mentor: Joseph P. De Veaugh-Geiss @joseph:kde.org on Matrix.

Blog Posts:

Adapting Standard Usage Scenario Scripts for KDE Applications: My Journey as a Season of KDE Mentee (IN PROGRESS)

Weekly Progress

WEEKS 1 - 2: I focused on getting acquainted with the KDE community and learning about sustainable software and the FEEP project. I also familiarized myself with the tools used to measure energy consumption, including Actiona, xdotool, and KDE Eco Tester, and wrote a summary. I made a checklist for SUS scripting and organized my actions by writing them down in a log file to maintain order.

WEEKS 3 - 4: I tested Karanjot Singh's SUS script for Kate and contributed to the documentation. I updated Kate's SUS script and automated the log file generation task. Additionally, I started writing a user autonomy checklist for Blue Angel Eco-Certification and worked on developing the "KDE SUS Log Formatter" to automate the process of determining the elapsed time in the log files.

WEEKS 4 - 5: I started working with the GCompris SUS script and standardizing the log output in general. I contacted the KDE Eco Tester SoK23 project to identify areas of overlap and collaboration opportunities. I tested the existing SUS script for GCompris, made a checklist of what needed to be fixed or improved, and wrote documentation on how to run the script and a log file of actions for GCompris.

WEEKS 6 - 7: I made a merge request at the FEEP repository for the log file of the actions automation script. I collaborated with other SoK projects to work on Gcompris UI issues that were faced. I completed a blog post, which details what has been done so far, my experience with SoK23, and what I want to do going forward.

WEEKS 8 - 9: I further collaborated with the KdeEcoTest project and tried to learn more about the Gocmpris, finally, we could fix the Gcompris UI issue by using the same resolution between two virtual machines. We could fix this by generating a script where the Gcompris window was kept around 590x590 as a modal window.

WEEKS 9 - 10: During these weeks, we identified the need to remove the user configurations as the script will go through certain iterations to fill the Blue Angel criteria. For this, I generated a bash script that would run against KdeEcoTest for a number of interactions and removes user configuration files of Gcompris after each iteration. Also, I could test a similar user configuration script generated by Mohamed Ibrahim for Kate.

WEEKs 11 -12: These were the final weeks of SoK'23, I finished the comprehensive guide to use KdeEcoTest against Gcompris for generating SUS. I could present KDE-SUS-Log-Formatter to the monthly KDE Eco meet-up with the newly introduced features. As the Kate script generated using xdotool already fulfills the Blue Angel criteria but to maintain consistency, we gave it a shot to port the old Kate script to KdeEcoTest by generating a new script. Also, I finished my final blog post for the SoK'23.

My Merge Requests throughout SoK'23:

CONTACT ME: I am available on Matrix: @rudrakshkarpe:matrix.org