"Do it yourself" beim Prototyping von Benutzerschnittstellen:

User-Interface wird zum Master der Anwendung

20.01.1989

Anwender machen sich Gedanken darüber, wie sie zukünftig grafisch-interaktive Benutzerschnittstellen in Fenstersystemen selbst "prototypen" und damit effizient und entscheidend Einfluß auf die Neuentwicklung von Systemen ausüben können.

Objektorientierte Benutzerschnittstellen auf der Basis hochauflösender Bitmap-Bildschirme mit Darstellung der Ausgabeinformation in Fenstern, sowie neuen Dialogprinzipien wie "Direkte Manipulation" erleichtern dem ungeübten Benutzer einen schnelleren Zugang zum System in gleicher Weise wie geübte Benutzer effizient unterstützt werden.

Diese neuen Konzepte der Benutzerschnittstelle, die ursprünglich Anfang der 70er Jahre in den Forschungslabors von Xerox in Palo Alto entstanden, zeigen sich heute in unzähligen Anwendungen auf den unterschiedlichsten Rechnern.

Für die Vielzahl an PC-Softwarepaketen werden diese Techniken bisher nur vereinzelt eingesetzt, (zum Beispiel: Apple / Macintosh). Der Markterfolg von Softwareprodukten mit derartigen Benutzerumgebungen läßt hoffen, daß sich auch andere Hersteller künftig mehr in diese Richtung orientieren. Zur Realisierung derartiger Konzepte ist die Beachtung unterschiedlicher Einflußgrößen und Standards, die im folgenden beschrieben werden, notwendig.

Das Zusammenwachsen von Funktionen an traditionellen Arbeitsplätzen in Büro und Produktion mit Anwendungen aus übergeordneten sowie verteilten Systemen erfordert die Vereinheitlichung der zukünftigen Benutzerschnittstellen unter Beachtung sich abzeichnender Standardisierungsbemühungen.

Neben vereinzelten System-Entwicklungen namhafter Softwarehäuser, wie MS-Windows (Microsoft), GEM (Digital Research), Collage (Siemens) sind vor allem die Entwicklungen im Bereich der Systemanwendungs-Architekturen, wie den Konzepten der X/Open Group beziehungsweise des SAA-Standards von IBM, Beachtung zu schenken. Mit dem vom MIT (Massachusetts Institute of Technology) in Boston entwickelten System Xwindows, das sich zur Zeit in einem Stadium erster Anwendungsmöglichkeiten befindet (erste Versionen von X11 stehen bereits zur Verfügung), zeichnet sich ein Standard für Unix-Umgebungen ab.

Innerhalb des strategischen IBM-Konzeptes SAA wird der Presentation-Manager als der Standard für die Gestaltung von neuen Benutzerschnittstellen festgeschrieben. Es ist abzuschätzen, daß innerhalb der nächsten ein bis zwei Jahre weite Bereiche von Anwendungssoftware, die bisher auf üblichen DOS-PCs installiert waren, unter der neuen grafisch-interaktiven Benutzeroberfläche im Fenstersystem Presentation-Manager zu erhalten sind. Damit wird von seiten der Workstation- und PC-Welt beziehungsweise Unix- und OS2-Systemen, die Ausprägung der Benutzerschnittstelle neuer DV-Systeme festgelegt.

Der Aufwand für die Entwicklung neuer grafisch-interaktiver Benutzerschnittstellen ist erheblich größer als bei herkömmlichen Benutzerschnittstellen. So liegt der Anteil an Zeilencodes für herkömmliche Systeme zwischen Anwendung und Benutzerschnittstelle im Verhältnis von zirka 80 zu 20 Prozent, während das Verhältnis bei Benutzerschnittstellen in Fenstersystemen bei zirka 30 zu 70 Prozent liegt. Diese Zahlen sind grobe Schätzungen. Selbstverständlich hängt dieses von den einzelnen Zielvorgaben ab.

Sehr viel größere Anstrengung beim Übergang von herkömmlichen Benutzerschnittstellen zu interaktiven Benutzerschnittstellen in Fenstersystemen sind durch die Umstellung auf eine ganz andere Programmierphilosophie zu erwarten. So sind herkömmliche Programmierer gewohnt, von der Anwendung aus die Dialogschritte zu steuern. Eine ganz andere Vorgehensweise findet sich bei interaktiven Benutzerschnittstellen in Fenstersystemen. Hier erfolgt eine vollständige Umkehrung des genannten Prinzips. Die Benutzerschnittstelle wird zum Master der Anwendung. Sie steuert die Abfolge einzelner Dialogschritte sowie die Ablaufkontrolle der entsprechenden Anwendungsbereiche.

X/Open- und SAA-Entwicklung beachtlich

Bildlich gesprochen ergibt sich damit eine Programmierweise, die auf dem Kopf steht. Wurde bei herkömmlichen Systemen zunächst die Funktionalität implementiert und erst am Ende darüber eine Benutzerschnittstelle gestülpt, so erfordern zukünftige Benutzerschnittstellen eine umgekehrte Vorgehensweise. Zunächst erfolgt die Implementierung der Benutzerschnittstelle, die dann in weitere Bereiche der Anwendungsentwicklung vertieft wird.

Ein großer Vorteil dieser Vorgehensweise ist die Möglichkeit, bereits frühzeitig mit den Endbenutzern die neuen Systeme (zumindest von seiten der Benutzerschnittstelle) zu evaluieren und bei Bedarf rechtzeitig ändern zu können. Mit dieser Methode wird dadurch ein erheblicher Schritt von einer korrektiven hin zu einer konzeptionellen, weil vorausschauenden Softwareergonomie betrieben.

Für die Entwicklung künftiger Benutzerschnittstellen hat sich der Einsatz von Fenstersystemen bewährt. Diese Fenstersysteme stellen dem Entwickler Basiskomponenten für die Darstellung und Manipulation von grafischen Objekten in Fenstersystemumgebungen zur Verfügung. Für die Programmierung von Anwendungen und die Nutzung dieser Fenstersysteme werden hierzu entsprechende Toolboxes zur Verfügung gestellt, in denen der Benutzer die Einbindung des Fenstersystems in seine Anwendung realisieren kann. Dabei ist der Aufwand, ein Fenstersystem vollständig kennenzulernen und damit Anwendungen programmieren zu können, als sehr hoch einzuschätzen. Aus diesem Grund wurden auf dem Fenstersystem aufbauend weitere Werkzeuge entwickelt. Beispiele für derartige Werkzeuge sind Dialoggeneratoren beziehungsweise UIMS (User Interface Management Systeme), wie der in Zusammenarbeit mit dem Fraunhofer-Institut für Arbeitswirtschaft und Organisation (IAO) entwickelte Dialog-Manager.

Dieser Dialog Manager besteht aus zwei Teilen. Zum einen dem Editor für die Definition der einzelnen Dialogobjekte wie Fenster, Menüs, Knöpfe etc.. Dies erfolgt ebenfalls durch grafisches Manipulieren der verschiedenen Dialogobjekte. Der zweite Teil des Dialog Manager besteht aus der Regelverbindung der einzelnen Dialogabfolgeschritte. Hierbei werden in Form von einer Entscheidungsmatrix die einzelnen Dialogregeln definiert.

Dialogregeln in Matrixform definiert

Der Vorteil bei der Verwendung des Dialog-Managers besteht vor allem darin, daß

- der Benutzer nicht die einzelnen Aufrufe des zugrundeliegen Fenstersystems kennenlernen muß,

- ein sehr schneller Prototypenaufbau mit Hilfe des Dialog-Managers möglich ist,

- spätere Änderungen beziehungsweise die generelle Wartbarkeit des Dialog-Systems einfach ist,

- nicht EDV-Fachkräfte, die aus dem Anwendungsbereich kommen, mit Hilfe dieses Werkzeuges grafisch-interaktive Umgebungen aufbauen können,

- eine systemunabhängige Schnittstelle zur Verfügung gestellt wird, die eine Portierung dieses Systems auf andere Basiskomponenten der Hard- und Software vorbereitet.

Der erste Schritt zur erfolgreichen Systementwicklung liegt in der Operationalisierung des Problems durch den Anwender an den Entwickler. Hierbei hat der Anwender (meist ein "Nicht-Informatiker) in den meisten Fällen mit den Schwierigkeiten zu kämpfen, seine Vorstellung von der Funktionalität und vom Dialog der entsprechenden Anwendung umzusetzen und dem Entwickler aussagefähiges Material zur Verfügung zu stellen.

Unsere Erfahrungen haben gezeigt, daß sich gerade an dieser Schlüsselstelle der Entwicklung der Einsatz des Dialog-Managers als Werkzeug zur einfachen Generierung von grafischen Benutzeroberflächen und zur Simulation von Dialogen bewährt hat. Innerhalb von zwei Tagen wurden Anwender verschiedenster Bereiche und Branchen mit den Basiskomponenten dieses Werkzeugs vertraut gemacht.

Nach weiteren zwei Tagen, in denen die Anwender unter Anleitung die ersten Schritte ihres Szenarios erstellten, war es ihnen möglich, mit Disketten und Know-how bepackt, an ihren heimischen Arbeitsplätzen die Bild-Szenarien und Dialog-Simulationen weiter zu entwickeln. Klar strukturierte Zielvorgaben ohne Informationsverluste sowie neue Anstöße von seiten der Anwender, haben dazu beigetragen, die Phase der Systemimplementierung entscheidend zu verkürzen.