Den Begriff "Slop", also "Schlabber, Schlamm, Schrott", kennen wir eher aus der KI-Welt. Vermutlich ist es keine gute Bezeichnung für Benutzeroberflächen und Benutzererfahrung, um die es in diesem Artikel gehen soll. Vielleicht sind Begriffe wie "Overengineering, vergoldete Türgriffe, Überhäufung, Durcheinander, aufmerksamkeitsheischend" besser geeignet.
Wenn ich über die Benutzeroberflächen von Spotify und NCspot schreibe, gibt es ein paar Dinge zu beachten:
- Meine Meinung (insbesondere als alter Mann) ist in keiner Weise repräsentativ.
- Der Vergleich zwischen einem Electron-GUI und einem Ncurses-TUI ist das sprichwörtliche "Äpfel mit Birnen".
- Es geht nicht darum, ob man Spotify als Firma problematisch findet.
Über die Jahre, in denen ich mit Linux arbeite, haben sich meine Vorlieben bezüglich UI und UX sehr geändert.
UI (User Interface):
Das sichtbare Erscheinungsbild einer digitalen Oberfläche – Farben, Layout, Typografie, Buttons, visuelle Hierarchie.
UX (User Experience):
Das gesamte Nutzungserlebnis eines Produkts – Nutzerführung, Zufriedenheit, Effizienz, Emotionen, Abläufe.
Das gilt sowohl für meine privaten Softwareprojekte, als auch für die Nutzung von Anwendungen. Früher habe ich viel Aufwand in die Gestaltung von GUIs gesteckt (70 % User Interface, 30 % Programmlogik). Seit ein paar Jahren programmiere ich keine GUIs mehr, weil mir der Aufwand zu gross ist und ich kein "Klickibunti" für meine User Experience brauche. Ein Befehl im Terminal bietet mir mehr als hundert tolle Widgets. Vielleicht ist auch das ein Grund, warum mir der GNOME-Desktop mehr zusagt als KDE-Plasma. Das mag sich wie ein Widerspruch anhören, ist es aber nicht. Das Erscheinungsbild und die Bedienung von GNOME-Anwendungen sind sehr reduziert im Vergleich zur "Ich-kann-alles-Attitüde" von Plasma. Damit ist für mich GNOME näher am Terminal als KDE-Plasma. Ich sehe schon, wie einige von euch nervöse Zuckungen bekommen.
Spotify
Im Titelbild seht ihr die Oberfläche von Spotify auf meinem Smartphone und im Hintergrund NCspot. Und so präsentiert sich Spotify auf dem Desktop:
Viele werden jetzt sagen: "Was gefällt dir daran nicht? Das sieht doch aufgeräumt und stylish aus!" Das sehe ich anders, was sich mit einem Screenshot nur schwer vermitteln lässt. Das UI halte ich für unausgewogen und überfrachtet. Auf dem Desktop geht es noch einigermassen, aber auf dem Handy ist es eine Funktions- und Navigations-Hölle. Ich habe sie nicht genau gezählt, doch es finden sich ca. 100 Funktionen auf der Benutzeroberfläche, die unterschiedlichste Design-Sprachen sprechen. Hier ist ein Beispiel:
Aus jedem Dorf ein Hund. In Bezug auf Grösse, Grafik, Farbgebung, Typografie und Stil, gibt es hier alles, was einem UI-Designer einfallen kann. Da hat man aus dem Vollen geschöpft. Bei der User Experience (UX) sieht es noch schlimmer aus. Die Electron-Anwendung ist grottenlangsam. Bis sich meine Main-Playlist (mit nur 416 Songs) aufgebaut hat, vergehen viele Sekunden. Uuh, jetzt dreht mein Lüfter hoch ... die Spotify-Anwendung liegt mit 800 MB im RAM und beschäftigt meine 8 CDU-Kerne ordentlich:
So, jetzt habe ich genug über Spotify geschimpft, obwohl mir noch mehr zu UI und UX einfallen würde.
NCspot
Über NCspot habe ich bereits in diesem Artikel geschrieben und möchte meine Erfahrungen damit jetzt etwas ausdehnen. Wie erwähnt, handelt es sich bei NCspot um eine Ncurses-basierte TUI-Anwendung, die einen Spotify-Premium-Account voraussetzt. Die Anwendung findet ihr höchstwahrscheinlich in der Paketverwaltung eurer Linux-Distribution oder als Flatpak. Falls ihr den Spotify-Client als Flatpak installiert, empfiehlt es sich, einen Alias einzurichten, um NCspot bequem im Terminal starten zu können:
alias spot='flatpak run io.github.hrkfdn.ncspot'
Nachdem ihr NCspot mit dem Alias spot im Terminal, oder im Launcher (ja, das geht auch) gestartet habt, seht ihr das:
Bezüglich der User Experience werdet ihr feststellen, dass alle Aktionen innerhalb von Millisekunden ausgeführt werden; es gibt keine Wartezeiten, alles geschieht ohne jedwede Verzögerung. Das Startfenster zeigt sechs Reiter:
- Tracks – das ist die Liste der zuletzt gespielten Songs
- Albums – die Liste eurer Alben
- Artists – die Liste eurer Interpreten
- Playlist – die Liste eurer Playlists
- Podcasts – ihr ahnt es
- Browser – Musikzusammenstellungen, die Spotify für dich ausgesucht hat
Die Reiter können mit den Cursor-Tasten oder mit der Maus gewählt werden. Grundsätzlich gilt, dass sich alle Aktionen in NCspot per Tastatur oder der Maus bedienen lassen. Das halte ich für einen Pluspunkt bei der UX.
In der Anwendung kann mit drei Funktionstasten zwischen den Grundansichten umgeschaltet werden:
- F1 – die aktuelle Wiedergabeliste
- F2 – die globale Suche
- F3 – die Startansicht
- Back – Ansicht schliessen
Bezüglich des User Interfaces gibt es nicht viel zu sagen; wie man es von TUIs gewohnt ist, ist es klar, einfach und unmissverständlich. Dort findet man kein Blingbling, stösst nicht auf eine missverständliche Bedienung und wird nicht vom eigentlichen Zweck der Anwendung abgelenkt oder gefangen. NCspot heischt nicht nach eurer Aufmerksamkeit und möglichst langer Verweildauer, sondern macht das, was ihr wollt: Musik spielen, Musik finden, Musik organisieren.
Zugegeben, so gut die Anwendung ist, so schlecht ist ihre Dokumentation. Auch das ist ein Grund, warum ich diesen Artikel geschrieben habe. Hier ist eine Übersicht über die weiteren Tastaturbefehle:
Weitere Informationen zur Bedienung findet ihr hier. Dort gibt es zwar weitreichende Anleitungen, die jedoch völlig am Verständnis der breiten Bevölkerung vorbeigehen.
Wenn es etwas an UX zu bemängeln gibt, dann ist es die schlechte Dokumentation und die nicht immer intuitiven Tastenkürzel. Die meisten sind gut und lassen sich leicht merken. Hier zähle ich nur die Schlechten auf:
- H – für Help. Gibt es nicht, obwohl es sinnvoll wäre, insbesondere um eine Liste der Tastenkürzel anzuzeigen.
- P – für Pause/Play. Gibt es nicht, stattdessen muss man Shift+P drücken. Wer denkt sich das aus?
- Shift+S – für Stop der Wiedergabe. Äh, braucht man nicht, wenn P richtig implementiert wäre.
- O – für Open, um z. B. die Titel in einer Playlist anzuzeigen. Kann man machen, halte ich aber für unglücklich.
Das ist Jammern auf hohem Niveau. Selbst wenn man NCspot nur sporadisch verwendet, hat man sich schnell an die Tastenkürzel gewöhnt. Ausserdem gibt es die Mausbedienung als Alternative. Zur UX gehört auch der Ressourcenverbrauch, der so aussieht:
Im RAM belegt NCspot lächerliche 27 MB.
Anwendungsfälle
- Irgendein Lied suchen
- F2
- Eingabe: "pick up the pieces" RETURN zum Suchen
- RETURN zum Abspielen
- Ein Lied aus einer Playlist wiedergeben
- F3, Playlists
- Playlist auswählen mit Cursortasten oder mit der Maus
- O drücken, um die Playlist zu öffnen, oder RETURN, um die gesamte Playlist abzuspielen
- Zum Song navigieren und RETURN drücken, um ihn abzuspielen
- Zufällige Wiedergabe in einer Playlist
- Z drücken, um die zufällige Wiedergabe einzuschalten
- F3 und eine Playlist auswählen
- RETURN
- In den Spotify-Vorschlägen suchen
- F3 und Browse wählen
- / Charts, um nach dem Charts-Vorschlag, oder irgendeinem anderen Vorschlag zu suchen
- O, um die Liste zu öffnen
- Zur gewünschten Liste navigieren
- RETURN
Fazit
Mir ist klar, dass dieser Artikel polarisierend ist, weil dieser Vergleich zwischen Apfel und Birne weit hergeholt ist. Wenn es um meine Meinung zu UI und UX geht, nehme ich nichts zurück. Das Design und die Benutzbarkeit von gut gemachten Terminal-Anwendungen sind kaum zu überbieten. Ich vergleiche das gerne mit haptischen Schaltern im Auto im Gegensatz zu Touch-Displays. Obwohl TUIs nicht haptisch sind, erleichtern sie die Bedienung im Vergleich zu überladenen GUIs.
Hinweis: Bitte kommentiert nur zum Thema dieses Artikels, aber nicht zu Spotify im Allgemeinen. Die Spotify-App ist nur ein Beispiel unter vielen.
Titelbild: selbst
Quellen: im Text







Was mir an Spotify nicht gefällt, ist das dunkle Design. Und ich würde gerne die Empfehlungen loswerden.
Ralf, da bin ich ganz bei dir. Liegt wahrscheinlich daran, dass auch ich ein alter weißer Mann bin.
ich habe diese "Probleme" nicht, denn ich nutze diese Dienste nicht und kaufe mir lieber die Musik die ich hören will. Durch den Kaufe haben die Künstler mehr davon als nur ein paar Zehntel Cent das es am Monatsende nicht zum Leben reicht.
Als Anwender von sowohl LXDE und(!) -Qt auf einem alten Netbook kann ich auf die Diskussion zu KDE oder Gnome hier nicht eingehen. Tasächlich heißt aber das eine zu tun, nicht das andere (nicht) zu lassen. Auf einem Netbook -und nicht nur dort- sind absurde "Electron-Clients" -nach objektiven Gesichtspunkten- aber tatsächlich "Slop" :D
Einige Aufgaben (u.a. Kalender, Taschenrechner, Einheiten umrechnen) erledige ich tatsächlich recht komfortabel und schnell mit Terminalanwendungen. Mit dabei ist da aber u.a. auch die Dateisuche mit 'fzf'. Trotzdem gibt es durchaus GUI Anwendungen, die durch Schnelligkeit und Konzentration aufs Wesentliche in der "User Experience" beeindrucken können, sogar auf einem alten Netbook.
Durchaus gar nichts dagegen hätte ich, wenn etwa der Autor des LXDE/ -Qt (und auch des 'pcmanfm' File Managers) ein Terminalfenster mit einer fzf Suche in die jeweiligen GUI "Runner" Dialoge einbauen würde. Man könnte dann Ctr-Space drücken und Anwendungen starten, oder mit (Alt) Ctr-Space eine Dateisuche mit fzf anstossen - Hurra!
Bislang drücke ich nämlich für eine "fzf Suche" immer ein Icon, welches eine entsprechendes Skript startet. Die eingebaute Suche im pcmanfm ist besser als nichts, aber -gegenüber einem fzf über indizierte Dateien- ist das um Äonen lahmer, und dabei ist der pcmanfm selbst pfeilschnell, und er kommt auch bestens mit übervollen Verzeichnissen zurecht.
Was ich sagen will:
Man könnte, wenn man denn wollte, auch 'NCspot' in ein kleines GUI Fenster packen, und bei Bedarf ein paar Knöpfe und Regler dazu packen. Das heißt natürlich nicht, dass es unbedingt erforderlich wäre. - Allseits ein (nahes und) Schönes WE!
Was du hier beschreibst ist irgendwie das gleiche Phänomen, wie vor mehr als 30 Jahren, zu Zeiten von MS-DOS und das Aufkommen der ersten Windows Anwendungen. Ein gutes Beispiel: Obwohl in Windows schon immer ein eigener Dateimanager vorhanden war, haben die allermeisten Leute trotzdem noch viele Jahre lang weiterhin ihren geliebten NC (Norton Commander) benutzt, weil der so viel effektiver war! Natürlich sind native, low-level programmierte, Programme viel schneller, effektiver, resourcenschonender ... und für den gwohnten Kenner viel einfacher zu bedienen.
"Bis sich meine Main-Playlist (mit nur 416 Songs) aufgebaut hat, vergehen viele Sekunden. Uuh, jetzt dreht mein Lüfter hoch ... die Spotify-Anwendung liegt mit 800 MB im RAM und beschäftigt meine 8 CDU-Kerne ordentlich:" ... Schwuppdizität ist ein valides Thema und beeinflußt die UX jeder Anwendung nachhaltig. Die Verwendung (und Verschwendung) von Resourcen sehe ich heute, im Gegensatz zu früher, eher nachrangig. Zwei Gründe: Die Ursachen des Bloating liegen in den verwendeten Bibliotheken und nicht in der Logik oder dem Code der eigentlichen Anwendung. CPU & RAM sind heute, im Gegensatz zu früher, für gefühlt mehr als 98% aller Anwendungen keine begrenzten Resourcen mehr und die Schuld ob dein Lüfter dann schnell oder langsam, oder leise oder laut dreht, kannst du heute nicht mehr dem Entwickler in die Schuhe schieben.
Auch wenn es hier wirklich Äpfel mit Birnen sein mögen, grundsätzlich ist der Artikel von der Denkweise her schon interessant. Ich bin auch ein "alter Mann" (hust) und kenne daher auch andere Konzepte. Wenn es einfach gehen soll, ist mir auch schon immer eine CLI-Anwendung lieber.
Ich bin mit dem C64 und DOS aufgewachsen. Später GEOS und auf dem PC auch GeoWorks. Ob das noch jemand kennt... Jedenfalls lief das Ding 10x schneller als ein Windows 3.1 auf meinem alten Rechner. GeoWorks 2.0 hatte ich mir auch gegönnt. Da konnte man die Apps auf seinen eigenen "Level" einstellen. Das ist ein Konzept, war mir heutzutage komplett fehlt. Also, weniger mir, aber als grundsätzlicher Gedanke.
Eine typische App-GUI erachte ich immer noch so, dass die wichtigsten Funktionen als Symbolleiste verfügbar sein können (und auch gerne als Hotkeys für Tastaturfreunde). Der Rest verschwindet in Menüs. Sehr gerne mag ich auch diese "Command Lines" in Apps, wo ich eine Suchfunktion habe. Damit wäre die GUI dann zweitrangig.
Die Diskussion um Gnome oder KDE finde ich manchmal etwas überflüssig. Beide Systeme verfolgen ihre Ansätze. Ich könnte mit Gnome nicht arbeiten, wenn ich dann merke, dass mir irgendwo etwas fehlt. Das Problem gibt es (für mich) bei KDE nicht. KDE könnte es aber wie Gnome machen, mit minimalistischer GUI (wäre heute mit Handarbeit verbunden), aber "erweiterte Features" könnten beispielsweise über eine "Command Line" (Ctrl+P o.ä.) abrufbar sein. Wenn man sich neuere KDE-Apps anschaut, werden diese inzwischen etwas einfacher gehalten (jedenfalls mein Eindruck). Den größten Fail hat sich aus meiner Sicht Gnome mit den CSD erlaubt, oder dass Buttons in der Titelleiste sind. Das kann ich auf dem Desktop nicht ab.
Zuguterletzt ist Electron eigentlich eine "fette Sau". Kann alles, macht dem Entwickler wohl wenig Ärger, weil ja alles mitgeliefert wird, aber eigentlich sind es immer überdimensionale Web-Apps im mitgelieferten Browser. Den Schuh müsste sich initial aber Firefox mit seiner XUL-Oberfläche anziehen, der das ins Rollen gebracht hat (jedenfalls fühlt es sich für mich so an). Hier vergleiche ich wieder mit GeoWorks, was als hochoptimierte Anwendung x-mal schneller läuft. Man stelle sich so eine Software heute auf einem Eee-PC vor, das wäre immer noch verflucht schnell...
Noch ein alter, weißer (weiser?) Mann hier. Ich finde überhaupt nicht, dass das ein Vergleich zwischen Äpfeln und Birnen ist. Schließlich geht es doch einfach darum, ein Programm oder einen Dienst möglichst flüssig bedienen zu können, ohne, dass einem die Oberfläche dabei im Weg steht. Ob das dann eine TUI oder GUI ist, sollte dann doch keine Rolle mehr spielen, oder? Bevor ich mir eine schwergewichtige Electron-App im Flatpak zumute, schaue ich prinzipiell immer zuerst nach einer Terminalversion oder einer GUI, die lokal installierbar ist.
Danke für den Artikel, ein sehr spannender Vergleich wie ich finde! Gerade in letzter Zeit ist mir das bei Thunderbird und Intellij auch extrem aufgefallen (weil ich bestimmte Dinge tun wollte): Die UI sind eigentlich tiptop, angenehme Kontraste, responsiveness und so, aber die UX ist einfach furchtbar. Beispiel Thunderbird: im "Startbild" findet man In 3 von 4 Ecken zusätzliche Einstellungen/Funktionen.
Das Terminal bietet sicher den Vorteil, dass alles an einem "Ort" ist. Was mich aber sehr stören würde, ist, dass es ohne Dokumentation (bzw. mindestens eigene Notizen) wohl nicht geht. Gerade nicht-alltägliche Funktionen müsste ich dauernd nachschlagen. Das würde mir furchtbar auf die Nerven gehen. Gibt es Meinungen zu diesem Punkt?
(Dazu ist zu evtl. zu sagen, dass ich noch kaum 2 Jahre mit Linux unterwegs bin und das Terminal nach wie vor nicht "in Fleisch und Blut" habe - und für den Privat-/ Freizeitbereich auch keinen Grund sehe, das zu ändern)