Usability in Embedded Development: Wie gute Debug-Interfaces Entwicklern und Testern Zeit und Frust sparen

Jürgen Welzenbach

18/12/2025

Usability steht allgemein hoch im Kurs – und wird dennoch immer wieder stiefmütterlich behandelt.

Warum ist das so? Weil Usability oft erst dann auffällt, wenn sie fehlt. Sie lässt sich schwer messen, wird nicht immer spezifiziert – und im Alltag häufig durch technische Machbarkeit, Zeitdruck oder Gewohnheit überlagert. Dabei merken wir alle sehr schnell, wie wichtig sie ist, wenn wir selbst betroffen sind.

Die besten Features sind die, die keiner bemerkt

Ich kenne das zum Beispiel aus meinem Alltag. Am Morgen will ich mir schnell eine Tasse Milch aufwärmen – eigentlich eine simple Aufgabe. Aber der Mikrowellenofen macht daraus ein kleines Geduldsspiel:

Erstmal das Touchpanel „wecken“. Und anstatt die letzten Einstellungen einfach wieder zu verwenden, muss ich jedesmal wieder die Leistung einstellen und die Zeit wählen. Die Touchfelder reagieren träge oder zu schnell, manchmal überspringe ich versehentlich eine Auswahl.

Wenn man noch halb verschlafen ist, sorgt das für ordentlich Frust. Ich hab das dem Küchenbauer gesagt. Seine Antwort: „Seien Sie froh, dass Sie dieses Modell überhaupt noch bekommen haben. Die neueren sind noch schlimmer.“

Hmm - das hilft mir jetzt nicht wirklich weiter. Sollte ich dann doch mal dem Hersteller schreiben?

Debug-Interfaces: Der unterschätzte Usability-Brennpunkt

Und genau deshalb lohnt es sich, das Thema Usability auch in der Softwareentwicklung ernst zu nehmen.

Oft heißt es bei uns: „Das HMI-Design kommt vom Kunden, wir setzen nur um.“ Aber halt – es gibt ja auch die internen Schnittstellen. Ein Debug-Interface zum Beispiel.

Und da habe ich schon einiges erlebt:

  • Befehle, die man – inklusive exakter Groß- und Kleinschreibung – fehlerfrei eintippen muss. Kein Leerzeichen zu viel!
  • Ein Parameter in Dezimal eingegeben? Pech, das Interface erwartet Hexadezimal.
  • Der eine Befehl will optionale Parameter ohne Bindestrich, der nächste mit.
  • Rückmeldung, ob der Befehl erfolgreich ausgeführt wurde? Fehlanzeige.

Das alles nervt gigantisch. Aber warum definieren Entwickler solche Interfaces, die sie selbst tagtäglich nutzen müssen? Die Antwort könnte lauten: "Weil sie's können". Oder besser: "Weil sie's eben doch nicht können" und die Leidensfähigkeit schier grenzenlos ist.


Klein, aber oho: Usability für interne Tools

oder: Hex, Dez, Enum – macht’s dem User einfach (auch wenn er Entwickler ist)

Aber wie kann gute Usability einer solchen Schnittstelle dann aussehen? Hier ein paar Vorschläge - in einem aktuellen, real existierenden Projekt so umgesetzt:

  1. Groß-/Kleinschreibung ist egal
  2. Befehle können abgekürzt werden. Sobald zwei oder mehr Buchstaben für einen Befehl genügen (also nur ein Befehl mit diesen beginnt): Treffer!
  3. Ganz heißer Tipp: Backspace kann auch via Serial Terminal funktionieren
  4. Hexa- und Dezimalzahlen erlauben
  5. "sprechende" Bezeichner für z.B. I2C-Clients. Dann könnte ein Befehl, zum Setzen von Registern so aussehen: "i2c audio 0x4 32"
  6. Wenn ein Befehl eine Liste von Optionen erlaubt, dann sollte der Befehl ohne Parameter die Optionen auflisten. Das erspart lästige Suche in der Dokumentation. Geheimtip: Ist der Parameter ein Enum-Typ, dann macht den iterierbar und stellt eine "c_str()"-Funktion zur Verfügung. Dazu mehr in einem anderen Blog-Artikel.
  7. Überhaupt: Das Debug-Interface sollte sich selbst dokumentieren. "help all" listet zum Beispiel alle Befehle und die jeweilige Hilfe dazu.
  8. In dem Projekt gibt's ein richtiges Filesystem? Na, dann bitte die Kommandos "dir", "del", "cat", "copy" implementieren. Ist nicht aufwändig, aber ungemein hilfreich im weiteren Projektverlauf oder für die Tester. Dann kann man schnell ein Backup einer Config-Datei anlegen, um sie später wiederherzustellen.
  9. Aliases für Befehle: Die Linuxer verwenden gerne "rm", Windows-User "del". Hey - warum nicht beiden das Leben erleichtern? Seid nett zueinander ;-)

So viel vorweg: Die Tester werden euch zu Füßen liegen. Und wenn dann auch noch die Kunden oder andere Zulieferer mit dem Interface arbeiten müssen, habt ihr mit Sicherheit einen Stein im Brett!


Geschrieben von Jürgen Welzenbach

Jürgen hat nach seinem Elektrotechnikstudium in Erlangen seine Diplomarbeit in Kooperation mit einem Hersteller von ophthalmologischen Geräten und der Universitätsaugenklinik durchgeführt.

In zwei Erlanger Unternehmen fand er zur Embedded Software und hat vor allem HMIs für Baumaschinen und Laboranalysegeräte entwickelt.


Weitere Beiträge

  • 01/12/2025
  • Allgemein, Hardware, Normen, Requirements Engineering

Immer wieder lese ich Beiträge, in denen IEC 60601-1-2 als alleinige EMV-Anforderung an Medizinprodukte genannt wird. Aber wer glaubt, dass IEC 60601-1-2 alle EMV-Anforderungen für Medizinprodukte abdeckt, kann leicht ...

Weiterlesen
  • 26/11/2025
  • Allgemein, Hardware, Normen, Qualität, Testen

Warum EMV-Tests in der Medizintechnik lebenswichtig sindStellen Sie sich vor, ein Patient liegt während einer kritischen Überwachung im Krankenhaus. Plötzlich klingelt das Smartphone eines Besuchers – und das Überwachungsgerät ...

Weiterlesen
  • 20/11/2025
  • Allgemein, Hardware, Qualität, Technik, Testen

Haben Sie schon einmal darüber nachgedacht, günstige Komponenten in China zu beschaffen? Die Versuchung ist groß, wir kennen das. Und wir haben bereits einige Erfahrungen gesammelt, von denen ich ...

Weiterlesen
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst, und hilft unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.

Unbedingt notwendige Cookies

Unbedingt notwendige Cookies sollten jederzeit aktiviert sein, damit wir deine Einstellungen für die Cookie-Einstellungen speichern können.