Anwenderlogik und Programmiererlogik

Eine aktuelle softwaretechnische Problematik bringt mich dazu, hier ein paar Gedanken zur Erwartungshaltung von Anwendern und zur Denkweise von Programmierern nieder zu schreiben.

Im Rahmen diverser Managementeerweiterungen haben wir eine Multiscreen-Unterstützung in INVEP eingebaut. Das bedeutet, dass die Software in der Lage ist, bis zu 16 Bildschirme gleichzeitig zu unterstützen. Die Frage nach dem Warum ist leicht geklärt. Das Programm ist eine Multiwindow-Anwendung, d.h. für jede Aufgabe geht ein eigenes Fenster auf und da es möglich ist, mehrere Vorgänge gleichzeitig zu bearbeiten oder verschiedene Auswertungen miteinander zu vergleichen, kann es durchaus sinnvoll sein, mehrere Bildschirme einzusetzen. Nebenbei bemerkt kann unsere Software schon seit geraumer Zeit mehrere Bildschirme unterstützen. Fenster, die auf einen Bildschirm geschoben werden, werden auch das nächste mal wieder dort geöffnet.

Tatsächlich gibt es mittlerweile Kunden, die INVEP auf 6 Bildschirmen nutzen (zwei Reihen a drei Bildschirme). Hier wird es programmtechnisch spannend, denn wo sollen neue Fenster jeweils geöffnet werden. Die einfache Antwort „dort wo sie das letzte mal standen“ greift zu kurz, denn wenn mehrere gleichartige Fenster geöffnet werden, ist es sicherlich nicht sinnvoll, sie alle übereinanderzulegen, wenn auf dem Gesamtsystem noch Platz ist (oder doch?). Eine andere Frage ergibt sich bei der automatischen Positionierung. Wenn durch eine Konstellation ein Fenster so geöffnet wird, dass es auf einem Bildschirm anfängt und auf dem nächsten endet, ist das dann im Sinne des Anwenders (meist wohl nicht). Aber welcher Logik soll man folgen, wenn Fenster automatisch repositioniert werden? Denkbar ist es z.B. es nur bei wirklich großen Fenstern zuzulassen, dass sie sich automatisch über mehrere Bildschirme erstrecken. Kleine Fenster dagegen werden immer so positioniert, dass sie vollständig auf einen Schirm passen. Aber was ist ein kleines Fenster? Da könnte man sagen, ein Hinweis ist ein kleines Fenster. Leider ist da zu kurz gegriffen, denn ein Hinweis kann auch sehr umfangreich sein, und dann ist es eben kein kleines Fenster mehr. Zudem sind Hinweise meistens ortsgebunden (wenn ich links klicke, erwarte ich nicht, dass der Hinweis rechts aufgeht).

Egal, wie man es macht; Programmierer denken sich ein logisches System aus, d.h. sie versuchen zu erraten, was der Anwender erwartet, und wenn die Erwartungshaltung nicht getroffen wird, wird schnell unterstellt, dass die Programmierer nicht nachgedacht hätten (das kommt natürlich auch vor).Wahrscheinlich werden wir die Logik unseres neuen Fenstermanagements noch ein dutzend male umprogrammieren müssen, bis wir wirtklich die Erwartungshaltung der meisten Anwender treffen.

Irgendwie sehne ich manchmal die 80iger Jahre herbei, da gab es zumeist keine Fenstertechniken, man musste sich über solche Dinge keine Gedanken machen und trotz einer sehr starren Bildschirmsteuerung waren alle zufrieden (in der Vergangenheit ist alles schön).

Umfangreiche Möglichkeiten schaffen noch mehr Erwartungen, neue Optionen schaffen Auswahlmöglichkeiten, Auswahlen zu treffen kostet Zeit und der Verlust von Zeit macht unzufrieden. Stellt sich die Frage, was unzufriedener macht, die mangelnden Auswahlmöglichkeiten oder der Zeitverlust auf Grund zu vieler Auswahlmöglichkeiten? Aber das ist wohl eine Frage, die sich hier nicht wirklich beantworten lässt.

Sind halt nur so ein paar Gedanken…

Dieser Beitrag wurde unter Programmieren an sich abgelegt und mit verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.