Trivialanwendung: List

Mo, 22. Mai 2023, Ralf Hersel

Das ist ein Meinungsartikel.

Ich habe mal wieder etwas auszusetzen. Es geht um die Todo-Anwendung List von Vlad Krupinski. Dabei handelt es sich um eine einfache und sehr schöne Aufgabenverwaltung, basierend auf Gtk4 und Libadwaita. Nun gut, solche Anwendungen sehen auf dem GNOME-Desktop immer schön aus. Die Produktivitäts-App läuft unter der MIT-Lizenz, ist in Python geschrieben und besteht aus ca. 400 Zeilen Code. Man findet sie auf Flathub.

Bevor ich mit dem Gejammer beginne, möchte ich zuerst die Features und positiven Aspekte dieser Anwendung betonen. Was List kann, erkennt man im Titelbild ohne, dass ich etwas dazu schreiben muss. Man kann Aufgaben und Unteraufgaben anlegen. Ausserdem können erledigte Tasks abgehakt und die Hauptaufgaben können eingefärbt werden. Zudem kann in den Einstellungen zwischen hellem, dunklem und dem System-Thema umgeschaltet werden. That's it, folks!

Was ist gut finde

Aufgrund der eingeschränkten Funktionalität und der vorbildlichen UX/UI, dürfte die Anwendung viele Anwender:innen ansprechen, die nach einer ganz einfachen und hübschen Aufgabenverwaltung suchen. Das Einfärben der Hauptaktivitäten halte ich List zugute; das gefällt mir.

Da List in Python geschrieben ist und im Wesentlichen aus zwei Dateien besteht, die nur 400 Zeilen Code enthalten, eignet sich die Anwendung als Lernbeispiel für Python, Gtk4, Libadwaita und eine Flathub-Publikation. Das ist für mich der grösste Vorteil. Danke Vlad! Wir brauchen noch viel mehr Boilerplate Anwendungen, die dem Lernen dienen.

Was mir nicht gefällt

Ich finde es immer quälend, wenn ich mich über Anwendungen kritisch äussere. Deshalb versuche ich meine Kritik so objektiv wie möglich zu schreiben.

Die Beschreibung auf GitHub ist nicht hinreichend. Wer Freie Software entwickelt, sollte stolz darauf sein. Drei Sätze zu Clone, Install, Run zeugen nicht vom Stolz des Entwicklers für seine Software. Den Anwendern ist damit auch nicht geholfen; insbesondere nicht den Einsteiger:innen. Meine Daumenregel ist: "Wenn deine Dokumentation kürzer als dein Code ist, stimmt etwas nicht."

Da ist noch etwas, was mir nicht gefällt. Lohnt es sich, eine Anwendung zu programmieren, die man mit jedem Texteditor umsetzen kann? Ich bin mir nicht sicher, ob das wirklich ein Kritikpunkt ist. Sobald es eine Anwenderin gibt, die sagt, hey, das ist eine ganz tolle App, mit der ich meine Todos organisieren kann, ziehe ich meine Kritik gerne zurück. Dann wäre es vielleicht unsere Aufgabe der Person zu vermitteln, dass man ein solch triviale Aufgabe mit einfacheren Mitteln lösen kann. Wo liegt die Grenze zur Trivialanwendung?

Mein dritter Kritikpunkt bezieht sich auf die Persistenz von List. Wie und wo speichert die Anwendung ihre Daten ab? Diese Information gehört nach meiner Meinung zwingend in die Dokumentation. Gerade bei einer Todo-App, möchte man das wissen, um die Daten kopieren, sichern und synchronisieren zu können. Schaut man in den übersichtlichen und einfachen Source-Code, sieht man schnell, dass die Daten in XDG_DATA_HOME/data.json landen, was für viele Neulinge auch ein Buch mit sieben Siegeln bedeutet. Insbesondere, da es sich um ein Flatpak handelt, welches die Datei nicht unter ~/.config/list/data.json speichert. Es ist nicht meine Aufgabe zu erklären, wo die Daten von List tatsächlich gespeichert werden; das ist die Aufgaben des Entwicklers Vlad Krupinski.

Um es klar zu sagen: List ist für mich eine gute Anwendung, um zu lernen, wie man eine Gtk4-Applikation in Python entwickelt und als Flatpak bereitstellt. Da die Anwendung aus wenigen Dateien und wenig Code besteht, ist sie eine gute Lernanwendung. So klein die Anwendung ist, so klein ist auch die zugehörige Dokumentation, was bedauerlich ist.

Quelle: https://flathub.org/apps/io.github.mrvladus.List

Tags

Trivial, ToDo, Listen, Aufgaben, Produktivität, Todo-Liste