Benutzerzentrierte Softwareentwicklung – Herausforderungen bei der Wahl der richtigen Client Technologie

In vielen Softwareentwicklungsprojekten muss ein Entscheid für eine passende Client Technologie getroffen werden. Nicht immer wird der Entscheid durch bereits vorhandene Plattformen vorweggenommen. Oft ist das Projektteam gefragt, eine geeignete Technologie zu identifizieren und für die Umsetzung vorzuschlagen. Usability Experten sollten daher neben Fähigkeiten in den Kernbereichen des Usability Engineering – darunter zum Beispiel die Anforderungsanalyse, Gestaltung und Evaluation – auch über ein technisches Basiswissen über verschiedene GUI Frameworks verfügen. Dies ermöglicht ihnen, bereits beim Entscheid für eine Client Technologie die Sicht des Benutzers einfließen zu lassen und damit die Weichen für die Entwicklung benutzerfreundlicher Software zu stellen.

Neue Client Technologien kommen häufig bei der Ablösung älterer Systeme oder zur Entwicklung neuer Systeme zum Einsatz. Als Projektziel wird meist auch eine bessere Bedienqualität angestrebt. Diese ergibt sich aber nicht automatisch alleine aus dem Einsatz einer neuen Technologie. Bei der Auswahl der Client Technologie sollten daher in erster Linie nicht die Technik und unternehmensspezifische Rahmenbedingungen ausschlaggebend sein, sondern insbesondere die Benutzer und deren Anforderungen.

Deshalb muss eine Client Technology für die Entwicklung des Graphical User Interface (GUI) verwendet werden, mit der die Usability Ziele erreicht werden können. Usability Experten sollten daher bei der Auswahl der richtigen Client Technologie mitwirken, da ein direkter Zusammenhang zur Konzeption und Modellierung des GUI besteht. Zum Beispiel müssen die enormen Freiheitsgrade bei der GUI Gestaltung, wie sie etwa gerade im Umfeld von Rich Internet Applications (RIA) vorherrschen, durch Usability Experten in die richtigen Bahnen gelenkt werden. Umgekehrt gibt es bei manchen Client Technologien auch zahlreiche Einschränkungen, die wertvollen Spielraum bei der Gestaltung nehmen oder ein Zurückgreifen auf Zusatzkomponenten erfordern. Der Benutzer ist letztlich der Leidtragende, wenn Konzepte nicht konsequent und konsistent umgesetzt werden können.

Die erste Weiche bei der Umsetzung eines GUIs wird mit der Wahl des Client Ansatzes gestellt. Jedem Client Ansatz können verschiedene Implementierungstechnologien zugeordnet werden.

Rich Clients
Handelt es sich zum Beispiel um eine hochinteraktive Anwendung mit ausgeprägten Grafikanforderungen, so empfiehlt sich nach wie vor die klassische Implementierung als Rich Client. D.h. die Benutzeroberfläche, sowie die Präsentations- und clientseitige Business Logik ist für die Applikation lokal verfügbar und kann ohne Netzwerkanbindung unmittelbar in den Arbeitsspeicher geladen werden. Das flüssige Arbeiten des Nutzers wird dabei in der Regel jedoch über Installationszwang erkauft. Zudem kann sich die Verteilung und Aktualisierung der Software als problematisch erweisen. Gerade bei großen, verteilt agierenden Firmen müssen lokale Anwendungen aufwändig in die vorhandene IT-Landschaft eingepflegt werden.
Technologien: Windows Forms, Java Swing, Eclipse Rich Client Platform, Windows Presentation Foundation.

Thin Clients
Der Thin Client Ansatz eignet sich für einfache Anwendungen mit hoher Verbreitung. Die verschiedenen Applikationskomponenten sind auf einem Server gespeichert. Die Bedienoberfläche wird zur Laufzeit in Form von HTML geladen und in einem Webbrowsers angezeigt und bedient. Durch den weitgehenden Verzicht auf lokale Verarbeitung der Nutzerinteraktion lassen sich die Anforderungen an die Hardware und Software des Nutzers minimieren. Auf der anderen Seite können bestimmte Visualisierungen und Interaktionen nur bedingt umgesetzt werden.
Technologien: Active Server Pages (ASP, ASP.NET), PHP, Ruby, Java Server Faces (JSF).

Rich Internet Applications (RIA)
RIAs finden im Zuge immer leistungsfähigerer Browser und Hardware zunehmend Verbreitung bei der Entwicklung von Unternehmenssoftware. RIAs werden ebenfalls über einen Webbrowser angezeigt und bedient. Anders als bei Thin-Clients wird jedoch eine höhere Dynamik der Benutzeroberfläche erzielt, indem zur Laufzeit neben der Visualisierung auch Teile der Präsentations- und Businesslogik auf den Computer des Nutzers geladen werden – zumeist als Client-seitige Skriptsprachen. Auf Nutzereingaben kann die Applikation unmittelbar, d.h. meistens ohne Kommunikation mit dem Server, reagieren. Teilweise muss jedoch ein Plug-in installiert werden. Für die Entwicklung zu beachten ist, dass die Umsetzung individueller Bedienelemente sehr aufwendig sein kann. Umständlich aus Sicht des Nutzers kann sich auch der Austausch und die Kollaboration zwischen RIA und dem Betriebssystem gestalten, sowie mit die Kollaboration mit anderen Anwendungen (z.B. kopieren von Dateien zwischen Anwendungen oder vom Desktop).
Technologien: Google Web Toolkit, ASP .NET mit AJAX, Microsoft Silverlight, Adobe Flex.

Das Ziel für Usability Experten sollte daher sein, die Vor- und Nachteile schon vor dem Entscheid für eine Client Technologie gegeneinander abzuwägen. Dann kann die Sicht des Benutzers bereits einfließen und es können wichtige Weichen für die GUI Entwicklung gestellt werden. Eine Analyse der unterschiedlichen Client Technologien hinsichtlich „Usability- und User Experience Potential“ kann helfen, die verschiedenen Ansätze zu vergleichen. Als Beurteilungsdimensionen können zum Beispiel die folgenden Kriterien herangezogen werden:

  • User Interface Prototyping: Aufbauen von Low- und Hi-Fi Prototypen, Unterstützung von evolutionärem Prototyping, z.B. in der gleichen Werkzeug-Umgebung
  • Screen Design Integration: z.B. Import von Adobe Photoshop Dateien in den GUI Builder
  • Modellierbares interaktive Verhalten: Gefahren und Chancen „freier Gestaltung“ von individuellen UI Elementen und Controls, Verfügbarkeit von Erweiterungen (zusätzliche GUI Elemente)
  • Programmierung: UI Programmieraufwand, Zusammenspiel mit der Softwarearchitektur

Für Usability Experten ist der Zeitpunkt gut, sich damit auseinanderzusetzen, denn viele der vorgestellten Client Technologien werden in den kommenden Jahren verstärkt Einzug in den Informationssystemen großer Unternehmen halten.

Welche Erfahrungen haben Sie im Umgang mit verschiedenen Client Technologien? Wenn Sie sich ebenfalls mit verschiedenen Client Technologien beschäftigen, möchte ich Sie an dieser Stelle auch zum Track der German UPA im Rahmen der Konferenz Mensch & Computer 2010 in Duisburg einladen. Im Veranstaltungsprogramm finden Sie ein Tutorial zum Thema Client Technologien.

Schreibe einen Kommentar

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