The Use of Rapid Prototyping for Interface Design
by Michael Jürgens
- Einleitung
- Die Methoden des Rapid Prototyping
- Prototyping Tools
- Chancen und Risiken des Rapid Prototypings
Einleitung
Dieser Essay behandelt das Thema "The Use of Rapid Prototyping for Interface Design". Zuerst wird der Begriff des Rapid Prototyping definiert und die Bedeutung beim Interface Design hervorgehoben. Ausgehend von den Methoden des Rapid Prototyping wird auf die verschiedenen Techniken eingegangen und ein Überblick über die Rapid Prototyping Tools gegeben. Abschließend werden noch die Chancen und Probleme des Rapid Prototypings diskutiert.Die Definition von Rapid Prototyping nach Boar lautet folgendermaßen: “Rapid Prototyping is a specific Strategy for performing requirements definitions wherein user needs are extracted, presented and succesfully redefined by building a working model of the ultimate design quickly”.
Bei der Entwicklung von Benutzeroberflächen müssen viele Entscheidungen getroffen und Spezifikationen festgelegt werden. Unter anderem müssen Entscheidungen bezüglich des Designs getroffen werden. Dabei ist es sehr hilfreich für das Entwicklungsteam wenn man das Design visualisieren kann, um die Anforderungen an ein solches Design zu verdeutlicht. Wenn erstmal das Design implementiert ist können Änderungen nicht mehr ohne weiteres vorgenommen werden. Aus diesem Grund wird bei diesen Entwicklungsprozessen das Rapid Prototyping verwendet. Rapid Prototyping ist ein Verfahren, bei dem ein Prototyp des gewünschten Endproduktes erstellt wird, zum Beispiel eine grafische Benutzeroberfläche, die von Testnutzern getestet wird und Stück um Stück an die Anforderungen angepasst wird.
Insbesondere bei der Entwicklung von User Interfaces (UI) findet das Prototyping rege Anwendung, da das Design der Benutzeroberfläche ein wichtiger Faktor für den Erfolg der Software ist. Wenn das UI übersichtlich gestaltet ist, intuitiv bedienbar ist und der Anwender gerne damit arbeitet ist der Erfolg des Endproduktes so gut wie sicher.
Die Entwicklung von Uis kann man in zwei Hauptbereiche einteilen: zum einen die Entwicklung von webbasierten UIs, wie zum Beispiel Suchmaschinen, und die Entwicklung von UIs für Anwednungssoftware wie zum Beispiel Microsoft Office. Dabei liegt auf der Hand dass die Entwicklung von Prototypen für webbasierte UIs nicht so komplex ist wie die Entwicklung von Prototypen für Anwendungssoftware, in der Unmengen an Grafiken, Animationen und Multimedia Elementen enthalten sein können.
Rapid Prototyping ist eine Entwicklungsmethode bei der die Entwickler einen anderen Ansatz verwenden wie bei der Entwicklung von Software. Statt des Wasserfallmodels kommt bei dieser Methode das Spiralmodell zum Einsatz. Das Spiralmodell besteht im wesentlichen aus drei Phasen, der Konzeption, der Erstellung des Prototypen und der Evaluation.
In der Konzeptionsphase werden die Anforderungen definiert und redefiniert, sollte man durch die Evaluation zu neuen Schlüssen kommen. Nach diesen Anforderungen wird in der Entwicklungsphase der Prototyp erstellt und in der Evaluationsphase wird der Prototyp von Benutzern getestet. Das Feedback und die Erkenntnisse fließen dann wieder in die nächste Konzeptionsphase ein. Voraussetzung bei diesem Zyklus ist dass der Prototyp einfach und schnell zu erstellen ist, um zukünftige Änderungen und Modifikationen vleicht zu ermöglichen.
Allgemein gilt bei der Entwicklung von Prototypen, je genauer diese der zu entwickelnden Benutzeroberfläche entsprechen desto wertvoller und nützlicher sind die Ergebnisse der Eavluationen durch die Testnutzer. Der Nutzen des Rapid Prototypings liegt somit sowohl in der Visualisierung des Produktes als auch darin, entwickelte Designs zu testen und ein konkretes Feedback der Testnutzer zu bekommen. Somit wird auf Seiten der Entwickler Zeit, Arbeit und Geld eingespart und man kann die hohe Qualität des Endproduktes sicherstellen.
Bevor man sich überlegt welche Art von Prototyp man verwenden möchte sollte man sich über einige Dinge im Klaren sein. Zuerst muss das Entwicklungsteam die Gruppe der Nutzer festlegen, für wen also die Benutzeroberfläche entwickelt wird und welche Aufgaben der Benutzer mit der Software erfüllen soll.
Der nächste Schritt besteht darin sich mit der Benutzeroberfläche an sich befassen, welcher Inhalt soll dargestellt werden, wie sollen die Menüs aussehen, welche Symbole werden verwendet usw.
Sind diese grundlegenden Dinge geklärt muss man sich entscheiden welche Methoden und Techniken des Rapid Prototypings verwendet werden sollen.
Die Methoden des Rapid Prototyping
Je nach Autor werden die Methoden des Rapid Prototypings unterschiedlich eingeteilt. Alles auf einen Nenner gebracht ergeben sich drei Klassen in die die Methoden eingeteilt werden: Horizontal / Vertikal, Top Down / Bottom up und Low Fidelity / High Fidelity.Beim horizontalen Ansatz wird der Prototyp zuerst vollständig nach den zuvor festgelegten Anforderungen entwickelt. Hierbei ist es wichtig einen Gesamtüberblick über die Benutzeroberfläche zu geben, die Details werden später hinzugefügt. Somit wird der Anschein eines vollfunktionsfähigen Prototyps erweckt, da alle wichtigen Funktionen darin enthalten sind.
Der vertikale Ansatz wird der Fokus auf die Grundfunktionen der Benutzeroberfläche gelegt. Diese werden dabei detailgetreu dargestellt. Bei diesem Ansatz ist die Vollständigkeit des Prototypen nicht so wichtig, sondern es wird versucht die wichtigsten Aspekte darzustellen.
Beim Top Down Ansatz werden zuerst die Funktionen der Benutzeroberfläche analysiert.Basierend darauf wird das Konzept entworfen, nachdem der Prototyp entwickelt wird. Man beginnt zum Beispiel mit dem Hauptsreen, und ausgehend davon werden die Unterbereiche des Hauptsceens entwickelt, von oben nach unten. Diese Methode wird dann angewandt, wenn schon zu Anfang des Projektes genaue Informationen über dessen Funktionalität vorliegen.
Im Gegensatz dazu steht der Bottom Up Ansatz, eine iterative Methode die nach dem “Trial and Error” Prinzip funktioniert. Dabei wird der Prototyp nach einem “besten Vorschlag” generiert. Gibt es einen besseren Vorschlag wird der Prototyp ergänzt oder neu ertsellt. Diese Methode ist nicht mehr zeitgemäß und zudem mit viel Aufwand verbunden. Daher wird sie nur noch selten verwendet, meistens dann wenn es schwierig ist die Funktionalität der Benutzeroberfläche im Vorfeld zu bestimmen.
Der Low Fidelity / High Fidelity Ansatz bezieht sich auf die Detailgenauigkeit des Prototypen. Generell kann man sagen dass sich der Prototyp zu Beginn der Entwicklungsphase im Low Fidelity Stadium befindet und zum Ende im High Fidelity Stauts.
Beim Low Fidelity Ansatz wird also Wert darauf gelegt dass der Prototyp in kürzester Zeit zur Verfügung steht. Dabei wird in Kauf genommen dass der Prototyp nicht bis ins Detail dem Endprodukt entspricht. Das geht sogar soweit dass der Prototyp in der Funktionalität dem Endprodukt ähneln sollte, das Aussehen der Oberfläche muss nicht dem Endprodukt entsprechen. Durch die schnelle und günstige Bereitstellung, sowohl was Zeit als auch Kosten angeht, kann bei dieser Mehtode mehr Gewicht auf die Entwicklungszyklen gelegt werden, das heisst sie können öfters durchlaufen werden.High Beim High Fidelity Ansatz hingegen wird darauf geachtet, dass der Prototyp so genau wie möglich dem Endprodukt entspricht, sowohl was das Aussehen betrifft als auch die Funktionalität – das heisst der Prototyp muss zum Beispiel auf Maus / Tastatureingabe so reagieren wie die fertige Benutzerschnittstelle. Diese Art der Prototypen sind natürlich aufwändig zu erstellen und werden aus diesem Grund weniger zu Evaluation durch Benutzer eingesetzt sonder eher zu Marketing und Schulungszwecken.
Techniken des Prototypings
Beim Prototyping können verschiedene Techniken angewendet werden, abhängig von der gewünschten Genauigkeit bzw der Zielsetzung des Prototypings.
Man unterscheidet folgende drei Techniken: zum einen die Slide Show Technik, bei der die Funktionsweise des Prototyps dem Benutzer anhand einer Abfolge von Screens verdeutlicht wird. Diese Screens dokumentieren die Abläufe innerhalb der UIi (vgl. MMI Übung 3, Paper Prototyping). Die Screens können ganz einfach als grobe Skizzen mit Papier und Bleistift erstellt werden, oder aber auch mit einem Grafikprogramm zum Beispiel anhand von Screenshots der Ui.
Die Technik “Wizard of Oz” basiert auf einem Frage-Anwort Dialog, bei dem eine Person einen Computer simuliert. Diese Form ist für das Rapid Prototyping von Uis jedoch nicht von Bedeutung und findet in Fällen Anwedung, in denen die Erstellung von Prototypen problematisch ist.
Die Technik der “vollständigen Prototypen” hingegen ist am aufwändigsten in der Realisierung. Hierbei wird ein funktionierender Prototyp erstellt, was je nach Komplexität der UI viel Zeit in Anspruch nehmen kann. Vorteilhaft hierbei ist dass sehr detailierte Evaluationen des Prototypen durchgeführt werden können und die Spezifikationen die die Entwickeler als Resultat bekommen sind dadurch umso genauer. Bezüglich der Komplexität unterscheidet man bei dieser Technik in horizontales und vertikales Prototyping, worauf bereits im Abschnitt "Die Methoden des Rapid Prototyping" eingegangen wurde.
Abhängig von der Entwicklungsphase und der Zielsetzung unterscheidet man in revolutionäres und evolutionäres Prototyping.
Bei der Methode des revolutionären Prototypings wird der Prototyp an sich nur zu Testzwecken hergestellt. Ziel dabei ist es Daten bezüglich des Nutzerverhaltens und deren Anforderungen an die Benutzeroberfläche zu sammeln. Der Prototyp selbst wird nach der Evaluation komplett verworfen, die aus der Evaluation gewonnenen Daten werden analysiert und ausgewertet und in der Fertigungsphase wird versucht die Benutzeroberfläche möglichst genau nach diesen Daten zu entwickeln.
Beim evolutionäre Prototyping wird ein erster Prototyping erstellt, der dann getestet wird. Nach der Evaluation der gewonnenen Daten wird der Prototyp gemäß den neuen Erkenntnissen überarbeitet. Der neu entstandene Prototyp wird wiederum getestet und die Daten ausgewertet. So nähert sich der Prototyp Zug um Zug den gewünschten Spezifikationen der Benutzeroberfläche an.
Dieses Verfahren ist vor allem dann sinnvoll, wenn der Prototyp schon in der Programmiersprache geschrieben wird in der auch die Benutzeroberfläche geschrieben werden soll. Das ist vor allem der Fall wenn keine geiegneten Prototypingtools zur Verfügung stehen.Dieses Verfahren ist das Konstrukivere, denn die Ressourcen die in die Entwicklung des Prototyps gesteckt werden sind nicht verschwendet wie beim revolutionären Prototyping.
Prototyping Tools
Hat manb sich auf eine die Methode festgelegt mit der man den Prototypen entwickeln möchte stellt sich als nächstes die Frage mit welchen Tools der Prototype erstellt werden soll. Welchen Anforderungen muss ein solches Tool genügen? Es sollte haupsächlich einfach zu bedienen sein und Änderungen die man an dem Prototypen vornimmt sollten sofort sichtbar sein. Zudem ist es von großem Nutzen wenn der Prototyp die Aktionen des Nutzers protokollieren kann. Das kann in Form von Logfiles, Fragebögen usw. geschehen.Weiterhin sollte das Tool "teamfähig" sein, was heisst dass der Prototyp von verschiedenen Arbeitsplätzen aus bearbeitet werden kann, da die Entwicklung meistens im Team stattfindet. Eine Versionskontrolle ist je nach größe des Teams und der Komplexität des Prototyps sinnvoll.
Generell lassen sich die Tools zur Erstellung der Prototypen in verschienen Kategorien einteilen. Verbreitet ist die “Paper and Pencil” Kategorie, in die zum Beispiel auch das Paper Prototyping fällt (siehe MMI Übung 3). Hierbei werden Screens erstellt, die die Funktionalität der Benutzeroberfläche darstellen. Die Screens können entweder ganz einfach mit Papier und Bleistift erstellt werden oder etwas aufwendiger mit Grafikprogrammen wie Photoshop. Das Prinzip bleibt jedoch dasselbe, Prototypen dieser Art sind einfach und schnell zu erstellen, haben aber auch den Nachteil dass die Interaktivität der Benutzeroberfläche und animierte Funktionen nicht dargestellt werden können.
Das Problem der Darstellung der Interaktivität lösen die sogenannten "Facade Tools" zumindest teilweise. Hierbei handelt es sich um Programme, mit denen eine Benutzeroberfläche erstellt werden kann, hinter der sich aber keine Anwendung verbirgt. Das "Fascade Tool" ermöglicht Interaktivität insofern, als dass Ereignisse erstellt werden können, wie zum Beispiel eine Rückmeldung beim Klicken auf eine Schaltfläche. Die Fascade Tools laufen jedoch in einer eigenen Umgebung und auf Grund dessen kann der Code nicht weiterverwendet werde.
Um Prototypen zu erstellen deren Code auch bei der Entwicklung des Endproduktes verwendet werden kann benutzt man sogenannte Gui Builder. Diese Software Engineering Tools gibt es für alle gängigen Pogrammiersprachen. Der Designer kann Schaltflächen und andere visuelle Elemente plazieren und gestalten. Der Code hierfür wird automatisch generiert und kann von den Prgrammieren später weiterverwendet werden. Somit liegt der Vorteil der GUI Builder auf der Hand. Mit diesen Tools wird enorm viel Zeit eingespart und man produziert wiederverwendbaren Code, so dass am Ende der Prototypingphase die Benutzeroberfläche schon fast fertiggestellt ist.<br>
Im folgenden Abschnitt werden einige gängige Programmme vorgstellt die sich zum Erstellen von Prototypen eignen und auch in der Industrie eingesetzt werden.
Mit dem Programm Microsoft Visio können schnell und einfach Prototypen von Benutzeroberflächen im Windows Stil hergestellt werden. Visio ist eine Software die dabei hilft Konzepte in grafische Diagramme umzusetzten. Dabei können sowohl Flow Charts als auch UML Diagramme erstellt werden. Die Software ist einfach und intuitiv bedienbar, wenn man jedoch Prototypen von komplexen Benutzeroberflächen erstellen möchte ist MS Visio nicht geeignet.
Um komplexe, interaktive und dynamische Prototypen zu erstellen ist Macromedia Flash eine gute, bei vielen Designern sogar die beste Wahl. Mit Flash lassen sich detailgetreue und auch aufwändig animierte Prototypen von Benutzeroberflächen generieren. Nach etwas Einarbeitungszeit ist Flash ein sehr mächtiges Werkzeug des Rapid Prototypings.
Auch mit dem Macromedia Produkt Dreamweaver lassen sich schnell und intuitiv Prototypen von Benutzeroberflächen entwickeln. Da Dreamweaver ein HTML Editor ist eignet sich diese Tool besonders gut zum erstellen von webbasierten Benutzeroberflächen. Zuerst ist die Menge an Funtkionen dieser Software erschlagend, doch dann findet man immer wieder ein neues nützliches Feature. Somit ist auch Dreamweaver ein sehr nützliches Tool und aus der Prototyperstellung nicht mehr wegzudenken. Neben den bereits genannten Tools gibt es natürlich auch “Profi”-Software am Markt wie AXURE RP Pro, iRISE STUDIO oder LUCID SPEC.
Chancen und Risiken des Rapid Prototypings
Die Chancen des Rapid Prototyping bei der Entwicklung von Benutzeroberflächen liegen zum einen darin, dass der Testnutzer eine Vorstellung davon bekommt wie die Oberfläche aussehen soll und welche Funktionen implementiert sind. Auf der anderen Seite ist das Feedback der Nutzer wichtig um den Erfolg des Endproduktes sicherzustellen.Rapid Prototyping ist also eine effiziente Art der Qualitätssicherung, Zukünfitge Nutzer werden dabei in den Entwicklungsprozess involviert werden. Durch das Rapid Prototyping können Ressourcen wie Zeit und Geld eingespart werden, die an anderer Stelle sinnvoll eingesetzt werden können.
Die Risiken bestehen darin, die richtigen Methoden und Techniken zu finden. Im Vorfeld muss gut überlegen werden ob man den Prototypen so entwickelt dass man den Code im Endprodukt wiederverwenden kann oder ob die Prototyping Phase strikt von der eigentlichen Produktionsphase getrennt wird.
Richtig angewandt ist Rapid Prototyping auf jeden Fall eine großeBereicherung sowohl für den Endnutzer, der von der höheren Qualität des Endproduktes profitiert wie auch für den Hersteller, der zum einen von der Kundenzufriedenheit profitiert und zum anderen effektiver produzieren kann.
Quellen
Boar B. Application prototyping: A requirements definition strategy for the 80s, 1983
Scott Berkun - The Art of UI prototyping
Usaabilitynet - Rapid Prototyping
Berkley.edu - Rapid Prototyping for Web Based User Interface Design
Gatech.edu - The Use of Rapid Prototyping for Interface Design