Dolphin Treffen bei Barcelona

Von meinen Aufgaben bei KDE bin ich am ehesten dadurch bekannt, dass ich seit neuerem zusammen mit Méven Car “Dolphin Maintainer” wurde. “Dolphin” heißt übersetzt Delphin und “Maintainer” sind die Betreuer oder Hauptverantwortlichen für etwas.

Der Plan war, bei Barcelona ein Dolphin Treffen zu veranstalten, also machte ich mich auf den Weg.

Ich denke, das Wichtigste für eine sich selbst organisierende international agierende Gruppe wie uns, die in allen sieben Weltmeeren schwimmt, ist, dass man sich ab und zu gemeinsam an Küsten trifft, um sich über gemeinsame Ziele auszutauschen. Jeder surft oder browst sonst wohin einen die Strömung gerade hinverschlägt. Jeder hat eine Idee, was wohl gerade am Wichtigsten ist, woran gearbeitet werden sollte, und schwimmt dann direkt darauf zu. Doch manchmal ist es sinnvoll, sich darüber auszutauschen, wo denn wirklich die wichtigsten Bereiche sind, in denen Verbesserungsbedarf besteht. Und genau das war dann auch das Thema, das ich für unser Dolphin Treffen gewählt habe.

Es war neu für mich, innerhalb von KDE eine organisatorisch leitende Rolle einzunehmen. Nicht nur was Dolphin angeht, sondern auch was uns Pinguin-Fans allgemein angeht.

Okay, ich glaube ab hier muss ich das mit der Zweideutigkeit lassen, denn technische Begriffe werden notwendig. Um eventuelle Verwirrungen aufzulösen, eine kurze Klarstellung: Dolphin ist ein Programm, genauer gesagt der Standard-Dateimanager von KDE. Ich bin zusammen mit Méven Car für es verantwortlich. Der obige Text hatte nicht wirklich mit Tieren zu tun.

Jedenfalls trafen wir uns in Barcelona und sprachen darüber, was denn jeder meinte, was die wichtigsten Bereiche zur Verbesserung von Dolphin seien.

Zeitreisen für Dateien und Ordner?

Neal Grompa, der sich für KDE auf Fedora, aber auch andere Distributionen einsetzt, hatte die Idee, dass Dolphin die Fähigkeit haben sollte, Dateien und Ordner auf einen älteren Stand von sich selbst zurückzusetzen. Die praktische Anwendung wäre, dass wenn man zum Beispiel einen Report oder Aufsatz ruiniert hat, man einfach eine ältere Version davon wiederherstellen könnte. Oder dass man, nachdem versehentlich eine Datei gelöscht wurde, den Ordner, der diese enthält, samt der Datei wiederherstellen könnte.

Klingt das wie Magie für Sie? Ist das überhaupt so einfach möglich? Müssten dafür die alten Daten nicht irgendwo gesichert sein?

Die Antwort auf all diese Fragen ist “Ja”. Aber was Sie vielleicht noch nicht wussten, ist, dass es bei manchen modernen Dateisystemen, die Sie eventuell sogar bereits in diesem Moment verwenden, normal ist, dass ältere Daten behalten werden, damit Ihr Computer in einen funktionierenden Zustand zurückversetzt werden kann, falls denn jemals etwas so richtig schief geht. Bekannte Dateisysteme die so etwas integriert haben heißen BTRFS und ZFS.

Beim Erkunden von Barcelona konnte ich mit Luca Weiss und Arjen Hiemstra darüber reden, wie diese Idee realisiert werden könnte. Ich habe auch selbst ein paar Nachforschungen angestellt: Das Problem, das ich derzeit sehe, ist, dass es schwer fällt herauszufinden, wo sich denn genau die älteren Versionen von Dateien und Ordnern auf der Festplatte befinden. Es stellt sich heraus, dass es zumindest auf BTRFS kein verpflichtendes Schema gibt, in welchen Ordnerstrukturen sich die alten Versionen wiederfinden lassen. Zwar ist die Benennung für Menschen häufig verständlich (z.B. auf openSuse “/.snapshot/SNAPSHOTNUMMER/snapshot”), aber es könnte auch ganz anders heißen und der Zeitpunkt bei dem die “Sicherung” erstellt wurde und welche Daten zusammengehören, ist auch nicht so einfach herauszufinden. Und was ist, wenn die Dateien, die man wiederherstellen will, in der Zwischenzeit in einen anderen Ordner verschoben wurden?

Vielleicht irre ich mich auch, aber ich habe zumindest Schwierigkeiten, eine solide bzw. reliable Vorgehensweise zu erfinden, selbst wenn ich für den Moment all die technischen Feinheiten außer Acht lasse. Das bedeutet nicht, dass das Projekt unmöglich zu realisieren wäre – nein nein, denn im schlimmsten Fall könnte man auch einfach die gesamte Festplatte durchsuchen – aber zumindest muss ich für mich feststellen, dass das Projekt zu aufwendig ist, um es mal eben nebenher zu programmieren. Falls Sie Interesse hätten oder in der Lage wären, das auf geschickte Weise zu verwirklichen, wären Sie der/die Held/in für manche Nutzer. Da bin ich mir sicher.

Es ließe sich wohl als sogenanntes KAbstractFileItemActionPlugin implementieren, das dann ein Fenster öffnet, in dem Nutzer auswählen können, welche Version der Datei wiederhergestellt werden soll.

Dolphin könnte besser mit langsamen Festplatten umgehen

Im Grunde ist das vielleicht Wichtigste für einen Dateimanager wie Dolphin, dass er sehr schnell darin ist, die Daten der Festplatten anzuzeigen. Man will ja auch dem Namen alle Ehre machen: Ein Delphin ist schnell unterwegs und wird im Wasser von nichts aufgehalten.

Anders ist es mit Festplatten. Die brauchen manchmal eine Weile, um Daten abzurufen, vor allem wenn der Zugriff über das Internet oder ein anderes “langsames” Netzwerk erfolgt. Aber nur weil der Zugriff langsam ist, sollte das nicht bedeuten, dass deswegen auch Dolphin ins Stocken gerät. Natürlich kann das Laden eine Weile dauern, aber deswegen sollte Dolphin trotzdem noch flüssig funktionieren.

Weitere Details zu diesem Thema finden sich in unseren Aufzeichungen zum Treffen: https://invent.kde.org/system/dolphin/-/issues/35#note_535555

Kopiervorgänge werden fälschlicherweise als abgeschlossen angezeigt

Nutzer klagen mit einer gewissen Regelmäßigkeit über Datenverlust, wenn Sie eine Festplatte oder einen USB-Stick entfernen, nachdem eine Dateiübertragung als “abgeschlossen” gemeldet wurde.

In KDE melden wir eine Übertragung als abgeschlossen, wenn der Linux-Kern uns mitteilt, dass die Übertragung abgeschlossen sei. Nur leider ist das häufig nicht ganz richtig, denn der Linux-Kern ist in dieser Hinsicht etwas voreilig, da er die Übertragung als “abgeschlossen” erklärt, sobald die Daten wieder verfügbar sind. Das ist jedoch in der Regel eine ganze Weile, bevor sie tatsächlich vollständig übertragen wurden.

Hier sehe ich drei Möglichkeiten: 1. Der Linux-Kern erhält eine neue Option, die es uns ermöglicht, genauere Aussagen über den Fortschritt weiterzugeben. 2. Wir stellen selbst sicher, dass die Übertragung abgeschlossen ist. 3. Wir zeigen eine besonders eindringliche Warnmeldung, wenn Nutzer ein Speichermedium entfernen, ohne es zuvor ordentlich “sicher entfernt” zu haben.

Dolphin sollte Nutzern ermöglichen, root-Dateien/Ordner zu verändern

Wie Sie vielleicht wissen, kennt das Linux Sicherheitsmodell verschiedene Nutzer oder Accounts, die auf demselben Computer agieren können. Man kann dabei einstellen, welche Personen auf welche Daten zugreifen, sie verändern oder ausführen können.

Der Account, der auf alle Daten eines Computers vollen Zugriff hat, wird üblicherweise “root” genannt. Es ist der Administrator-Account an so ziemlich jedem Computer.

Wenn man derzeit als Nutzer versucht, mithilfe des Programmes “sudo” Dolphin mit den Rechten eines Administrators auszuführen, um damit alle Daten ändern zu können, dann weigert sich Dolphin, dies zu tun, weil es potentiell dazu führen kann, dass Hacker den Computer übernehmen können. Dieser Sperrriegel wurde eingeführt bevor ich bei KDE war, aber Nutzer sind auch heute noch unglücklich darüber, weil dieser Sperrriegel ihnen in manchen Situationen das Leben erschwert. Wie können wir diese Situation verbessern, ohne dabei die Sicherheit von Firmen und Nutzern zu gefährden?

Harald Sitter hat eine alternative, sicherere Methode entwickelt (https://apachelog.wordpress.com/2022/08/04/kio-admin/), die es Nutzern erlaubt, alle Daten zu manipulieren. Sie wird eventuell in Dolphin integriert werden.

Einen weiteren sofortigeren Lösungsansatz habe ich neulich mit Nate Graham besprochen: Wie wir sehen, wurden in den vergangenen Jahren bereits mehrere Methoden entwickelt, um den von meinen Vorgängern gut gemeinten Sicherheitsriegel zu umgehen. Diese, die Sicherheit der Nutzer reduzierenden Methoden, sind recht populär. Der Sicherheitsriegel hält Nutzer also derzeit nicht wirklich davon ab, das potentielle Sicherheitsrisiko einzugehen. So gesehen ist meine Meinung, dass wir, anstatt zu versuchen, die Funktion zu verbieten, die Chance nutzen sollten, die Nutzer über die Gefahren aufzuklären. Wenn sie trotz unserer Erklärung der Risiken fortfahren wollen, dann sollten und können wir sie nicht aufhalten. Es könnte eine gute Idee sein, den Sperrriegel für Nutzer leichter lösbar zu machen.


Das war dann alles zum Dolphin Treffen. Der Rest dieses Artikels ist über andere für mich relevante Themen.

Dolphin fürs Handy?

Ich habe in Barcelona viel mit den jungen Entwicklern geredet, die sich bemühen, dass KDE Plasma ein Erfolg auf Mobiltelefonen wird und Googles Android hoffentlich bald mächtig Konkurrenz macht. Es besteht der Wunsch einen tollen Dateimanager wie Dolphin auf dem Handy verfügbar zu haben.

Was sie und vielleicht auch Sie nicht wussten, ist, dass Dolphin bereits dermaßen flexibel und touch-freundlich ist, dass wohl gar nicht viel Arbeit nötig wäre, damit es wie geschaffen für Handys ist:

Wir bräuchten wohl eine separate Konfiguration für Handys, die es erlaubt, Dolphin ganz einfach fürs Handy angepasst zu installieren. Haben Sie Interesse, Dolphin für all diese Handynutzer einfach verwendbar zu machen? Unterstützung ist immer gern gesehen!

Dolphin mit dem blauen Engel

Mit Joseph P. De Veaugh-Geiss, der die umweltfreundliche “Blauer Engel”-Zertifizierung von KDE Software vorantreibt, sprach ich über die Möglichkeit auch Dolphin zu zertifizieren. Die Frage ist, welchen direkten Nutzen wir uns davon versprächen. Eventuell könnte es staatliche Einrichtungen dazu bewegen, Dolphin zu verwenden, aber Joseph war der Meinung, dass sie wohl nicht deswegen allein zu Linux wechseln würden. Zu seiner und vielleicht auch Ihrer Überraschung funktioniert Dolphin bereits auf Microsoft Windows und meines Wissens sogar macOs. Es hat ein paar Macken auf Windows und niemand kümmert sich aktuell darum, diese auszumerzen. Würde es sich lohnen das zu tun? Wenn wir die Windows-Version mehr ins öffentliche Bewusstsein schieben, wäre das eine Möglichkeit mehr Nutzer zu freier und umweltfreundlicher Computer-Nutzung zu bewegen? Für mich ist unklar, ob wir unsere Kapazitäten nicht besser für anderes verwenden.

Sie merken aber, dass es viel mehr sinnvolle Arbeit allein bei Dolphin zu tun gibt, als wir realistisch mit unseren wenigen ehrenamtlichen Entwicklern leisten können. Auch hier wären mehr freundliche Mitwirkende eine Bereicherung. :)

Dokumentation in der Anwendung

Ein weiteres Thema, das mir sehr am Herzen liegt, ist, dass wir unsere Software auch für unbeholfene Nutzer verwendbar machen, indem wir Anleitungen und Hilfstexte zur Verfügung stellen. Manche meiner Bemühungen in dieser Richtung waren sehr erfolgreich. Zum Beispiel gibt es mittlerweile an vielen Stellen in KDE kleine Hilfsknöpfe, nachdem ich diese vor nur zwei Jahren als Komponente in KDE Software erstmals integriert habe (https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/51). In ähnlicher Weise habe ich auch in vielen Anwendungen die Funktionalität eingebaut, dass man Nutzern ausführliche Hilfe direkt in der Anwendung zur Verfügung stellen kann. Sie kennen vielleicht die kleinen “Umschalt drücken für mehr Informationen” Hinweise, die erscheinen, wenn Sie den Mauszeiger auf einem Knopf in Dolphin ruhen lassen. Meiner Meinung nach sollte jede KDE Anwendung mehr Hilfe dieser Art zur Verfügung stellen.

Ich war in dem Treffen über das Schreiben von Anleitungen und Hilfstexten für die Webseite https://userbase.kde.org/Welcome_to_KDE_UserBase und versuchte dort den Anstoß zu geben, dass es meiner Meinung nach in einigen Fällen sinnvoller wäre, Hilfe direkt dort zur Verfügung zu stellen, wo sie gebraucht wird: Am besten also direkt in der Anwendung. Ich hatte leider nicht den Eindruck, als ob ich in der Lage war, die dort Versammelten davon zu überzeugen. Hier möchte ich aber wiederholen, dass jeder zusätzliche Schritt, der zwischen den Nutzern und der verfügbaren Hilfe liegt, dazu führt, dass die Nutzer die Hilfe mit geringerer Wahrscheinlichkeit verwenden werden. Wenn Nutzer nicht wissen, was ein Knopf tut, dann sollte die Hilfe für den Knopf direkt vom Knopf aus oder daneben aufgerufen werden können.

Im Positiven habe ich bemerkt, dass manche KDE-Leute bereits die Nützlichkeit dieser Funktionalität verstanden haben. Kai Uwe Broulik hat sich als Fan geoutet. Ich hoffe, es ist nur eine Frage der Zeit, bis diese neue Art Hilfe anzubieten, für jeden genauso selbstverständlich wird, wie die zwei Jahre jungen, kleinen Hilfsknöpfe in den Systemeinstellungen.

So viel zu meinen Bemühungen. Wenn Sie bis hierhin interessiert gelesen haben, dann interessieren Sie sich vielleicht auch für meine Videos zur KDE Entwicklung: https://tube.tchncs.de/c/felix_ernst/videos

Dank an KDE e.V. und dessen Spender

Die bunte Truppe, die zu Akademy 2022 nach Barcelona reisten, zu treffen, war ein großer Gewinn für unsere weitere Zusammenarbeit und damit auch letztendlich für unsere Software. Der obige Text ist ja bereits viel zu lang und doch habe ich bislang fast nur über Dolphin geredet, obwohl noch so viele andere Themen in Barcelona von Bedeutung waren. Allen voran wie schön es war, andere KDE Mitwirkende zum ersten Mal persönlich zu treffen.

Ich möchte hier dem KDE e.V. und den vielen Spendern an diese Organisation danken, denn durch sie wurde ein Großteil der Gesamtkosten meiner Reise bezahlt. Nachdem ich nun die Verwalter dieser Spenden persönlich kennengelernt habe, kann ich mit voller Überzeugung sagen, dass Spenden an den KDE e.V. in guten Händen sind und mit großer Sorgfalt und Strategie ausgegeben werden, um den Fortbestand und das Wachstum der größeren KDE Gemeinschaft zu sichern. Wenn Sie auch eine gemeinnützige Spende tätigen möchten, gehen Sie zu: https://kde.org/de/community/donations/.