Inhaltsverzeichnis
1 EINLEITUNG 1
1.1 MOTIVATION 1
1.1.1 Enterprise-Resource-Planning-Systeme 1
1.1.2 Produktionsprozess 3
1.2 PROTOTYP 6
1.3 ABSCHNITTSÜBERSICHT 8
2 ZOOMABLE-USER-INTERFACES UND AKTUELLER STAND 8
2.1 USER-INTERFACE 8
2.1.1 Historische Entwicklung 8
2.1.2 User-Interface - Erwartungsanalyse 11
2.1.3 User-Interface - Typen 12
2.1.4 Interfacedesign 14
2.2 ZOOMABLE-USER-INTERFACE 18
2.2.1 Anforderungen an ein ZUI 21
2.2.2 Features 30
2.2.3 Kognition und der Aufmerksamkeitspunkt 34
2.2.4 Quantifizierung 38
2.2.5 Räumliche Fähigkeit 47
2.2.6 Kürzester Pfad 48
2.2.7 Vor- und Nachteile eines ZUI 49
2.2.8 Gesten 50
2.3 EINSATZ VON TEXT UND BILD 51
3 ENTWURF UND IMPLEMENTIERUNG 53
3.1 RINGAUSWAHL 53
3.2 ENTWURF 56
3.2.1 Zoomen 56
3.2.2 Pannen 59
3.2.3 Verschieben von Objekten 60
3.2.4 Objekt-Gleiten 62
3.2.5 Rekursive Verschachtelung von Objekten 70
3.2.6 Ringauswahl 71
3.2.7 Workspace-Snapshots 74
3.2.8 Selektion 77
3.2.9 Klassendiagramm 78
3.3 IMPLEMENTIERUNGSASPEKTE. 82
3.3.1 Windows-Presentation-Foundation (WPF) - Bibliothek 82
3.3.2 Transformationsmatrizen 82
3.3.3 Implementierte Features 83
3.3.4 Nicht implementierte Features 89
4 SCHLUSSFOLGERUNGEN 92
GLOSSAR V
LITERATURVERZEICHNIS VIII
ANHANG XIX
ii
Abbildungsverzeichnis
Abbildung 1: Vorgegebenes Prozess-Schaubild.
Abbildung 2: Bildschirmfoto des Prototyps.
Abbildung 3: Erwartungen des Anwenders und der Oberfläche.
Abbildung 4: Eine Sequenz von Sichten beim Zoom in Daten.
Abbildung 5: Linsen.
Abbildung 6: Fisheye-Linse über einer Landkarte.
Abbildung 7: Suchfenster.
Abbildung 8: Lesezeichen.
Abbildung 9: Pad -Tour mit ovalem Dokument-Layout.
Abbildung 10: Eine Dialog-Box mit einer informationstheoretischen Effizienz von 0.
Abbildung 11: Kurvenverlauf.
Abbildung 12: Die Komponenten aus Fitts’ Gesetz im eindimensionalen Fall.
Abbildung 13: Zooming- und Panning-Schritte, um zur Zielposition zu gelangen.
Abbildung 14: Zwei Funktionen, deren Funktionswerte einander ähneln.
Abbildung 15: Elternmenü und überdeckendes Submenü.
Abbildung 16: Zentralprojektion.
Abbildung 17: Verschieben.
Abbildung 18: Verschieben.
Abbildung 19: Wurf.
Abbildung 20: Aktion.
Abbildung 21: Schiefe Ebene.
Abbildung 22: Reibung.
Abbildung 23: Ableitungen.
Abbildung 24: Verlauf des Weges über die Zeit.
Abbildung 25: Ring bestehend aus mehreren Auswahloptionen.
Abbildung 26: Klassendiagramm der Prototypklassen.
Abbildung 27: Semantische Zoomstufen.
Abbildung 28: Möglichkeiten rekursiver Verschachtelung.
Abbildung 29: Piccolo-Übersichtsportal.
Abbildung 30: Ein vollständiger Binärbaum.
Abbildung 31: Ein Binärbaum der Höhe 3.
Abbildung 32: Balancierter bis vollständiger Binärbaum.
Abbildung 33: Wurzelbaum.
Abbildung 34: Ein voller k-närer Baum.
Abbildung 35: Klasse, abstrakte Klasse und Interface.
Abbildung 36: Instanz einer Klasse ist Eigenschaft einer anderen Klasse.
Abbildung 37: Vererbung.
Abbildung 38: Von Interface abgeleitete Klasse implementiert deren Methoden.
Abbildung 39: Eine Klasse benutzt eine Andere.
Abbildung 40: Aggregation - Ganze-Teile-Hierarchie.
Abbildung 41: Komposition - Teile sind vom Ganzen existenzabhängig.
iii
Tabellenverzeichnis
Tabelle 1: Eigenschaften von kognitiv Bewusstem und kognitiv Unbewusstem. 35
Tabelle 2: Heuristiken für das Platzieren mentaler Operationen. 40
Tabelle 3: Haftreibungskoeffizienten. 65
Tabelle 4: DISK-System. 75
Tabelle 5: Snapshot-System. 76
iv
Einleitung
1 Einleitung
1.1 Motivation
1.1.1 Enterprise-Resource-Planning-Systeme
In diesem Abschnitt werden die begrifflichen Grundlagen von Enterprise-Resource-Planning (ERP) - Systemen erläutert.
Es wird nun definiert, worum es sich bei einem ERP-System handelt.
„Unter dem Begriff Ressource, die zur Begriffsbildung von Enterprise-Resource-Planning-Systemen beigetragen hat, werden natürliche oder gesellschaftliche Quellen der Grundlagen der Reproduktion verstanden, z. B. Bodenschätze. Der Begriff Enterprise Resource Planning hat sich aus dem ursprünglichen Planungskonzept für Stücklistenauflösung, Material Requirement Planning entwickelt, das dann zu Manufacturing Resource Planning erweitert wurde. Der Begriff ERP weist darauf hin, dass nicht nur Ressourcen aus der Fertigung betrachtet werden. Ein Enterprise-Resource-Planning-System deckt Funktionen aus mehreren Unternehmensbereichen ab. Als alternativer Begriff, insbesondere im deutschen Sprachraum, wird die Bezeichnung Betriebliche Anwendungssoftware oder Anwendungssystem verwendet. Dieser Begriff konnte sich jedoch bei Anbietern und Anwendern nicht durchsetzen. Wesentliches Merkmal von ERP-Systemen ist die Integration verschiedener Funktionen, Aufgaben und Daten in ein Informationssystem. Als minimaler Integrationsaufwand ist eine gemeinsame Datenhaltung anzusehen.“
Motivation
„ERP-Systeme funktionieren wie das zentrale Nervensystem, das tendenziell die Fähigkeit aufweist, die Summe der Fähigkeiten der einzelnen Teile zu übersteigen (ein Phänomen, das wir als Bewusstsein bezeichnen). Sie bilden gewissermaßen das Bewusstsein des Unternehmens. ERP-Systeme verknüpfen insbesondere Informationen über Finanzen, personelle Ressourcen, Produktion und Vertrieb. Sie umfassen Lagerverwaltungssysteme, Kundendatenbanken, Auftragsverfolgungssysteme, Kreditorenbuchhaltung und vieles andere mehr. Sie bieten je nach Bedarf auch Schnittstellen für Zulieferer und Kunden.“ [ERP08]
Ein ERP-System verknüpft also Information aus verschiedenen Bereichen eines Unternehmens und verwaltet sie zentral.
2
Motivation
1.1.2 Produktionsprozess
Das praktische Ziel der Diplomarbeit ist die Darstellung eines betriebswirtschaftlichen Prozesses in einem sogenannten Zoomable-User-Interface (siehe Abschnitt 2). Das entsprechende Prozess-Schaubild ist dabei vorgegeben (siehe Abbildung 1). Das Unternehmen OR Soft Jaenicke GmbH möchte dadurch eine neuartige Herangehensweise zur Bedienung von ERP-Systemen untersuchen. Bei dem Prozess handelt es sich um einen Produktionsprozess:
„Der Produktionsprozeß ... ist der Vorgang der betrieblichen Leistungserstellung, bei dem Produktionsfaktoren (input) eingesetzt, kombiniert und zu Ausbringungsmengen (output) transformiert werden.“ [Produktion09]
Ein Produktionsprozess ist also ein zeitlich ablaufender Vorgang der Erstellung von sowohl Sachgütern als auch Dienstleistungen im Betrieb. Dieser Prozess umfasst mehrere Teilprozesse.
Der umzusetzende Prototyp soll als Bedienbarkeitsstudie der Thematik innerhalb eines Zoomable-User-Interfaces dienen. Es wird kein Datenmodell angeschlossen. Die Aktionen, die der Anwender tätigen kann, sind wirkungslos und dienen lediglich zur Untersuchung der Bedienungsweise im Vergleich zur bisherigen Bedienung von ERP-Systemen. Abbildung 1 zeigt das Prozess-Schaubild.
3
Motivation 4
Vorgegebenes Prozess-Schaubild.
Abbildung 1:
Motivation
Nachfolgend soll der vorgegebene Produktionsprozess erläutert werden. Angenommen ein Betrieb stellt Produkte aus Materialien her. Nun kann die Situation eintreten, dass weniger Produkte vorrätig sind, als der Kunde bis zu einem Termin benötigt (Kapazitätskonflikt). Dann muss der Betrieb kalkulieren, in welcher Zeit er die fehlenden Produkte produzieren kann, und dabei auch betrachten, ob er genügend Materialien dafür besitzt (Materialkonflikt). Der Produktionsvorgang spiegelt sich in den Produktionsaufträgen wider (Auftragsvorrat). Ist es unmöglich den Termin einzuhalten, kann entweder die bereits produzierte Menge geliefert oder der Termin des Kundenauftrages verschoben werden. Diese Betrachtungen zu einem Kundenauftrag auf mehrere Kundenaufträge erweitert, ergibt ein einfaches Planungsszenario. Im Prozess-Schaubild (siehe Abbildung 1) sind die Bestandteile Auftragsvorrat, Plantafel, Kapazitätskonflikte und Materialkonflikte als Knoten dargestellt. Die Kanten sind beschriftet, um dem Anwender zu verdeutlichen, mit welchen Aktionen die Konflikte behoben bzw. Auftragsvorräte eingeplant werden können.
5
Prototyp
1.2 Prototyp
Der zu dieser Arbeit gehörende Prototyp ist unter folgendem Link zu finden:
http://www.iks.hs-merseburg.de/ZUI/ZUI_Prototype.zip
Mirror:
http://prototype.zui.bplaced.com/ZUI_Prototype.zip
Es wird empfohlen, den Prototypen vor der Lektüre zu betrachten, da die
Bedienungsweise dieser Art von Interface für die meisten Leser ungewohnt und schwer
vorstellbar sein dürfte. Auf die Feinheiten des Prototyps wird in Abschnitt drei näher
eingegangen.
Abbildung 2 zeigt den Arbeitsplatz mit den manipulierbaren Objekten und den
seitlichen Bedienfunktionen.
6
Prototyp 7
Bildschirmfoto des Prototyps.
Abbildung 2:
Zoomable-User-Interfaces und aktueller Stand
1.3 Abschnittsübersicht
Abschnitt zwei gibt einen Überblick über die Thematik des User-Interface und behandelt anschließend die spezielle Ausprägung des Zoomable-User-Interface (ZUI). Im dritten Abschnitt geht der Autor auf den Entwurf und die Implementierung eines Prototyps unter Einhaltung des ZUI-Paradigmas ein. Schlussfolgerungen, Fragen und Ausblicke werden abschließend in Abschnitt vier dargelegt.
2 Zoomable-User-Interfaces und aktueller Stand
Dieser Abschnitt behandelt zunächst User-Interfaces im Allgemeinen und anschließend Zoomable-User-Interfaces im Speziellen. Bei beiden Themen wird auf die entsprechenden Grundlagen eingegangen.
2.1 User-Interface
In diesem Abschnitt werden ein kurzer Abriss der Entwicklung des User-Interfaces gegeben, die Erwartungen an ein User-Interface erläutert, Interface-Typen aufgezählt und Design-Aspekte beleuchtet.
2.1.1 Historische Entwicklung
Eine Anwendung setzt sich üblicherweise aus den drei Schichten des sogenannten Model-View-Controller (MVC) - Musters zusammen. Dies ist ein Muster, das die Softwarearchitektur einer Anwendung beschreibt. Es besteht aus den Schichten Datenmodell (Model), Präsentation (View) und Programmsteuerung (Controller). Die Model-Schicht enthält die persistenten Daten, meist als Datenbank realisiert. View ist die Schicht, die für die Interaktion mit dem Anwender zuständig ist. Zum Beispiel das Fenster auf dem Monitor. Die Controller-Schicht ist die „Logik“ (bzw. Algorithmik) hinter dem Softwaresystem.
8
User-Interface
Die View-Schicht könnte man also auch als User-Interface (UI) bezeichnen. Für die vom User wahrnehmbare Schicht der Anwendung gibt es synonyme Bezeichnungen: Benutzerschnittstelle, Bedienoberfläche, Anwendungsoberfläche, Softwareoberfläche, Dialogmaske, Dialogschnittstelle, Graphical-User-Interface (GUI), Human-Computer-Interface oder Mensch-Maschine-Schnittstelle.
Die Mitte der 60er-Jahre eingetretene Softwarekrise [Krise08] führte zu einem Umdenken in der Softwareentwicklung: Es wurde klar, dass die bisherigen Methoden nicht ausreichten, der einsetzenden Komplexität der Softwaresysteme Herr zu werden. Es bildete sich der Begriff Software-Engineering. Also eine
„zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen Softwaresystemen.“
[Balzert01, S. 36]
Als Beispiele für heute verwendete Techniken des Software-Engineering können das Entity-Relationship-Model (ERM), Object-Oriented-Design (OOD), Unified-Modelling-Language (UML) oder Extensible-Markup-Language (XML) genannt werden. User-Interfaces sind vom Software-Engineering bis heute nur ungenügend berücksichtigt worden (XForms, XUL, UIML).
Beginnend mit dem Pionier der elektronischen Datenverarbeitung, Herman Hollerith, wurden zunächst Lochkarten in der elektronischen Datenverarbeitung (EDV) eingesetzt. Hollerith nutzte Lochkarten dazu, die Datenmengen der amerikanischen Volkszählung 1890/1891 zu bewältigen. Eine Lochkarte ist mit einer heutigen Batch- Dateivergleichbar, bei der ein Befehlsskript abgearbeitet wird. Bis in die späten 50er- Jahrekamen in der EDV Lochkarten zum Einsatz. Bildschirm und Tastatur wurden erstmals 1960 verwendet [Rose85, S. 48]. Ab den frühen 60er-Jahren kamen dialogisierte Anwendungen auf, die jedoch nur ein Aufsatz auf die bisherigen Batch-Aufrufe waren [Chlebek06, S. 29].
9
User-Interface
Grafische Benutzeroberflächen hielten mit der Einführung der Computermaus und grafischer Betriebssysteme wie Mac OS, X-Windows, MS Windows und Kool-Desktop-Environment (KDE) in den 80er-Jahren Einzug [GUI08]. Sie lösten die vorherige Benutzerschnittstelle Kommandozeile ab. Grafische Benutzeroberflächen wurden erst durch die Entwicklung der Computermaus angestoßen, mit der man einen Mauszeiger auf dem Monitor positionieren konnte und dieser eine intuitive Alternative zu dem bisherigen Cursor darstellte. Das erste GUI wurde erstmals 1973 im Computer Xerox Alto verwendet [Icon08]. Erst bei GUIs erlangten Anwendungen reaktive Fähigkeiten. Das heißt, dass nicht nur eine Ausgabe stattfand (s. o.), sondern auch auf Eingaben reagiert wurde. Es gab also erstmals eine Ereignisbehandlung von Benutzeraktionen. Dies ist der Unterschied zu den bisherigen dialogisierten Anwendungen. Die rein prozeduralen Programme forderten nur an vordefinierten Stellen Eingaben.
Man begann grafische Steuerelemente zu entwickeln. An sie wurden bestimmte Aktionen gekoppelt. GUIs blieben nur Aufsätze über den eigentlichen Funktionalitäten der Anwendungen. Sie wurden nicht für die Bedürfnisse der Anwender entworfen. Nun bahnt sich nach der Softwarekrise eine neue Komplexitätskrise an. Die Aufbereitung der Daten für die Darstellung wird aufwändiger und die Interaktionsmöglichkeiten des Anwenders werden vielfältiger [Khazaeli05]. Diese Komplexitätskrise kann mit geeigneten User-Interface-Entwürfen, die nicht nur Aufsatz über Funktionalität sind, verhindert werden. Ein Interface sollte redundante und unwichtige Information vor dem Anwender verbergen und ihn kontextabhängig anleiten.
User-Interface
2.1.2 User-Interface - Erwartungsanalyse
Der Anwender eines Softwaresystems nimmt das Verhalten des User-Interfaces (UI) wahr und reagiert entsprechend seinen Annahmen über die Funktionalität der Software darauf. Er gelangt aufgrund seiner Erfahrung mit anderen Softwaresystemen zu diesen Annahmen oder interpretiert das Verhalten. Man kann die Erwartungshaltungen von Anwender und Oberfläche wie folgt abgrenzen:
User-Interface
Aktionserwartung
Die Oberfläche erwartet Aktionen des Anwenders.
Reaktionserwartung
Der Anwender erwartet auf seine Aktion eine Reaktion der Anwendung.
Konvergenzerwartung
Der Anwender erwartet auf dieselbe Aktion dieselbe Reaktion wie zuvor.
Erfahrungs- und Funktionserwartung
Der Anwender erwartet aufgrund des Eindrucks, den die Anwendung vermittelt, eine entsprechende Funktionalität. [nach Chlebek06, S. 37-38]
2.1.3 User-Interface - Typen
Benutzeroberflächen können nach Dialogform, Dialogmitteln oder nach Bedienungsparadigma klassifiziert werden.
Dialogformen
• Angeleiteter Dialog:
Von der Anwendung initiierte Dialoge; zum Beispiel grafische oder gesprochene
Auswahlmenüs.
• Formular-Dialog:
Die Anwendung gibt auszufüllende Formulare vor; spezielle Form des angeleiteten
Dialogs.
• Systeminitiierter Dialog:
Die Anwendung informiert über ein Ereignis und bietet Möglichkeiten an, darauf zu
reagieren. Ebenfalls spezielle Form des angeleiteten Dialogs.
• Offener Dialog (nicht angeleiteter Dialog):
Der Anwender stellt an die Anwendung eine Anfrage und diese grenzt die Antwort-
möglichkeiten ein.
12
User-Interface
Dialogmittel
Die Möglichkeiten zur Dialogführung, die dem Anwender zur Verfügung gestellt sind.
• Command-Line-Interpreter (CLI):
Eine Kommandozeile, in die der Anwender Befehle eingibt.
Beispiel: Unix Command-Shell.
• Text-User-Interface (TUI):
Bezeichnet grafische Benutzeroberflächen, die im Textmodus präsentiert werden.
Beispiel: Norton Commander.
• Graphical-User-Interface (GUI):
Eine grafikbasierte Benutzerschnittstelle, die Dialogfenster und in ihnen enthaltene
Steuerelemente, wie Buttons, Slider oder Eingabefelder, bietet; beispielsweise die
Benutzeroberfläche von Windows.
• Voice-User-Interface (VUI):
Schnittstellenkommunikation über gesprochene Befehle.
• Haptische User-Interfaces (HUI):
Außer den Wahrnehmungssinnen Sehen und Hören als Formen der Ausgabe spricht
ein HUI auch den Tastsinn an. Benutzt werden HUIs in Simulatoren zur
Nachahmung von Bewegungskräften.
Bedienungsparadigma
Es kann zwischen ablauforientierten und gegenstandsorientierten User-Interfaces unterschieden werden. Ein ablauforientiertes User-Interface bezeichnet eine hinter-einander erfolgende Ausführung von Schritten, etwa die Aneinanderreihung von Formularen in wirtschaftlich orientierten Anwendungen. In einem gegenstands-orientierten User-Interface werden Objekte direkt manipuliert. Dadurch werden Funktionen ausgelöst, etwa eine Funktion in einer Textverarbeitung.
User-Interface
2.1.4 Interfacedesign
Dieser Abschnitt beschreibt zum einen, wie man ein Interface entwerfen muss, damit es vom Anwender als Benutzeroberfläche empfunden wird. Zum anderen wird verdeutlicht, dass nicht nur der funktionale Aspekt eines Interfaces eine Rolle spielt, sondern auch das Marken-Image der Software durch ein Interface festgelegt wird.
“Making a computer useful is simple to design a good interface between man and machine.” [Terry Winograd, 1996]
“I don’t know what percentage of our time on any computer-based project is spent getting the equipment to work right, but if I had a gardener who spent as much of the time fixing her shovel as we spend fooling with our computers, I’d buy her a good shovel. At least you can buy a good shovel.” [Erasmus Smums]
“If a system’s one-on-one interaction with its human user is not pleasant and facile, the resulting deficiency will poison the performance of the entire system, however fine that system might be in its other aspects.” [Raskin08, Einleitung]
Ein einfach gehaltenes User-Interface führt also zu effizienter Arbeit am Computer, da man seine Ideen sofort umsetzen kann.
User-Interface
I. Das Interface als Metapher - der wissensvermittelnde Aspekt Interfaces avancieren zur Kunstform des 21. Jahrhunderts [nach Stapelkamp07, S. 467]. Man denke nur an Apples erfolgreichen tragbaren Mediaplayer iPod, der sich hauptsächlich durch seine revolutionäre Bedienung verkauft. Der iPod gewann 2002 den „red dot design award“, eine international anerkannte Auszeichnung für gutes Design [IDR08]. Bislang wird ein Interface zu Unrecht nur nach seiner Benutzerfreundlichkeit analysiert, obwohl man es mittlerweile auch als Kunstform betrachten kann. Die Möglichkeiten des Interfacedesigns geben dem Designer die Fähigkeiten an die Hand, seiner Kreativität freien Lauf zu lassen.
Bedingt durch den immer intensiver werdenden Umgang mit Computern, der schon Grundschülern im Unterricht gelehrt wird [LO08], ist ein Umdenken bisheriger Interface-Strukturen vonnöten. Systeme und Informationsräume werden immer komplexer und diese Flut von Information muss auf ein dem Anwender verständliches Maß herunter gebrochen werden.
„Die gotische Kathedrale machte den Menschen des Mittelalters die Unendlichkeit vorstellbar. Das moderne Interface tut nichts anderes. ... Johnson sieht in ... kulturellen Funktionen, die im Kern denen des Computer-Desktops bzw. den Absichten aller Benutzeroberflächen gleichgesetzt werden können, eben die Übersetzung komplexer Zusammenhänge in überschaubare Strukturen und Reduktion auf das, was, je nach Anforderung, gerade eben als das Wesentliche gilt - das Interface als Metapher. Metapher im Sinne davon, komplizierte Vorgänge zu versinnbildlichen. Die gotische Kathedrale wurde oft als das erste Lichtkunstwerk bezeichnet, wobei das subtile Licht als Abbild Gottes und des Universums gilt. So wie damals die Menschen glaubten, im Anblick eines Kathedraleninnenraumes ihre aktuelle Realität, Verortung und somit Orientierung erkennen zu können, so scheinen wir heute im Blick durch das Fenster des Computermonitors wesentliche Anteile unserer Realität zu sehen und zu verstehen. Eine bessere Metapher als ‚Windows' ist dafür wohl nicht zu finden.“
User-Interface
Ein Interface sollte dem Anwender den Eindruck eines Handlungsspielraums vermitteln. Es sollte ihm zumindest die Illusion geben, selbst zu manipulieren, anstatt das Interface als Werkzeug zu betrachten, mit dem er vordefinierte Funktionalität abruft. Es besteht ein Defizit von Kriterien zur Bewertung des Interfaces als Kommunikationsform. Bisher existieren lediglich technologische Kriterien. Will man ein Interface aber nicht nur zur Beschreibung von Funktionalität, sondern auch zur interaktiven Wissensvermittlung nutzen, müssen emotionale und sinnliche Kriterien gefunden werden. Wie „fühlt“ das Interface sich an? [nach Stapelkamp07, Abschnitt 2.2.1]
II. Das Interface als Benutzeroberfläche - der funktionale Aspekt Bei interaktiven Informationsmedien steht der inhaltliche Aspekt im Vordergrund. Der funktionale Aspekt spielt eine zweitrangige Rolle. Es geht bei Software hauptsächlich darum, dem Anwender Information zu vermitteln. Funktionalität sollte nur Mittel zum Zweck sein - außer natürlich, Funktionalität selbst wird benötigt. Wie er zur Information gelangt, ist unerheblich. Trotzdem werden Interfaces vom Anwender vorrangig funktional verstanden. Somit sind sie dazu verdammt, diese Erwartung zu erfüllen. Der inhaltliche Aspekt wird nebensächlich. Also herrscht beidseitig - sowohl beim Anwender als auch beim Produzenten - das Interesse an reinen Funktionen statt Inhaltsvermittlung. Produzenten glauben, mit einer möglichst langen Feature-Liste ihre Produkte besser verkaufen zu können. Funktionen dürfen aber nicht nur Selbstzweck sein, sondern sollen dem Anwender informationell aufbereitete Inhalte vermitteln. Ein Interface sollte redundante und für den Anwender unerhebliche Information weglassen und ein möglichst weites Funktionsspektrum bieten, während es zugänglich gehalten wird. Es kann mit diesem Paradigma jedoch auch übertrieben werden, was zu einem völligen Blackbox-Verhalten des Systems führt. Es muss beim Design überlegt werden, ob dem Anwender nicht mehr Einblick in einen funktionalen bzw. inhaltlichen Ablauf gegeben werden sollte.
16
User-Interface
Ein Interface sollte nicht nur Funktionen anbieten, sondern diese idealerweise auch erläutern. Diese Erläuterung wird inhaltsbezogen in die Gestaltung eingebettet. Es ist ratsam, die wissensvermittelnden und funktionalen Aspekte eines Interfaces als gleichrangig zu erachten. [nach Stapelkamp07, Abschnitt 2.2.2]
III. Das Interface als Bedeutungsträger
Ein Interface ist die Basis für die Interaktion mit dem System. Die Interaktion wird durch eine Assoziation provoziert. Im Sinne des Designleitsatzes von Louis Sullivan („Form folgt Funktion“) sollte die Gestaltung sich aus dem Nutzungszweck ableiten. Das ermöglicht dem Anwender, die Funktion aus der Form des Interface-Elements abzuleiten. Ein Interface kann also seine Bedeutung in sich selbst tragen und somit selbsterklärend sein.
„Als plakatives Beispiel stelle man sich ein Jagdmesser mit einer langen Klinge und Blutrinne vor, das definitiv eine andere Botschaft sendet und beim Empfänger andere Assoziationen freisetzt, als z. B. das bekannte Schweizer Offiziersmesser. Dessen Hersteller werden beim Design stets darum bemüht sein, Produkte fernab jedweder Gewaltaussage zu gestalten. Mit dem Design dieses Produkts soll für den Empfänger, potentiellen Käufer und Anwender, ein Interface wahrnehmbar werden, das die Botschaft ‚harmlos aber praktisch‘ sendet.“ [Stapelkamp07]
Es geht um die Botschaft, die ein Objekt vermittelt. In diesem Fall ein aggressives Design gegenüber einem nützlichen Design.
Zoomable-User-Interface
2.2 Zoomable-User-Interface
In diesem Abschnitt wird das Konzept des Zoomable-User-Interface (ZUI) vorgestellt. Es wird eine Definition gegeben und es werden Vorteile gegenüber der klassischen grafischen Benutzeroberfläche erläutert.
Bis heute werden Benutzeroberflächen nach GUI-Konzepten aus den 70er-Jahren entworfen. Ein dominierendes Konzept ist dabei das WIMP-Paradigma, das in den späten 60ern von Douglas Englebart entwickelt wurde. WIMP steht für Windows, Icons, Menus und Pointer. Die ersten massenproduzierten WIMP-basierten Computer waren Lisa (1983) und Macintosh (1984). Der erste Produktionscomputer, der die Desktop-Metapher verwendete, war der Xerox Star (1981). [Ge08]
Diese grundlegenden Konzepte haben sich bis heute nicht geändert und finden noch in aktuellen Betriebssystemen und Benutzeroberflächen Verwendung. Zoomable-User-Interfaces bieten einen intuitiveren Ansatz: Mit ZUIs versucht man, die physischen Gegebenheiten des realen Arbeitsplatzes nachzubilden. Der Anwender arbeitet auf einer unendlichen Ebene. Mit verorteten Informationsobjekten kann durch Zooming und Panning interagiert werden. Zooming erlaubt das Fokussieren und Verkleinern von Objekten. Durch Panning kann die gesamte Informationsebene verschoben werden, so dass Inhalte außerhalb des Sichtbereiches erreichbar werden. Es wird also mithilfe von Transformationen die Arbeit mit Objekten des Arbeitsplatzes wie Zetteln, Büchern und Stiften emuliert.
Das ZUI-Paradigma entstand unwesentlich später als das WIMP-Paradigma. Es wurde Ende der 70er-Jahre anhand wissenschaftlicher Prototypen erforscht.
18
Zoomable-User-Interface
Nun soll definiert werden, was unter einem ZUI zu verstehen ist.
“Zoomable User Interfaces (ZUIs) are a visualization technique that provides access to spatially organized information. A ZUI lets users zoom in and out, or pan around, to view much more information than can normally fit on a single screen.” [CoBe99, S. 3]
“Zoomable User Interfaces are a kind of information visualization application. They display graphical information on a virtual canvas that is very broad and has very high resolution. A portion of this huge canvas is seen on the display through a virtual “camera” that can pan and zoom over the surface.” [BeMeGo00, S. 2]
Ein ZUI erlaubt also dem Anwender, auf Informationsobjekte zuzugreifen, die frei auf der Ebene verortet sind. Navigiert wird mit Zooming und Panning.
Es gibt verschiedene Ausprägungen des Zoomings, die nachfolgend genannt werden. Die drei Grundtypen sind geometrisches Zooming, Fischaugen-Zooming und semantisches Zooming: “There are three basic types of zooming.
Geometric zooming allows the user to specify the scale of magnification and increasing or decreasing the magnification of an image by that scale. This allows the user focus on a specific area and information outside of this area is generally discarded. A great example is mapping software like MapQuest or Yahoo. The fisheye zoom is similar to the geometric zoom with the exception that the outside information is not lost from view; this information is merely distorted. Semantic zooming approaches the process from a different angle. Semantic zooming changes the shape or context in which the information is being presented. An example of this type of technique is the use of a digital clock within an application. In a normal view, the clock may show the hour of the day and date. If the user zooms in then the clock may alter it’s appearance by adding the seconds and minutes. If the user that zooms out, information is discarded with only the date remaining. The actual information did not change, only the presentation method.”
Zoomable-User-Interface
“In semantic zooming, objects change appearance or shape as they change size. For example a growing dot will become a simple box, then a box with a one-word label, then a box with a longer label, then a rectangle filled with text and pictures. The goal is to give the most meaningful presentation at each size.” [UMDL96]
“Another advantage of using a zoomable interface is to allow objects to have multiple representations, which is called semantic zooming [BeHo96] . When an object is zoomed out and becomes small, contents inside the object, such as text, become illegible and less useful.” [SuBe01, S. 17]
Das geometrische Zooming erlaubt also das Vergrößern und Verkleinern von Objekten, indem die Skalierung geändert wird. Verwandt damit ist das Fischaugen-Zooming, das Objekte im Fokus vergrößert darstellt und - ausgehend von diesem Objekt - andere Objekte kleiner werden lässt. Das semantische Zooming ähnelt dem geometrische Zooming, wobei sich hier der Informationsgrad in Abhängigkeit von der Skalierung ändert.
20
Zoomable-User-Interface
2.2.1 Anforderungen an ein ZUI
Bederson et al. stellen in [BeMeGo00, S. 2] die folgenden Anforderungen an ein ZUI.
Ein Zoomable-User-Interface dient der Darstellung von Information. Die Information befindet sich auf einer breiten virtuellen Leinwand in hoher Auflösung, wobei über eine Kamera ein Ausschnitt zu sehen ist. Die Oberfläche kann verschoben und fokussiert werden.
1. Das ZUI muss benutzerdefinierte Grafiken unterstützen. 2. Es muss eine große Zahl von Objekten unterstützt werden, sodass die Performance des Renderings und der Interaktion sich nicht vermindert. 3. Objekte müssen willkürliche Transformationen und hierarchische Gruppierung unterstützen.
4. Navigations-Sichten (Pannen und Zoomen) müssen weich und durchgängig animiert sein.
5. Es müssen mehrere Repräsentationen von Objekten unterstützt werden, sodass semantisches Zooming möglich ist.
6. Mehrere Sichten auf die Oberfläche müssen über Portale oder Linsen möglich sein.
7. Objekte müssen sich verankern lassen, sodass sie bei Navigation ihre Position behalten.
8. Benutzerdefinierte Ereignisbehandlung muss möglich sein, um die Manipulation von individuellen Elementen und Gruppen von Elementen zu unterstützen.
Zoomable-User-Interface
Für das Zooming gibt es verschiedene Herangehensweisen.
1) Der Anwender wählt ein Objekt durch Anklicken aus und die Kamera zentriert sich darüber, um anschließend automatisch heranzuzoomen, bis das Objekt bildschirmfüllend dargestellt wird. Diese Komposition aus Zentrierung und anschließendem Zoom ist auch in Kombination eines Vektors möglich: in der Form, dass die Kamera „schräg“ an das Objekt heranfährt. Diese Art des Zoomings wird zum Beispiel in der Bildbetrachtungsanwendung PhotoMesa 1 eingesetzt. 2) Eine zweite Möglichkeit ist, den Referenzpunkt (Zooming Reference Point, ZRP) mit Klick auf die Oberfläche festzulegen (Kamera zentriert über ZRP) und anschließend die Fokussierung manuell zu justieren, also Zooming abhängig vom Referenzpunkt. Diese Möglichkeit wird in Piccolo-Anwendungen 2 verwendet. 3) Ein weiterer Ansatz ist, eine zusätzliche kleine Übersichtskarte von der Oberfläche zu geben und den Anwender darüber navigieren zu lassen. Ein manipulierbares Rechteck gibt den Ausschnitt in der Hauptansicht vor. Diesen Ansatz zeigt Donelson in seinem Dataland [Donelson78, S. 203-209] auf. 4) Woodruff et al. [WoLaSt98, S. 305-306] schlagen die Möglichkeit vor, über Shortcuts oder Buttons zu Orten auf der Oberfläche zu springen. Eine Abart von Aufzählungspunkt 1), beispielsweise implementiert als Lesezeichen (siehe Abschnitt 2.2.2).
5) Werner A. König verwendet in seinem ZOIL-Prototyp 3 einen mit der Maus aufziehbaren Rahmen, der um den zu vergrößernden Ausschnitt gelegt wird.
1 http://www.cs.umd.edu/hcil/photomesa/.
2 Programmier-Bibliothek zur Erstellung von ZUIs.
3 http://www.kingsys.de/.
22
Zoomable-User-Interface
Bei der Navigation durch Panning und Zooming kann folgendes Problem auftreten: Der Anwender kann sich ins „Aus“ navigieren - eine Situation, in der der Anwender die Übersicht verliert.
a) Dies kann auftreten, wenn er soweit herauszoomt, dass die Objekte zu sehr verkleinert sind und er nichts mehr erkennen kann.
b) Äquivalent dazu kann ein übermäßiges Heranzoomen an die Oberfläche zum Verlust des Informationsgehalts führen, da die Objekte zu groß dargestellt werden: Man sieht einen vergrößerten Ausschnitt weniger Objekte.
c) Es gibt auch die Situation, dass der Anwender sich durch Panning zu einer Position navigiert hat, an der keine Objekte verankert sind. Er sieht also nur die Leinwand. Allgemein ergibt sich das Problem durch fehlende Orientierungspunkte, an denen der Anwender sich ausrichten könnte - er weiß nicht, wie er wieder zu den Informationshaufen gelangt.
Die Lösung dieses Problems ist trivial: Der Anwender muss in der Navigation begrenzt werden oder, um die obige Situation c) zu vermeiden, automatisch zum nächstgelegenen Informationscluster weitergeleitet werden. Büring et al. [BüGeRe06, S. 3] weisen auf die Möglichkeit hin, zu einem bestimmten Informationscluster zu animieren. Dabei wird der Anwender durch eine Animation, bestehend aus automatischem Panning und Zooming, zum nächsten informationstragenden Punkt weitergeleitet. Falls der Endpunkt weiter als eine Bildschirmgröße vom Startpunkt entfernt ist, wird zu einem mittleren Punkt herausgezoomt, sodass beide Punkte sichtbar sind. Dann wird zum Endpunkt gezoomt. Das gibt dem Anwender einerseits eine Kontext-Übersicht und beschleunigt andererseits die ansonsten nötige manuelle Navigation.
23
Zoomable-User-Interface
Bei der ZUI-Bibliothek Pad++ [BeHo94, S. 17-26] umgehen Bederson et al. das Problem durch vorgegebene Navigationswege und automatische Zooms auf spezielle Bereiche. Außerdem machen sie indirekt einen Lösungsvorschlag für die Situation der Problematik a) [BeHo94, S. 6]. Egal, wie weit der Anwender herauszoomt: Selbst wenn Objekte so klein sind, dass sie unsichtbar sind, werden ihre Marker trotzdem angezeigt.
Der Autor schlägt nun zur Navigationsbegrenzung verschiedene Lösungen vor. Die Distanz zwischen verschiebbaren Objekten müsste nach oben begrenzt werden, um große Freiräume und abgelegene Objekte zu vermeiden. Die Skalierungsstufen des Heran- und Herauszoomens sollten limitiert sein und die Navigation außerhalb von Randbereichen der Leinwand unterbunden werden.
Die sechste Anforderung an ein ZUI besagt, dass mehrere Sichten auf die Oberfläche über Portale oder Linsen möglich sein müssen. Es soll nun nach Bederson et al. [BeHo96] definiert werden, was Portale und Linsen sind.
24
Zoomable-User-Interface
Portale
Portale sind Objekte auf der Oberfläche mit einer speziellen Eigenschaft. Sie geben einen Ausblick auf andere Bereiche der Oberfläche. Jedoch nicht nur in Form einer Vorschau, sondern als eigenständiges ZUI mit voller Navigationsmöglichkeit durch Panning und Zooming. Interaktionsereignisse werden an den Ort weitergegeben, auf den man blickt. Portale können durch Ereignisfilter in ihrem Verhalten angepasst sein, sodass andere Aktionen möglich sind als in der Hauptansicht. Portale erlauben es, örtlich getrennte Inhalte zusammen zu bringen. Abbildung 4 zeigt mehrere Portale. Jedes gibt einen Ausblick auf denselben Ort bei unterschiedlicher Vergrößerung.
Abbildung 4: Eine Sequenz von Sichten beim Zoom in Daten. Quelle: [BeHo96].
25
Zoomable-User-Interface
Eine weitere Anwendung für Portale sind Hyperlinks. Der Klick auf ein Portal, das als Hyperlink fungiert und eine Vorschau auf einen Ort anzeigt, bewegt die Hauptansicht zu diesem Ort (siehe Abschnitt 3.2.7). Da Portale normalerweise fest auf der Oberfläche verortet sind, würde ein solches Portal dadurch außerhalb des Sichtbereiches geraten. Wird das Portal hingegen mit der Hauptansicht verankert, kann der Hyperlink jederzeit wiederverwendet werden. [nach BeHo96, S. 7]
Linsen
Linsen erlauben eine gefilterte Sicht auf Inhalte, z. B. kann bei aktiver Linse aus einer Tabelle ein Scatter-Plot 1 oder ein Balkendiagramm werden (siehe Abbildung 5). Es ändert sich allerdings nicht nur die Ansicht, sondern - je nach Linsenart - auch die Funktionalität des Inhalts. Linsen können sich entweder wie Objekte verhalten und verschiebbar sein oder als Umschalter realisiert sein.
1 Ein Diagramm, das Beziehungen zwischen Größen grafisch darstellt.
26
Zoomable -User-Interface
Abbildung 5: Linsen 1 Quelle: BeHo96
1 Diese Linsen zeigen textuelle Daten als Scatter-Plot und Balkendiagramm.
27
Zoomable-User-Interface
Fisheye-Sicht
Definition:
“Fish-eye lenses magnify the center of the field of view, with a continuous fall-off in magnification toward the edges. Degree-of-interest values determine the level of detail to be displayed for each item and are assigned through user interaction.” [ToMö04]
Eine Fisheye-Sicht ist also eine Linse, die als Vergrößerungsglas verstanden werden kann. Dahinter verbirgt sich die Idee des sogenannten Focus-plus-Context: “Basic idea:
- Show selected regions in greater detail (focus)
- Preserve global view at reduced detail (context)
- No occlusion (all information is visible simultaneously)” [Keahey03]
Objekte primären Interesses (Focus) werden also mit vollem Detailgrad dargestellt, während gleichzeitig eine Übersicht über die umgebende Information (Context) gegeben wird. Abbildung 6 zeigt eine Fisheye-Linse.
28
Zoomable -User-Interface
Abbildung 6: Fisheye-Linse über einer Landkarte. Quelle: CoKaBe08
29
Zoomable-User-Interface
2.2.2 Features
Zusätzlich zu den allgemeinen Anforderungen, die ein Zoomable-User-Interface ausmachen, können noch diverse zusätzliche Features genannt werden, die im ZUI-Einsatz sinnvoll erscheinen. Im Folgenden werden Navigationshilfen genannt.
Inhaltsbasierte Suche
Mit einer inhaltsbasierten Suche kann in Objekten bzw. dessen Inhalten nach Text gesucht werden. Dies können Inhalte wie in einfachen Textdokumenten sein oder sogar Text in Bildern, die automatisch mit Texterkennungsmethoden durchsucht werden. Die Suche resultiert in einer Liste aller Objekte, in deren Inhalt der Text gefunden wurde (siehe Abbildung 7). Die Liste kann aus einer Menge von Portalen bestehen, die eventuell als Hyperlink realisiert sind (siehe Abschnitt 2.2.1). Zusätzlich können in der Hauptansicht die Objekte, die der Suchspezifikation entsprechen, markiert werden.
1 Das inhaltsbasierte Suchfenster lässt Anwender nach Text und Namen suchen und dann zu diesen
Objekten durch Klicken auf den Suchergebniseintrag springen.
31
Zoomable-User-Interface
Lesezeichen
Diese Art der Navigationsunterstützung hilft dem Anwender, sich an Orte zu erinnern, die er besucht hat. Umgesetzt als Portale - evtl. sogar als Hyperlinks (siehe Abschnitt 2.2.1) - erlauben sie die Sicht auf diese Orte. Des Weiteren kann die Bewegung der Maus über diese Lesezeichen den darin angezeigten Ort in der Hauptansicht markieren. In Abbildung 8 sind solche Lesezeichen dargestellt.
1 Visuelle Lesezeichen erinnern Anwender an interessante Orte, die sie gesehen haben, durch
Miniatursichten dieser Orte. Das Klicken auf eine dieser Miniaturaussichten animiert die Hauptsicht zu
dem besuchten Standort.
32
Zoomable-User-Interface
Ovales Dokument-Layout
Normalerweise sind die Objekte auf einer ZUI-Oberfläche durch den Anwender verortet. Die relativen Positionen von Objekten zueinander (Entfernung und Richtung) können zur Kodierung von Information genutzt werden. Bederson et al. implementierten, wie aus Abbildung 9 ersichtlich, eine Tour durch HTML-Dokumente. Die ovale Anordnung kodiert die Reihenfolge, in der der Anwender die Dokumente durchqueren kann. Hier spielt wieder der Aspekt der Fisheye-Sicht eine Rolle (siehe Abschnitt 2.2.1). Das Dokument im Fokus wird am größten dargestellt.
Abbildung 9: Pad++-Tour mit ovalem Dokument-Layout. Quelle: [BeHo96].
33
Zoomable-User-Interface
2.2.3 Kognition und der Aufmerksamkeitspunkt
Dieser Abschnitt fasst die Erkenntnisse aus [Raskin08, Abschnitt 2] über menschliche Fähigkeiten und Beschränkungen bei mentalen Prozessen zusammen.
Ergonomie und Kognition
Viele menschliche Verhaltensfaktoren sind allgemeingültig. Diese Eigenschaften sind die Fundamente des Interface-Designs. Beispielsweise besitzt der Mensch lediglich einen Aufmerksamkeitspunkt (engl. locus of attention, Definition folgt). Interface-Design sollte die Fähigkeiten und Schwächen des Menschen berücksichtigen, um dem Anwender ein erleichtertes und somit produktiveres Arbeiten zu ermöglichen. Die Ergonomie befasst sich mit den physischen Design-Richtlinien für Produkte, damit diese komfortabler und effizienter entworfen werden. Als Pendant dazu werden die mentalen Fähigkeiten und Limitierungen in der Kognitionspsychologie 1 untersucht. Computer-Interfaces werden allzu häufig ohne Berücksichtigung dieser kognitiven Limitierungen entworfen.
Kognitiv Bewusstes und kognitiv Unbewusstes
Weiterhin besitzt man die folgenden beiden verschiedenen Mengen limitierter mentaler Fähigkeiten. Die Konzepte des kognitiv Bewussten und des kognitiv Unbewussten wurden von J. F. Kihlstrom geprägt. Eine kurze Definition: Unbewusste mentale Prozesse sind jene, die man nicht wahrnimmt, wenn sie auftreten. In Tabelle 1 sind die Eigenschaften von kognitiv Bewusstem und kognitiv Unbewusstem aufgelistet.
1 Mit „Kognition“ ist oft das Denken gemeint. Die Psychologie bezeichnet Kognition als die mentalen
Prozesse eines Individuums.
34
[Raskin08, Tabelle S. 16].
Aufmerksamkeitspunkt
Der eigene Aufmerksamkeitspunkt ist ein Objekt oder eine Idee, über die man aufmerksam und aktiv nachdenkt. Im Gegensatz zum Fokus, der einen Willen impliziert, hat man keine völlige Kontrolle darüber, was der Aufmerksamkeitspunkt sein wird. Selbst vergangene Fakten können zum Aufmerksamkeitspunkt werden, da Wahrnehmungen für eine kurze Periode persistent sind. Visuelle Wahrnehmungen vergehen üblicherweise in 200 Millisekunden (ms), auditive Wahrnehmungen in 1500 ms [CaMoNe83, S. 29-31]. Die wenigsten Wahrnehmungen werden zu Erinnerungen. Beim Interface-Design sollte man also nicht davon ausgehen, dass eine Person sich noch nach mehreren Sekunden an den genauen Wortlaut einer bestimmten Nachricht erinnern wird. Enthält die Nachricht eine wichtige Information, muss diese Information solange angezeigt werden, bis sie nicht länger benötigt wird. Sobald die Information zum Aufmerksamkeitspunkt wird, gelangt sie ins Kurzzeitgedächtnis 1 ; sie verbleibt dort für zehn Sekunden.
1 Miller’sche Zahl: Das Kurzzeitgedächtnis kann gleichzeitig 7 ± 2 Informationseinheiten (Chunks)
enthalten [Miller56].
35
Zoomable-User-Interface
Bildung von Gewohnheiten
Führt man eine Aufgabe wiederholt aus, wird die Fähigkeit zur Gewohnheit. Zukünftig kann man die Aufgabe unbewusst ausführen - sie wird automatisiert. Laut Raskin müssen Interfaces entworfen werden, die (1) absichtlich Vorteil aus dem menschlichen Merkmal der Gewohnheitsentwicklung ziehen, und (2) Anwendern erlauben, Gewohnheiten zu entwickeln, die ihren Arbeitsablauf erleichtern. Ein Negativbeispiel ist die Tendenz,verschiedene Wege anzubieten, um dieselbe Aufgabe auszuführen. Der Besitz mehrerer Optionen kann den Aufmerksamkeitspunkt von der Aufgabe zur Methodenwahl verschieben. Raskin rät zu Monotonie - also dazu, nur eine mögliche Methode für die Lösung einer Aufgabe anzubieten. Ein weiteres Beispiel sind Nachrichten, die beim Löschen von Dateien erscheinen: Das Betriebssystem fragt, ob man sich sicher ist. Dadurch, dass man in den meisten Fällen mit Ja geantwortet hat, wird diese Eingabe zur Gewohnheit. Selbst, wenn man einmal versehentlich die Löschaktion initiiert, kann es passieren, dass man aus Gewohnheit mit Ja antwortet und die Datei irreversibel gelöscht wird. Besser ist es, dem Anwender zu erlauben, einen irrtümlichen Befehl zu annullieren, oder sicherzustellen, dass er nicht automatisch bestätigen kann.
Ausführen simultaner Aufgaben
Automatisierung erlaubt es, mehrere Aufgaben simultan auszuführen. Alle - außer höchstens einer bewussten Aufgabe, die den Aufmerksamkeitspunkt einbindet - sind automatisiert. Der Mensch simuliert die simultane Ausführung bewusster Aufgaben durch ständiges Wechseln des Aufmerksamkeitspunkts.
36
Zoomable-User-Interface
Einzigartigkeit des Aufmerksamkeitspunktes
Die Einzigartigkeit des Aufmerksamkeitspunktes ist gut belegt (siehe [Baars88, S. 33]). Je intensiver man auf eine Aufgabe fokussiert ist, desto schwieriger ist es, den Aufmerksamkeitspunkt zu wechseln. Nach Auffassung von Raskin muss das Ziel sein, die Aufgabe als den Aufmerksamkeitspunkt des Anwenders zu belassen und nicht durch Meldungen abzulenken. Da Warnungen von einem Anwender, der in eine Aufgabe vertieft ist, kaum wahrgenommen werden [Loftus79, S. 35], sollte sichergestellt werden, dass Anwender erst gar keine Fehler machen oder Fehler rückgängig gemacht werden können, statt Anwender einfach nur über die potenziellen Konsequenzen ihrer Aktionen zu informieren. Die meisten Interface-Situationen können so entworfen werden, dass Fehlermeldungen unnötig sind.
Untersuchung des einzigen Aufmerksamkeitspunkts
Der nächste Schritt ist, Nutzen aus dieser Einzigartigkeit zu ziehen. Wenn man den aktuellen Aufmerksamkeitspunkt des Anwenders kennt, kann man Änderungen an anderen Stellen im System vollziehen, die den Anwender nicht ablenken. Ist der Anwender zum Beispiel untätig, kann das System Information im Hintergrund zwischenspeichern.
37
Zoomable-User-Interface
2.2.4 Quantifizierung
Dieser Abschnitt gibt nach [Raskin08, Abschnitt 4] einen Überblick einiger Methoden zur quantitativen Analyse von Interface-Details. Eines ist das klassische GOMS-Modell (Goals, Operators, Methods und Selection-Rules). Es erlaubt zu einem spezifischen Interface-Design die Zeit vorherzusagen, die für eine bestimmte Operation benötigt wird.
GOMS-Modell
Das GOMS-Modell ging aus der Beobachtung hervor, dass ein Computersystem, das von einem Anwender bedient wird, eine erhebliche Zeit damit verbringt, auf Eingaben zu warten. Nach dem EVA-Prinzip (Eingabe, Verarbeitung und Ausgabe) kann ein System sich in verschiedenen Zuständen befinden. Die Eingabezeit für eine Aufgabe ist die Summe der elementaren Gesten, die die Aufgabe umfasst. Anhand von Experimenten wurde eine Menge typischer Zeitintervalle für verschiedene Gesten festgelegt [CaMoNe83]:
K = 0.2 s Keying: Die Zeit, die benötigt wird, auf der Tastatur eine Taste zu drücken. P = 1.1 s Pointing: Die Zeit, die benötigt wird, auf eine Position auf dem Bildschirm zu zeigen. H = 0.4 s Homing: Die Zeit, die benötigt wird, die Hand von der Tastatur zur Maus oder zurück zu bewegen. M = 1.35 s Mentale Vorbereitung: Die Zeit, die benötigt wird, sich mental auf den nächsten Schritt vorzubereiten. R Responding: Die Zeit, die ein Anwender auf einen Computer warten
Zoomable-User-Interface
Die Eingabezeit für eine Aufgabe lässt sich als Auflistung der dafür benötigten Operationsfolge schreiben. Besteht die Aufgabe darin, die Hand von der Maus zur Tastatur zu bewegen und anschließend eine Taste zu drücken, so lässt sich dies als Auflistung HK interpretieren. Die Auflistung der Gesten K, P und H geht einfach vonstatten. Schwierig wird es bei der Auflistung der mentalen Vorbereitungszeit M. Die Regeln nach [CaMoNe83, S. 265], an welchen Stellen mentale Operationen auftreten können, sind in Tabelle 2 aufgelistet.
Dabei ist ein String eine Zeichenfolge. Ein Trenner ist ein Zeichen und kennzeichnet den Beginn oder das Ende eines sinnvollen Strings. Operatoren sind K, P und H. Ein Argument ist eine zusätzliche Information zu einem Befehl. GOMS-Berechnungsbeispiele finden sich in [Raskin08, Abschnitt 4.2.3].
39
Zoomable-User-Interface
Regel 0: Initiale Einfügung von M-Kandidaten
Füge Ms vor allen Ks ein. Platziere Ms vor allen Ps, die Befehle selektieren, aber nicht vor Ps, die auf Argumente dieser Befehle zeigen. K a MK P a MP Regel 1: Löschung vorweggenommener Ms
Falls ein Operator einem M folgt, das einem Operator vorweggenommen ist, der dem M vorsteht, dann lösche dieses M. Wenn man etwa die Maus mit der Absicht bewegt, die Maustaste zu drücken, sobald man das Ziel der Mausbewegung erreicht hat, dann lösche das M, das man als eine Konsequenz von Regel 0 eingefügt hat. In diesem Fall wird PMK zu PK. O 1 MO 2 a O 1 O 2 Regel 2: Löschung von Ms innerhalb kognitiver Einheiten
Falls ein String von MKs zu einer kognitiven Einheit gehört, dann lösche all diese Ms außer dem ersten. Eine kognitive Einheit ist eine zusammenhängende Folge getippter Zeichen, die einen Befehlsnamen bildet oder als Argument für einen Befehl benötigt wird. Beispielsweise können move oder 4564.23 kognitive Einheiten sein. M 1 K 1 M 2 K 2 ... M n K n a M 1 K 1 K 2 ... K n Regel 3: Löschung von Ms vor aufeinanderfolgenden Endezeichen
Falls ein K ein redundanter Trenner am Ende einer kognitiven Einheit ist, so wie der Trenner von einem Befehl, dem umgehend der Trenner von seinem Argument folgt, dann lösche das M davor.
’ K 1 ’ ’ ... K n ’ a M 1 K 1 K 2 ... K n MKKM 1 ’ K 1 ’ ’ ... K n ’ M 1 K 1 K 2 ... K n MKMKM 1 K 2 K 2 Regel 4: Löschung von Ms, die Endezeichen von Befehlen sind
Falls K ein Trenner ist, der einem Konstanten-String folgt - beispielsweise einem Befehlsnamen oder einer getippte Entität, die jedes Mal dieselbe ist, wenn man sie benutzt - dann lösche das M davor. (Den Trenner hinzuzufügen wird Gewohnheit geworden sein, und daher wird der Trenner Teil des Strings und kein separates M benötigen.) Falls aber das K ein Trenner für einen Argument-String oder einen String ist, der variieren kann, dann behalte das M davor. M 1 K 1 K 2 ... K n MK a M 1 K 1 K 2 ... K n K Regel 5: Löschung überlappender Ms
Lasse keinen Anteil von einem M zählen, der ein R überlappt.
Zoomable-User-Interface
Interface-Effizienz
Das GOMS-Modell dient dazu, Interface-Designs hinsichtlich der benötigten Zeiten für eine Aufgabe zu vergleichen. Über den Optimierungsbedarf eines konkreten Designs trifft es jedoch keine Aussage. Hier hilft ein Maß aus der Informationstheorie weiter. Information ist nachfolgend ein durch Kommunikation übertragener Umfang von Daten. Wenn z. B. der Anwender auf die Maustaste klickt und der Cursor sich an einer bestimmten Stelle befindet, ist das ein Senden von Information an den Computer. Nach [Raskin08, S. 84] ist die informationstheoretische Effizienz 1 e eines Interfaces definiert als der minimale Umfang von Information, der für eine Aufgabe nötig ist (theoretisches Optimum opt i ), geteilt durch den Umfang von Information, der durch den
Anwender geliefert werden muss (abhängig vom Interface-Design des i ):
: e =
Der Informationsbedarf vom Design kann also niemals den Bedarf des Optimums unterschreiten. Die Effizienz kann wenigstens 0 und höchstens 1 sein. Sie kann 1 sein, wenn das Interface-Design das Optimum erreicht hat, und 0, wenn vom Anwender verlangt wird, Information zu liefern, die völlig unnötig ist (Abbildung 10). Der unbestimmte Ausdruck 0:0 soll hier sinnvollerweise als e = 1 definiert sein.
Abbildung 10: Eine Dialog-Box mit einer informationstheoretischen Effizienz von 0.
1 Im Allgemeinen gibt Effizienz das Maß für die Wirtschaftlichkeit und Effektivität das Maß für die
Zoomable-User-Interface
In der Informationstheorie wird der Informationsgehalt in Bits gemessen. Mit n Bits können 2 n Zustände kodiert werden. Zum Beispiel können mit zwei Bits 2 2 = 4 Zustände kodiert werden, und zwar 00, 01, 10 und 11. Um es mit den Begriffen der Kombinatorik auszudrücken: n k ist die „Anzahl Teilmengen der Mächtigkeit k einer nelementigen Menge“, wobei die Reihenfolge beachtet wird und Wiederholungen erlaubt sind. Möchte man generell n Zustände kodieren, berechnet sich die Zahl der Bits, die dafür nötig sind, folgendermaßen: (0) log n
2
Und der
Anteil Bits pro Zustand
beträgt:
log
n
Falls die Wahrscheinlichkeiten zwischen den Zuständen nicht notwendigerweise gleich sind und der i-te Zustand die Wahrscheinlichkeit p i besitzt, beträgt der Anteil Bits für diesen Zustand:
p ⋅
i
∫ log x ⋅
2
0
42
Zoomable-User-Interface
Die Zahl der Bits ist die Summe über alle Zustände von Ausdruck (2):
∑
Die Summe ist maximal, wenn eine Gleichverteilung der p i erreicht wird:
∑ 1 i =
Sie reduziert sich also im gleichwahrscheinlichen Fall auf den Ausdruck (0).
Beispielsweise beträgt der Informationsgehalt eines Interface, das nur das Drücken eines einzigen Knopfes erlaubt, 0 Bit: 0 1 log 1 2 = ⋅
Wenn auch das Nichtdrücken des Knopfes erlaubt ist, erhöht der übermittelte Informationsgehalt sich bis auf 1 Bit, da es zwei mögliche Nachrichten gibt:
∑
Bei 4 Möglichkeiten beträgt der übermittelte Informationsgehalt schon 2 Bit:
1 Ohne Berücksichtigung der Einschränkung ∑ = 1
p beträgt der Grenzwert
i
∑ lim p ⋅
i n ∞ → 1 i =
2 Beweis vgl. Anhang A5.
43
Zoomable-User-Interface
Fitts’ Gesetz
Dieses Gesetz sagt aus, wie viel Zeit ein Anwender durchschnittlich benötigt, um den Cursor auf dem Bildschirm mit einem Eingabegerät zu einem Button zu bewegen:
Zeit
Der Button ist das Ziel, der zu überbrückende Weg die Distanz D und G die Größe des Buttons. Die Konstante a repräsentiert die Start-/Stopzeit des Eingabegerätes und b steht für die inhärente Geschwindigkeit des Eingabegerätes. Für grobe Näherungen verwendet Raskin a = 50 und b = 150 [Raskin08].
Abbildung 12: Die Komponenten aus Fitts’ Gesetz im eindimensionalen Fall.
44
Zoomable-User-Interface
Es folgen Erläuterungen zu dem Gesetz.
In der Informationstheorie wird der Informationsgehalt bekanntlich in Bits gemessen (s. Abschnitt 2.2.4, „Interface-Effizienz“). Mit n Bits können 2 n Zustände kodiert werden. Möchte man n Zustände kodieren, berechnet sich die Zahl der Bits, die dafür
nötig sind, durch
Zustände und
Annahme, dass bei einem Bit b ms benötigt werden, beträgt die Gesamtzeit (1). Fitts’ Gesetz erklärt zum Beispiel, warum es viel schneller ist, den Cursor zu einem Menü zu bewegen, das sich an der Bildschirmkante befindet, als zu einem Menü, das sich von der Kante entfernt befindet: Da der Cursor an der Bildschirmkante stoppt, ist die effektive Zielgröße von Ersterem beträchtlich. Weiterhin kann die Aussage getroffen werden, dass die Zeit abnimmt, wenn die Zielgröße zunimmt. Größere Buttons sind also effizienter.
Hick’s Gesetz
Muss der Anwender unter n gleichwahrscheinlichen Aktionen eine Auswahl treffen, so beträgt die nach Hick’s erforderliche Zeit: ( ) 1 log ) ( (1) n b a ms in Zeit + ⋅ + =
2
Möchte man also n Zustände kodieren, berechnet sich die Zahl der Bits, die dafür nötig ( ) 1 log 2 + sind, aus . n
Falls die Wahrscheinlichkeit der i -ten Auswahl p beträgt, muss statt des
i
logarithmischen Faktors in der Gleichung (1) der Term
∑
i verwendet werden.
45
Zoomable-User-Interface
Falls also die Wahrscheinlichkeiten zwischen den Zuständen nicht notwendigerweise gleich sind und der i -te Zustand die Wahrscheinlichkeit i p besitzt, beträgt der Anteil
Bits für diesen Zustand
um sie zu kodieren.
Zahl der Bits ist die Summe über alle Zustände, also ∑
Unter Mangel besseren Wissens können dieselben Koeffizienten a und b wie für Fitts’ Gesetz verwendet werden. Aus Hick’s Gesetz folgt, dass eine simultane Auswahl vieler Möglichkeiten schneller abläuft, als wenn die Auswahlmöglichkeiten in Submenüs gruppiert sind. Für mehr Detail-Information bezüglich Fitts’ und Hick’s Gesetzen siehe [CaMoNe83, S. 72-74].
46
Zoomable-User-Interface
2.2.5 Räumliche Fähigkeit
Büring et al. [BüGeRe06, S. 2] gehen auf die unterschiedliche räumliche Fähigkeit von Individuen ein. Räumliche Fähigkeit kann definiert werden als die Fähigkeit, gut strukturierte visuelle Bilder anzulegen, zu behalten, abzurufen und umzuwandeln [Lohman96]. Räumlich begabte 1 (engl. high-spatial) Anwender vollenden Aufgaben in räumlichen User-Interfaces schneller als räumlich unbegabte Anwender, die dazu tendieren, sich zu verlieren [ViHaWi87, CzLa97]. Unterschiede zwischen Individuen können durch eine Übersicht eliminiert werden, da dies die Unfähigkeit räumlich unbegabter Anwender kompensiert, ein mentales Modell des Informationsraumes zu erstellen [StSa95].
Büring et al. vermuten, dass derselbe kognitive Mechanismus auch auf ZUIs zutrifft. Herangezoomt werden weniger Orientierungspunkte dargestellt. Der Anwender ist gezwungen, sich entweder auf sein mentales Modell des Informationsraumes zu berufen oder zeitaufwändige Zooming- und Panning-Aktionen auszuführen, um sich ohne Übersicht zu reorientieren.
1 „Räumliche Begabung ist die Fähigkeit, Visuelles richtig wahrzunehmen und damit im Kopf zu
experimentieren, sowie sich die Welt räumlich vorzustellen.“ [RäumlicheBegabung09]
47
Zoomable-User-Interface
2.2.6 Kürzester Pfad
Um zu einem Punkt auf der Oberfläche zu navigieren, benötigt der Anwender durch Panning linearen Aufwand, da er sich an der Oberfläche von Bildschirm zu Bildschirm „entlang hangelt“. Zooming kann diesen Vorgang stark beschleunigen, da der Aufwand logarithmisch ist, bis Start- und Zielposition auf einem Bildschirm sichtbar sind (siehe Abschnitt 3.2.1). Abbildung 13 zeigt den Vergleich zwischen Panning und Zooming mittels Metrik. Weiterführend [BeHo96, S. 15].
Abbildung 13: Zooming- und Panning-Schritte, um zur Zielposition zu gelangen.
Wie aus Abbildung 13 ersichtlich, werden durch Panning
Schritte (Bildschirmlängen) benötigt, um zur Zielposition zu gelangen. Mit Zooming lediglich Schritte (Zooming, Panning und erneutes Zooming). log 2 s r q r d + + = +
a
48
Zoomable-User-Interface
2.2.7 Vor- und Nachteile eines ZUI
Die geografische Verortung von Informationsobjekten bei ZUIs entspricht eher den mentalen Fähigkeiten des Menschen als eine abstrakte Verzeichnisstruktur wie bei WIMP-Interfaces. Denn der Mensch legt sog. kognitive Karten geografischer Räume an [Lynch65]. Dadurch kann er sich an ungefähre Positionen von Objekten erinnern. Außerdem wird das Problem des limitierten Bildbereiches durch die unendliche Informationsebene umgangen [Raskin08, Abschnitt 6.2].
Büring et al. [BüGeRe06] erwähnen den erleichterten Datenzugang bei ZUIs, aber auch den Nachteil, dass Anwender dazu tendieren, sich auf der Oberfläche zu verlieren (siehe Abschnitt 2.2.5). Solche Orientierungsprobleme können jedoch durch ein Übersichtsfenster überwunden werden [BüGeRe06].
König [König07, S. 37] zieht aus Ergebnissen relevanter Evaluationsstudien zu Zoomable-User-Interfaces folgende Schlüsse: Er schreibt ihnen positive Effekte hinsichtlich räumlicher Erinnerung, eine höhere Effizienz sowie eine höhere Benutzerzufriedenheit gegenüber klassischen Systemen zu.
49
Zoomable-User-Interface
2.2.8 Gesten
Eine (vor allem für alternative Eingabegeräte) zusätzliche Möglichkeit, Aktionen auszuführen, besteht darin, Funktionalität an Gesten zu koppeln: Der Anwender führt eine Bewegung mit dem Eingabegerät aus und die Anwendung erkennt die mutmaßliche Geste anhand von Ähnlichkeit 1 . Hier soll unter Ähnlichkeit verstanden werden, dass zwei Funktionen sich über einem Intervall kaum unterscheiden (siehe Abbildung 14). Formal ausgedrückt:
Eine Zerlegung Z des Intervalls [a,b] in Teilintervalle wird definiert durch n Zahlen [ ] mit . Sei für 1 ,..., 1 . t ,..., ... , + n k t b t t a t t c − = n = < < = ∈
1 1 1 n k k k
g Kurven in Parameterdarstellung 2 . Seien ( ) f , ( ) t t ( ) gelten: ( ) ( ) ε ( ) ( ) ( ) Dann soll für alle Folgenglieder der Folge , . c g c f c g c f ≤ −
k k k k n
Abbildung 14: Zwei Funktionen, deren Funktionswerte einander ähneln.
Der Einsatz von Gestenerkennung verlangt nach einer Übersicht über in der Anwendung verfügbare Gesten. Gesten sind daher im Allgemeinen nicht intuitiv 3 und ihr Einsatz ist somit fragwürdig. Sie können jedoch Schaltflächen oder schwer erreichbare Menüeinträge ersetzen.
1 In der Geometrie sind Figuren zueinander ähnlich, wenn sie durch Transformationsabbildungen ineinander
überführt werden können [Ähnlichkeit09].
2 Nicht jede Kurve lässt sich als Funktionsgraph mit Argument x und Funktionswert y interpretieren. Bei einer Kurve
in Parameterdarstellung lässt der Kurvenverlauf sich als Menge von Punkten abhängig vom Parameter t darstellen.
3 Interfaces können generell nicht „intuitiv“ sein, sondern lediglich „vertraut“ [Raskin08, Abschnitt 6.1]. Darum ist
die Aussage, ein Interface sei intuitiv, zu ungenau. Ein Interface ist etwas Unnatürliches, mit dem der Anwender sich
vertraut machen muss. In dieser Arbeit soll der Verständlichkeit halber der gewohnte Begriff verwendet werden.
50
Einsatz von Text und Bild
2.3 Einsatz von Text und Bild
Es wird die Frage beantwortet: Wann ist der Einsatz von Text und wann von Bildern ratsam? Dieser Abschnitt bezieht sich auf [König07, Abschnitt 3.3]. Einzelne Quellen sind dort nachzuschlagen.
Verbale (Text) und visuelle (Bild) Information werden von getrennten Subsystemen des Kurzzeitgedächtnisses mit jeweils unabhängiger Kapazität verarbeitet. Diese Gesamtkapazität sollte in Benutzeroberflächen ausgenutzt werden, indem neben Text auch grafische Elemente und Positionen als Informationsträger verwendet werden. Jedoch sollten dem Interface-Designer dabei die Limitierungen der Elementanzahl bewusst sein.
Die Kapazität für verbale Information beträgt 7 ± 2 Elemente und für visuelle Information 3-5 Objekte. Es können jedoch mehr Positionen im visuellen Kurzzeitgedächtnis gespeichert werden als Objekte; insgesamt ca. 9 Positionen, von denen lediglich 3 mit Objekten verknüpft sind. Die visuelle Kapazität beträgt also 3-9 Objekte.
Neben diesen Limitierungen der Kapazität des Kurzzeitgedächtnisses muss der Interface-Designer zudem die Dauer der visuellen Verarbeitung von Objekten berücksichtigen. Die Wahrnehmung einer Szene wird sequentiell konstruiert. Die Verarbeitung eines einfachen Objektes benötigt 40-50 Millisekunden (ms). Dies impliziert die proportional zur Objektfülle steigende Verarbeitungsdauer einer Szene.
Information aus dem Kurzzeitgedächtnis kann im Langzeitgedächtnis gespeicherte Information aktivieren, wenn diese im Kontext zueinanderstehen. Dies verdeutlicht den Nutzen von Vorschaubildern auf Benutzeroberflächen.
Die Elemente des verbalen und die Objekte des visuellen Kurzzeitgedächtnisses stellen sogenannte Chunks dar. Darunter kann man sich sinntragende Abstraktionseinheiten vorstellen. Der Informationsgehalt einzelner Chunks ist dabei für die genannten Kapazitäten unbedeutend. So werden Wörter, Sätze und Abschnitte zu Chunks abstrahiert bzw. zu Objekten auch Merkmale wie Form, Farbe und Position hinterlegt.
51
Einsatz von Text und Bild
Abhängig vom Kontext ist der Einsatz verbaler oder visueller Information abzuwägen. Mit Text können Eindeutigkeit gewährleistet und abstrakte Konzepte vermittelt werden. Bilder werden subjektiv interpretiert und sind für räumliche Konstellationen und strukturelle Beziehungen geeignet.
Der Trend zum massiven Einsatz von Ikonen erscheint auch aufgrund dieser Tatsachen kontraproduktiv (siehe dazu [Raskin08, Abschnitt 6.3]).
Aufgrund des Informationsreichtums von Bildern können diese spezielle Sachverhalte u. U. effizienter darlegen, als Wörter. Weiterhin ist visuelle Information förderlich für die Gedächtnisleistung. Wie bei der Kapazität des Kurzzeitgedächtnisses angesprochen, kann die Kombination verbaler und visueller Information zu einem Gewinn führen. Außerdem wirkt diese Kombination positiv auf das Verständnis und die Gedächtnisleistung.
52
Entwurf und Implementierung
3 Entwurf und Implementierung
Die Anforderungen an eine spezielle Menüausprägung - eine Ringauswahl - sollen geklärt und verschiedene Entwurfs- und Implementierungsaspekte zu einem Prototyp dargelegt werden.
3.1 Ringauswahl
Es folgen die Anforderungen an eine bestimmte Form der Auswahl. Für den Prototyp soll eine Ringauswahl in Anlehnung an das ovale Dokument-Layout in Abschnitt 2.2.2 implementiert werden. Als Abwandlung eines klassischen Kontextmenüs sollen dem Anwender multiple Auswahlmöglichkeiten zur Verfügung gestellt werden. Die Ringauswahl soll dem Aspekt der Fisheye-Sicht genügen (siehe Abschnitt 2.2.1), das heißt, die fokussierte Auswahlmöglichkeit tritt in den Vordergrund. In Abbildung 15 ist eine solche Ringauswahl dargestellt.
Nachfolgend wird die Aufgabenstellung informell beschrieben, formell in Abschnitt 3.2.6. An dafür vorgesehenen Stellen soll per gedrückt gehaltener Maustaste eine Auswahl in Form eines Rings erscheinen. Dabei steht die Zahl der Auswahlmöglichkeiten erst zur Laufzeit fest. Die Möglichkeiten sollen kreisförmig angeordnet werden.
Im Interface-Design ist ein solches ringförmiges Kontextmenü als Radial-Menü (oder auch Pie-Menü) bekannt. Ein Kreis wird in mehrere „Kuchenstücke“ aufgeteilt, die Auswahl hängt von der Richtung des Cursors ab. Die Auswahl geht schneller vonstatten als bei klassischen linearen Menüs, da die Stücke groß sind und sich nahe dem Cursor befinden (siehe Fitts’ Gesetz). Bei wiederholter Ausführung wird die Auswahl durch das muskuläre Gedächtnis 1 automatisiert (siehe Abschnitt 2.2.3); der Anwender muss nicht mehr auf das Menü blicken [Hopkins91].
1 Muskuläres Gedächtnis: Der Prozess, bei dem das neuromuskuläre System motorische Fähigkeiten
abspeichert [MuskuläresGedächtnis09].
53
Ringauswahl
Wie in Abschnitt 2.3 für Interfaces gefordert, sollte für Radial-Menüs neben grafischen Elementen und Positionen auch Text als Informationsträger genutzt werden. Text kann in den Auswahlmöglichkeiten Verwendung dazu finden, dass die Gesamtkapazität des Kurzzeitgedächtnisses (siehe Abschnitt 2.3) nicht überschritten wird. In Abschnitt 2.2.4 wurde bei der Betrachtung von Hick’s Gesetz erwähnt, dass es besser ist, dem Anwender viele Auswahlmöglichkeiten simultan zu geben, statt dieselben Auswahlmöglichkeiten in hierarchischen Gruppen zu organisieren. Diese Tatsache sollte beim Entwurf von Radial-Menüs berücksichtigt werden, ohne die zuvor angesprochenen textuellen und visuellen Kapazitäten des Kurzzeitgedächtnisses zu vergessen. Ab einer bestimmten Zahl von Auswahlmöglichkeiten (ca. sieben) dürfte also ein Submenü sinnvoll sein.
Bei einer großen Zahl Auswahlmöglichkeiten, die sich nicht logisch in Submenüs gruppieren lassen, versagt ein Radial-Menü: die Stücke werden zu schmal, das Menü nimmt zu viel Platz auf dem Bildschirm ein und die Gedächtniskapazität wird überschritten. Dann sind lineare Menüs sinnvoll, die sich für dynamische, große Menüs mit vielen Auswahlmöglichkeiten eignen [Hopkins91].
54
Wie aus Abbildung 15 ersichtlich, kann ein Submenü sein Elternmenü überdecken, aber transparent sein. Über das Elternmenü kann ein Weichzeichner gelegt werden, um das Submenü hervorzuheben.
55
Entwurf
3.2 Entwurf
Dieser Abschnitt behandelt die Details beim Entwurf des Prototyps.
Bei Projekten wird oftmals vergessen, Nutzen aus dem Interface-Design zu ziehen. Das kann daran liegen, dass Interface-Designer erst spät hinzugezogen werden. Entwürfe sind zu Beginn am flexibelsten. Das Interface muss bereits Teil der Anforderungsanalyse sein. Interface-Design kann nicht bis zum Entwurf der Software vertagt werden. 1 [nach Raskin08, Abschnitt 1.5, S. 5]
3.2.1 Zoomen
Die Idee ist, eine zur x- und zur y-Achse orthogonal ausgerichtete Ebene über die z-Achse zu verschieben, wobei die Koordinaten der Objekte Elemente der Ebene sind.
Sei die Ebene in Hesse’scher Normalform:
d x n = ⋅
0
0
0
1
Hierbei ist 0 n die normierte Normale, die vom Ursprung zur Ebene zeigt, x ein
potenzieller Punkt, der auf der Ebene liegt bzw. die Gleichung erfüllt, und d die Distanz der Ebene zum Ursprung:
1 Analyse und Entwurf sind Teile des Software-Engineering-Prozesses.
56
Entwurf
Ein Punkt befindet sich genau dann auf der Ebene, wenn seine dritte Komponente z entspricht. Solche Punkte sollen genau die Koordinaten der Informationsobjekte des ZUI sein.
In der Praxis sind natürlich nur zweidimensionale Objektkoordinaten gegeben. Diese Punkte werden einfach auf drei Dimensionen erweitert, indem eine z-Komponente hinzufügt und auf 1 gesetzt wird. Nun fehlt nur noch die Projektion dieser Punkte auf die Ebene. Dies wird mit einer Zentralprojektion vollzogen.
Die Objekte sind in Container eingebettet. Diese sollen als rechteckige Polygone mit vier Punkten angesehen werden. In Abbildung 16 ist skizziert, wie die Schnittpunkte der Verbindungsgeraden mit der Projektionsebene die darzustellenden Punkte ergeben. Nun soll eine lineare Abbildung gefunden werden, die Punkte per Zentralprojektion abbildet. Zu bestimmen ist der Schnittpunkt einer Verbindungsgeraden mit der Projektionsebene.
57
Entwurf
Das Projektionszentrum sei
1
Sei n ⋅
2
n
3
Dann ergibt das Einsetzen der Verbindungsgerade in die Projektionsebene
λ =
Im vorliegenden Fall (1) ergibt . Außerdem wird gesetzt. 1 x x n x = ⋅ 3 =
3 0
Somit lässt sich die folgende lineare Abbildung aufstellen: ℝ 2 → ℝ 2 , p:
1
x
2
Daraus lässt sich eine quadratische Transformationsmatrix A erstellen 1 :
' x x A =
0
Der Rang beträgt rang(A) = 2; die Matrix hat vollen Rang.
Die lineare Abbildung ist also bijektiv 2 und invertierbar 3 .
Die inverse Matrix lautet
In der Praxis soll das Projektionszentrum der Position des Mauszeigers entsprechen. Das bedeutet, dass die Verbindungsgerade modifiziert werden muss:
1 Beschreibung einer linearen Abbildung durch eine Matrix vgl. Anhang A7.
2 Satz vgl. Anhang A6.1.
3 Satz vgl. Anhang A6.2.
58
Entwurf
3.2.2 Pannen
Die Objekte oder die komplette Ebene sollen verschoben werden:
ein Objekt, wenn sich der Mauszeiger innerhalb der Bounding-Box des Objekts befindet und die Maustaste gedrückt gehalten wird: ; (6) y y y x x x ≤ ≤ ∧ ≤ ≤
max min max min maus maus
die Ebene, wenn kein Objekt angeklickt wird.
Die Translation um den Vektor t :
ℝ 2 → ℝ 2 , t:
y
Dies ist keine lineare Abbildung. Die Abbildung ist bijektiv 1 und daher invertierbar 2 .
Homogene Transformationsmatrix:
0
0
1 Beweis vgl. Anhang A8.1.
2 Beweis vgl. Anhang A8.2.
59
Entwurf
3.2.3 Verschieben von Objekten
Viele ZUI-Implementierungen realisieren die Möglichkeiten des Vergrößerns und Verschiebens von Objekten auf der Oberfläche mithilfe von „Anfassern“ (kleinen Bedienelementen) an den Objekten. Der Autor möchte nachfolgend seine Variante vorstellen, bei der ein Verschiebe-Anfasser überflüssig ist. Das grafische Eingabegerät sei die Maus. Solch ein Anfasser ist im Allgemeinen nötig, um zwischen einer Benutzer-Aktion, die auf ein Steuerelement des Objekts wirkt, und dem Verschieben des Objekts selbst zu unterscheiden. Diese Unterscheidung kann nach Auffassung des Autors über Gesten erkannt werden.
i. Verschieben des Objekts
Der Cursor zeigt auf das Objekt und die Maustaste wird gedrückt. Der Cursor wird verschoben und die Maustaste wieder losgelassen.
Ein ansprechender Effekt ist der Wurf eines Objekts über die Oberfläche. Wie in der Realität berührt der Anwender ein Objekt und bringt es per Bewegung auf eine Geschwindigkeit. Dann lässt er los und das Objekt kommt nach kurzer Zeit zum Stillstand.
Dieser Wurf kann erkannt werden, indem die Verschieben-Geste nochmals unterschieden wird. Ein Objekt soll verschoben werden (Abbildung 18), wenn der Cursor kurz auf der Zielposition verharrt, und geworfen werden (angedeutet in Abbildung 19), wenn die Maustaste in der Bewegung ohne nennenswerten Geschwindigkeitsverlust plötzlich losgelassen wird.
60
ii. Aktion mit dem Objekt
Der Cursor zeigt auf das Objekt und die Maustaste wird gedrückt. Ohne nennenswerte Cursor-Bewegung wird die Maustaste wieder losgelassen. Dadurch wird ein Steuerelement aktiviert.
Denkbar wäre auch der folgende, sinnvollere Ansatz. Bei semantischem Zooming findet ab einer bestimmten Zoomstufe ein Umschlagen der Semantik, die auf dem Objekt dargestellt wird, von Metadaten hin zu einer manipulierbaren Applikationsstufe statt (siehe Abschnitt 2.2, „Zooming-Typen“). In der Applikationsansicht verliert der Anwender den geografischen Bezug zwischen den Objekten auf der Oberfläche. Darum ist es hier nicht mehr sinnvoll, das Verschieben von Objekten zu erlauben. Dies lässt volle Manipulation am Objekt zu. So müssen Objekte nur in geringer Zoomstufe verschiebbar sein, bei näherer Betrachtung nicht.
61
Entwurf
3.2.4 Objekt-Gleiten
Im Abschnitt 3.2.3 wird der Wurf eines Objekts über die Oberfläche angesprochen. Nachdem der Wurf erkannt wurde, soll das Objekt langsam ausgleiten, bis es zum Stillstand kommt.
Durch das Verschieben bzw. den Wurf erhält man einen Start- und einen Endpunkt. Der
Vektor zwischen beiden Punkten lässt sich als Weg 0 s interpretieren und die Dauer als
Zeit . Zwischen Verschiebung und Wurf kann unterschieden werden, indem t t t − = ∆
1 2
die Durchschnittsgeschwindigkeit
Schwellwert verglichen wird. Fällt diese Endgeschwindigkeit unter den Schwellwert, wird eine Verschiebung erkannt.
Zum Verständnis der Kräfte, die nach dem Wurf wirken, wird nachfolgend die schiefe Ebene aus der Mechanik erläutert (siehe Abbildung 21).
Entwurf
Die ursprüngliche Kraft an der schiefen Ebene ist die Gewichtskraft g m F G ⋅ =
(
m
ist Masse des Körpers,
g
ist Erdbeschleunigung). Die vertikale Gewichtskraft lässt
sich zerlegen in die Hangabtriebskraft H F parallel zur Ebene und die Normalkraft
F senkrecht dazu. Die Hangabtriebskraft bewirkt eine Abwärtsbewegung des Körpers
N
und die Normalkraft (oder auch Anpresskraft) drückt den Körper gegen die schiefe Ebene. Der Hangabtriebskraft wirkt die Reibungskraft R F entgegen. Im Falle, dass der Körper auf der schiefen Ebene ruht, heben R F und H F einander auf.
Die beiden Komponenten H F und N F lassen sich über ein Kräfteparallelogramm
bestimmen. Vom Schwerpunkt des Körpers aus zeichnet man parallel und senkrecht zur Ebene Hilfslinien und ergänzt diese so zu einem Rechteck, dass die Gewichtskraft die Diagonale bildet. Dann misst man H F und N F . Es muss gelten: . F F F = +
G N H
Handelt es sich um eine horizontale Ebene, ist die Hangabtriebskraft betragsmäßig gleich null und die Normalkraft entspricht der Gewichtskraft.
Kraft lässt sich als vektorielle Größe festlegen:
Die Gewichtskraft lässt sich beispielsweise beschreiben, indem man ein Koordinatensystem mit vertikaler z-Achse wählt:
Entwurf
Nachfolgend ein Überblick der in diesem Abschnitt verwendeten Einheiten:
Nun soll eine Gleichung vorgestellt werden, mit deren Hilfe sich die Gleitreibung zwischen Objekt und Oberfläche simulieren lässt. Ein Beispiel: Wird ein Klotz durch Zug in Bewegung versetzt, so liegt anschließend ein Gleiten vor. Die Gleitreibung zwischen Festkörpern kann durch das Coulomb’sche Reibungsgesetz ausgedrückt werden:
, (1) F F = µ ⋅
N R R µ ℝ + F die Gleitreibungskraft (dargestellt als Vektor), wobei R 0 der empirische ∈
R
Gleitreibungskoeffizient (Materialeigenschaften der Körper) und N F die Normalkraft
(senkrecht zur Berührungsebene) ist. Die Relativgeschwindigkeit v v v rel − =
2 1
zwischen beiden Körpern ist ungleich null. Somit ist die benötigte Kraft, um das Objekt in Bewegung zu versetzen, größer als die maximale Reibungskraft 1 . Bemerkung: Bei
einer horizontalen Ebene entspricht die Normalkraft der Gewichtskraft: . F F =
G N
1 Diese Reibungskraft heißt Haftreibungskraft und liegt dann vor, wenn die Relativgeschwindigkeit
gleich null ist. Die Gleitreibung ist geringer als die Haftreibung und der Gleitreibungskoeffizient kleiner
als der Haftreibungskoeffizient.
64
Entwurf
Die Coulomb’sche Reibung ist ein „sehr einfaches Reibungsgesetz, das für viele Ingenieuranwendungen in erster Näherung reicht: Die Reibungskraft ist proportional zur Normalkraft und so gut wie unabhängig von der Geschwindigkeit.“ [Popov09, S. 1]
Eine kurze Auflistung einiger Gleitreibungskoeffizienten findet sich in Tabelle 3.
Entwurf
Da es sich um eine horizontale Ebene handelt, ist die Hangabtriebskraft betragsmäßig gleich null und die Normalkraft entspricht der Gewichtskraft:
m
werden. Eingesetzt in Gleichung (1) ergibt sich die Gleitreibungskraft.
Nach dem Newton’schen Superpositionsprinzip addieren sich die auf einen Körper
wirkenden Kräfte vektoriell zu einer resultierenden Kraft res F auf. In diesem Fall:
F F =
R res
Die Hangabtriebskraft ist betragsmäßig gleich null und die Normalkraft entspricht der Gewichtskraft. Die Normalkraft geht über die Reibungskraft ein.
Das Newton’sche Aktionsprinzip lautet . Die gesamte Kraft ist nun mit der a m F ⋅ =
Masse bekannt. Dadurch lässt sich durch Umstellung die aus der Reibungskraft resultierende (negative) Beschleunigung ermitteln:
Diese Beschleunigung wirkt verzögernd auf die Geschwindigkeit des Objekts ein und ist konstant.
66
Entwurf
Bei dem Wurf (nachdem das Objekt durch den Anwender auf eine Anfangsgeschwindigkeit gebracht wurde) handelt es sich um eine sog. gleichmäßig beschleunigte Bewegung - durch die Reibungskraft wirkt eine verzögernde Beschleunigung auf das Objekt ein. Diese ist gekennzeichnet durch eine gleichmäßige Änderung der Geschwindigkeit und einer dementsprechend konstanten Beschleunigung. Also:
1. v ist linear
2. a ist konstant
Für die gleichmäßig beschleunigte Bewegung gelten folgende Gesetze:
Wobei 0 s der Ortsvektor zur Zeit und 0 v die Anfangsgeschwindigkeit ist. 0 t =
Ein Beispiel:
Abbildung 23 zeigt den Kurvenverlauf einer Funktion und ihrer Ableitungen. f kann als Weg ( ) f als Geschwindigkeit ( ) ( ) ' s interpretiert werden, ' und t t s t v =
f als Beschleunigung ( ) ( ) ' ' ' . t v t a =
67
Abbildung 23: Kurvenverlauf der Funktion ( ) 2 und ihrer Ableitungen. x x f = Quelle: [Plotter09].
s sind bekannt. Dann ließe sich z. B. der Weg ( ) Angenommen a , 0 v und 0 s ermitteln, t
ohne dass f bekannt ist. Und dies soll nun für den Wurf ausgenutzt werden.
68
Entwurf
Die Beschleunigung
a
wurde berechnet. Wie eingangs erwähnt, sind die
Anfangsgeschwindigkeit 0 v und der durch den Wurf zurückgelegte Weg 0 s bekannt.
2 3 , 0 mm Größe eines Bildschirmpixels (lässt sich grob errechnen aus Geht man von ca.
Bildschirmdiagonale geteilt durch diagonale Pixelanzahl) zur Umrechnung des Weges von Pixel in Meter aus, so lässt sich der Weg ( ) anhand des Weg-Zeit-Gesetzes t s
bestimmen. Wird also ein Frame zum Zeitpunkt t aufgebaut, lässt sich auf diese Weise der aktuelle Ort des Objekts beim Gleiten bestimmen. In Abbildung 24 ist der Kurvenverlauf dieser quadratischen Funktion (Parabel) angedeutet. Zum Zeitpunkt des Stillstandes herrscht das absolute Maximum der Funktion.
Die Vorgehensweise noch einmal zusammengefasst: Durch den Wurf sind ein Anfangsweg und eine Anfangsgeschwindigkeit gegeben. Die Gleitreibungskraft lässt sich über einen beliebigen Gleitreibungskoeffizienten und die Normalkraft berechnen. Die Normalkraft ergibt sich aus Masse mal Erdbeschleunigung, wobei die Objektmasse wieder beliebig gewählt werden kann. Somit ist die Gleitreibungskraft bestimmt. Ansonsten treten keine Kräfte auf. Da Kraft gleich Masse mal Beschleunigung gilt, ist wiederum die negative Beschleunigung bekannt. Da diese konstant ist, handelt es sich um eine gleichmäßig beschleunigte Bewegung. Möchte man nun wissen, an welchem Ort sich das Objekt zu einem Zeitpunkt beim Gleiten befindet, so müssen lediglich die dafür ermittelten Werte in das Weg-Zeit-Gesetz eingesetzt werden.
69
Entwurf
3.2.5 Rekursive Verschachtelung von Objekten
Die in ZUIs oft eingesetzte Verschachtelung von Objekten (siehe Abschnitt 3.3.3, „rekursive Verschachtelung von Tabellen“) oder umschließenden Frames [König07, Abschnitt 4] legt nahe, dass in diesem Kontext Gebrauch von der Graphentheorie (siehe A9) als Hilfsmittel zur Analyse gemacht werden sollte, da die Verschachtelung sich als Graph interpretieren lässt.
Betrachtet man zunächst nur ein Objekt, so können in dieses mehrere Objekte eingebettet sein, in diese Objekte wiederum weitere Objekte usw. Dies ergibt also einen Baum (genauer Wurzelbaum) nach der Definition, dass dieser ein zusammenhängender, kreisfreier Graph ist. Betrachtet man nun alle verschachtelten Objekte, so hat man u. U. einen Wald - also einen Graphen, dessen Komponenten Bäume sind. Liegt der Spezialfall eines Binärbaumes vor, können die speziellen Eigenschaften, wie in A9 beschrieben, zur Analyse genutzt werden. In der Praxis wird man jedoch meist auf scheinbar zufällige Strukturen ohne offensichtliches Muster stoßen. Abhängig vom Kontext können Muster natürlich mithilfe der Netzwerkanalyse oder anderer Verfahren gefunden werden (siehe auch Abschnitt 4).
Es soll nun eine Übersicht darüber gegeben werden, welche Möglichkeiten die Graphentheorie bietet. Graphen bestehen aus einer Objektmenge (Knoten genannt) und Relationen zwischen ihnen (Kanten genannt). Relationen können symmetrisch oder asymmetrisch sein, wodurch man einen gerichteten oder einen ungerichteten Graphen erhält. Hier soll von einem ungerichteten Graphen ausgegangen werden. Zwei Objekte sollen durch eine Kante verbunden sein, wenn ein Objekt in das andere eingebettet ist. Beschriftungen der Kanten sind sinnvollerweise zulässig, um zu beschreiben, durch welche Aktion ein automatischer Übergang ausgelöst wird. Möchte man Prozesse abbilden, eignet sich die Abstraktion als endlicher Automat, der einem gerichteten und beschrifteten Graphen entspricht, wobei die Knoten Zuständen entsprechen. Die Graphentheorie bietet Verfahren, Graphenprobleme zu lösen: kürzeste Wege zu bestimmen, Bestimmung einer kürzesten Rundreise, Färbung mit möglichst wenig Farben, Matchings in Graphen oder um zu klären, ob und wie man bestimmte Zustände erreicht.
70
Entwurf
Ein weiteres Hilfsmittel der Analyse ist das Lösen von Rekursionsgleichungen 1 , mit deren Hilfe sich Laufzeiten beim Zooming in verschachtelten Objekten bestimmen lassen.
3.2.6 Ringauswahl
In diesem Abschnitt soll die Ringauswahl aus Abschnitt 3.1 entworfen werden.
Das Problem kann trigonometrisch gelöst werden. Hier soll eine Lösung mittels linearer Algebra gegeben werden.
Abbildung 25: Ring bestehend aus mehreren Auswahloptionen (als Kreise angenähert).
1 Der Prozess, eine rekursiv definierte Funktion in einen Ausdruck umzuwandeln, der nicht die Funktion
selbst enthält. Dieser Ausdruck ist gleichbedeutend mit der Laufzeit eines Algorithmus, der den
Funktionswert rekursiv berechnet.
71
Entwurf
Um beliebige regelmäßige Vielecke als Auswahlmöglichkeiten gemischt anzuordnen, wird die Vieleckform mit einem Kreis angenähert. Es sollen n Kreise ohne Überschneidung und ohne Abstand in einen Kreis eingepasst werden 1 . Im Ursprung liegt der Kreis. Vom Ursprung werden n Geraden im Winkel von 360°/n abgesetzt. Ein anzuordnender Kreis wird über eine Gerade im Winkel von 360°/2n verschoben. Zu ermitteln ist der Skalar dieser Gerade, bei dem der Kreis eine der n Geraden berührt. Es folgt das notwendige Grundlagenwissen.
Ebene in Hesse’scher Normalform
: , d x n E = ⋅
0
wobei 0 n ein Normaleneinheitsvektor, x ein Punkt auf der Ebene und d die Distanz vom Ursprung ist.
Distanz von Punkt zu Ebene
1 Ähnlich Keplers Kugelpackungsproblem.
72
Entwurf
Geometrisch lässt das Skalarprodukt sich als Multiplikation der Länge des Vektors a
mit der Länge der Projektion des Vektors
b
auf
a
interpretieren. Die Länge des
projizierten Vektors ' b lässt sich wie folgt bestimmen:
Ist
a
normiert, fällt der Nenner weg. Daher beträgt die Distanz eines Punktes zu einer Ebene in Hesse’scher Normalform:
Distanz( x ) = d x n − ⋅
0
Nachfolgend wird Gleichung (1) hergeleitet, die den Skalar der Berührung des Kreises mit der Geraden bestimmt.
Berührungspunkt der Sweep-Sphere 1 mit der Ebene
Die Ebene kann mithilfe einer Drehmatrix bestimmt werden.
Die Kreisposition lässt sich als Gerade parametrisieren:
Position( t ) = , v t m ⋅ +
wobei m der Mittelpunkt und v der Richtungsvektor ist.
1 Sweep bedeutet auf Deutsch Fegen.
73
Entwurf
Der Kreis sei ein Einheitskreis. Die Berührung zwischen Kreis und Ebene wird bei einem Skalar 0 t stattfinden, wobei die Distanz zwischen Kreiszentrum und Ebene 1
beträgt:
t )) = 1 Distanz(Position( 0
t =
0
0
3.2.7 Workspace-Snapshots
Für den Anwender kann es hilfreich sein, wenn er in der Lage ist, ein Abbild des aktuellen Oberflächenzustandes zu speichern. Dabei sollen alle Objektpositionen,zustände usw. festgehalten werden. Um diese Funktionalität so simpel wie möglich zu halten, schlägt der Autor das in [Raskin08, Abschnitt 6.4.2] vorgestellte DISK-System vor. Es eliminiert eine Menge von Fehlermeldungen im Zusammenhang mit dem Sichern und Abrufen von Information; beispielsweise wird man normalerweise gewarnt, wenn man versucht, eine Datei zu schließen, die nicht gespeichert wurde. Anstatt zweier Befehle für Speichern und Laden kommt das DISK-System mit nur einem Befehl aus. Viele Fehler, die beim Speichern und Laden von Information gemacht werden und oft die Anwenderdaten vernichten können, treten nicht auf. Man stelle sich statt des üblichen Konzeptes von Dateien einen Anwender-Arbeitsplatz vor, wie er bei einem ZUI vorkommt. Dieser Arbeitsplatz soll auf einem Wechseldatenträger sicher- und abrufbar sein. Mit nur einem Befehl wird die Angelegenheit geprüft und automatisch das Richtige getan. Tabelle 4 zeigt die möglichen Zustände und die entsprechenden Aktionen.
74
Ist der Speicherzustand unverändert - wurden also vom Anwender keine Aktionen getätigt - und handelt es sich bei dem Wechseldatenträger um denselben, muss das System nicht handeln. Wurde der Wechseldatenträger entfernt und ein anderer angeschlossen, wird der darauf vorhandene Arbeitsplatz in den Speicher geladen. Der zuvor im Speicher befindliche Arbeitsplatz geht nicht verloren, da sich eine Kopie auf dem vorherigen Wechseldatenträger befindet, der entfernt wurde. Im dritten Fall wird ein leerer Wechseldatenträger angeschlossen und auf diesen wird der im Speicher befindliche Arbeitsplatz kopiert. In keinem der Fälle gehen Anwenderdaten verloren. Der Rest der Tabelle ist selbsterklärend. Der Eintrag „warnen“ bedeutet, dass es zwei Möglichkeiten gibt, zu verfahren, ohne Information zu verlieren: Entweder kann der Anwender den vorherigen Wechseldatenträger anschließen, um den geänderten Arbeitsplatz auf dem zugehörigen Wechseldatenträger zu speichern. Oder er kann den Arbeitsplatz auf einem leeren Wechseldatenträger speichern.
Das DISK-System ist einfach zu benutzen. Die Verwendung beschränkt sich auf das Antippen eines Buttons. Außerdem bewahrt es die Arbeit des Anwenders. Und das mentale Modell 1 des Anwenders wird durch das Konzept „ein Wechseldatenträger für einen Arbeitsplatz“ erheblich vereinfacht.
1 Mentales Modell: Repräsentation eines Prozesses im Bewusstsein eines Lebewesens.
75
Entwurf
Wie zu Beginn des Abschnittes angesprochen, soll es möglich sein, verschiedene Ausprägungen der Oberfläche zu verwalten. Der Autor möchte dazu seine Abwandlung des DISK-Systems vorstellen. Hier die entsprechende Tabelle:
Je nachdem, welcher Snapshot gerade aktiv ist und in welchem Zustand die Oberfläche sich befindet, wird die entsprechende Aktion ausgeführt. Die Snapshots lassen sich entweder direkt als Portale auf der Oberfläche verwalten oder in einem Menü.
76
Entwurf
3.2.8 Selektion
Eine Selektion von Objekten kann durch Aufziehen eines Rechtecks oder einer anderen Form um eine Menge angrenzender Objekte erstellt werden. Alle Objekte, die sich mit der Fläche der Form schneiden, werden selektiert.
Selektionen können dazu genutzt werden, Objekt-Mengen zu verschieben, Aktionen auf mehrere Objekte gleichzeitig auszuführen, eine inhaltsbasierte Suche auf eine Objektmenge zu beschränken oder Linsen auf die Objektmenge wirken zu lassen (z. B. eine Ansicht als Diagramm oder Tabelle unter Ausnutzung von Metadaten der Objekte). Siehe dazu [Abschnitt 2.2.1, ’Zooming-Herangehensweisen’, Nummerierung 5]. Der Anwender könnte die Selektion auch dazu nutzen, ein dauerhaftes logisches Cluster zu definieren.
Raskin weist in [Raskin08, Abschnitt 5.2.1] darauf hin, dass durch eine Selektion nicht die vorherige Selektion abgewählt werden sollte, wie es in den meisten bisherigen Systemen getan wird. Die vorherige Selektion sollte zur alten Selektion werden. Dieser Prozess kann bis zu einer n-ten alten Selektion fortgesetzt werden. Das Alter der Selektion sollte visuell kenntlich gemacht werden. Besonders für die Anwendung von Linsen auf Objektmengen, könnte diese Möglichkeit mehrerer Selektionen zum Zwecke des Vergleiches nützlich sein.
Außerdem zeigt Raskin die Nachteile der Komposition mehrerer aufeinanderfolgender Selektionen mithilfe der gewöhnlich dafür eingesetzten Shift-Taste. Stattdessen schlägt er die komfortablere Methode der Vereinigung alter Selektionen vor. Weiterhin führt er an, dass in Systemen, in denen alte Selektionen verfügbar sind, dies auch andere Befehle wie den Austausch von Selektionen erlaubt - nicht nur von Objektmengen, sondern beispielsweise auch von Text. Solch ein Austausch wäre wesentlich einfacher als mit bisherigen Methoden, bei denen temporäres Auslagern eines Teils nötig ist.
77
Entwurf
3.2.9 Klassendiagramm
Dieser Abschnitt beschreibt den Entwurf der Prototypklassen anhand eines vereinfachten UML-Klassendiagrammes (vgl. Anhang A10).
Entwurf
Ein Workspace (siehe auch Abschnitt 3.2.7) besteht aus mehreren Objekten (der logischen Oberfläche) und mindestens einem Portal zur Betrachtung dieser Objekte. Bei der Objektmenge handelt es sich um eine dynamische Menge (aus dem Bereich der Informatik), d. h., die Mächtigkeit kann sich zur Laufzeit ändern, indem der Anwender neue Objekte erstellt oder Objekte von der Oberfläche entfernt. Außerdem ist die Menge ungeordnet. Als Datenstrukturen für dynamische Mengen eignen sich Stacks, Warteschlangen, verkettete Listen, Hash-Tabellen, binäre Suchbäume, Rot-schwarz-Bäume usw. [Algorithmen04, Abschnitt 3]. Jede hat ihre Vor- und Nachteile. Selbstverständlich erscheint nur eine Auswahl dieser Datenstrukturen für die Anwendung sinnvoll - für den Prototyp wurde der Einfachheit halber ein statisches Array eingesetzt. Betrachtet man die grundlegenden Operationen (Suchen, Einfügen und Löschen) auf dynamischen Mengen, so lässt sich nach [Algorithmen04, Abschnitt 3] das Folgende bezüglich der Komplexität 1 feststellen: Operationen auf einer verketteten Liste haben im Worst-Case eine Rechenzeit von ( ) Θ . Die Zeit für die n
Suche in einer Hash-Tabelle ist im Worst-Case ( ) Θ ; Operationen benötigen im n Average-Case ( ) 1 O . Operationen auf binären Suchbäumen erfordern im Worst-Case ( ) und im Average-Case ( ) O lg . Rot-schwarz-Bäume arbeiten garantiert gut: n n Θ
Operationen benötigen im Worst-Case ( ) O lg . n
Die Portal-Klasse enthält Variablen zur Positionierung auf dem Bildschirm (Position und Größe) und Methoden zur Navigation auf der Oberfläche. Diese Methoden stellen Event-Handler für Mausereignisse dar. Bei Betätigung des Mausrades wird das Zoomen ausgelöst, bei Bewegung des Mauszeigers - abhängig davon, ob auf ein Objekt geklickt wurde - das Pannen bzw. Verschieben von Objekten.
1
Die
Θ
-Notation gibt die scharfe asymptotische Schranke einer Funktion (bzw. eines Algorithmus) vor.
Die O -Notation die obere asymptotische Schranke und die Ω -Notation die untere asymptotische
Schranke.
79
Entwurf
Die Objekt-Klasse besitzt Variablen zur Positionierung auf der Oberfläche. Die Klasse
ist durch Komposition 1 aus Teilklassen zusammengesetzt (Metadaten, Vorschau-
Ansicht und Content-Ansicht) Diese Ansichtsklassen können abhängig vom Objekt-
Datentyp variieren 1 und wurden deshalb von der Objektklasse abgekapselt 1 Da die
verschiedenen Ansichten abhängig von der aktuellen Zoomstufe angezeigt werden
sollen (siehe Abbildung 27 - Metadaten überlagern die Vorschau-Ansicht, Content
blendet andere Ansichten aus) und die Zoomstufe in der Portalklasse festgelegt wird,
sollte zur Bewahrung der lockeren Bindung 1 das Oberserver-Entwurfsmuster
angewandt werden. Die Beobachter (Ansichten) werden vom Subjekt (Portal)
benachrichtigt und aktualisiert, wenn die Zoomstufe sich ändert. Dafür besitzt jede
Ansichtsklasse ein Anzeigeintervall, innerhalb dessen die jeweilige Ansicht angezeigt
wird. Da der Content eines Objekts rekursiv verschachtelt sein kann (siehe Abschnitt
3.2.5), ist er als Baum strukturiert.
1 Verwendung der Entwurfsprinzipien für objektorientierte Systeme aus Entwurfsmuster06
1) Kapselung: Variierende Verhalten auslagern, um den restlichen Code nicht zu beeinflussen.
2) Komposition: Systeme modular zusammenstellen. Spart u. a. redundanten Code ein.
3) Auf eine Schnittstelle programmieren: Vorteil der Polymorphie.
4) Lockere Bindung: Entwürfe mit minimalen Abhängigkeiten zwischen Klassen sind flexibler und
offener für Veränderungen.
5) Klassen sollten für Erweiterung offen, aber für Veränderung geschlossen sein: Neues Verhalten
hinzuf ügen, ohne bestehenden Code zu ändern.
6) Abstraktion: Abhängigkeiten von konkreten Klassen reduzieren.
7) Grad der Kopplung gering halten: Eine Klasse sollte möglichst wenig andere Klassen kennen, sodass
Änderungen unbekannter Klassen sich nicht auf sie auswirken.
8) Highlevel-Komponenten steuern Lowlevel-Komponenten: Highlevel-Komponenten bestimmen, wann
und wie Lowlevel-Komponenten erforderlich sind, indem sie Algorithmen steuern und sich für
Detail -Berechnungen an Lowlevel-Komponenten wenden.
9) Singuläre Verantwortlichkeit einer Klasse: Kohäsion eines Moduls oder einer Klasse ist das Maß der
Wohldefiniertheit. Eine Klasse besitzt eine hohe Kohäsion, wenn sie einen einzigen Zweck erfüllt.
80
Entwurf
Abbildung 27: Semantische Zoomstufen 1
1 König beschreibt eine Methode zur Berechnung der semantischen Umschlagsgrenze König07
81
Implementierungsaspekte
3.3 Implementierungsaspekte
Der Zweck dieses Abschnitts ist es, die Fragestellungen bei der Implementierung darzulegen.
3.3.1 Windows-Presentation-Foundation (WPF) - Bibliothek
Als Grundlage für elementare ZUI-Features wurde die Programmierbibliothek Windows-Presentation-Foundation (WPF) zur Implementierung des Prototyps eingesetzt. Nach reiflicher Betrachtung der Alternativen fiel die Entscheidung auf diese Bibliothek. Die folgenden Gründe sind zu nennen.
Da als Programmiersprachen nur C++ und C# in Frage kamen, standen lediglich zwei potentielle Kandidaten zur Auswahl: die Piccolo-Bibliothek für Microsoft .NET und die WPF-Bibliothek von Microsoft. Piccolo ist aufgrund der Evolution über Pad und Jazz eine ausgereifte Bibliothek für Zoomable-User-Interfaces. Jedoch wurden die Weiterentwicklung und der technische Support eingestellt. Der Unterstützung der WPF-Bibliothek durch Microsoft kann man sich für die Zukunft sicher sein - was bisher auch erfolgte. Jedoch erscheint diese Bibliothek hinsichtlich ihrer ZUI-Unterstützung nicht zufriedenstellend in Bezug auf Umfang und Performance.
3.3.2 Transformationsmatrizen
Alle Transformationsabbildungen sollten als Transformationsmatrizen implementiert werden. Anstatt aber mehrere Transformationsmatrizen nacheinander anzuwenden (was sehr langsam ist), können sie zu einer Matrix kombiniert werden. Dies geschieht durch Multiplikation der Matrizen. Die daraus resultierende Transformationsmatrix vereint alle Operationen in sich. Bei der Multiplikation von Matrizen muss jedoch die Reihenfolge beachtet werden, da das Kommutativgesetz nicht gilt.
82
Implementierungsaspekte
3.3.3 Implementierte Features
Dieser Abschnitt behandelt die für den Prototyp umgesetzten ZUI-Features.
Zoomen
Neben der reinen Skalierung, wie in Abschnitt 3.2.1 thematisiert, wurden Ergänzungen für die Umsetzung des Zoomens vorgenommen. Um einen kontinuierlichen Übergang (bzw. eine Animation) zwischen den Zoomstufen zu gewährleisten, werden Zwischenschritte in regelmäßigen Zeitabständen interpoliert. Durch die Betätigung des Mausrads wird ein Stack auf- bzw. abgebaut, um die noch ausbleibenden Zoomstufen vom Stack abzutragen, sobald die dazu nötige Zeit verstrichen ist. Findet eine Richtungsumkehr bei der Bedienung des Mausrads statt, wird der Stack zunächst geleert, um eine entsprechend abrupte Änderung der Zoomrichtung im Programm zu gewährleisten.
Inhaltsbasierte Suche
Erlaubt die Suche nach Text in textbasierten Inhalten der Objekte. So können etwa Objekte anhand ihres Namens gefunden werden. Kommt der eingegebene Such-String in einem Inhalt eines Objektes vor, so positioniert die Kamera sich automatisch über dem Objekt.
Split-Screen
Ein Split-Screen (geteilter Bildschirm) ist eine effiziente Methode, um Content auf der Oberfläche eines ZUI zu vergleichen. Es erlaubt unabhängige Navigation in gleichen oder verschiedenen Portalen; auch eignet es sich zum Explorieren rekursiver Datenstrukturen. Im Rahmen des Prototyps wurde ein Split-Screen implementiert, der sich über einen einzelnen Button aktivieren und deaktivieren lässt. Bei Aktivierung werden zur Laufzeit eine Kopie der Oberfläche angelegt und beide Portale hälftig nebeneinander angezeigt.
Alternativ zum Split-Screen sind temporäre Portale zum Vergleich von Content vorstellbar.
83
Implementierungsaspekte
Notizen
Um dem Anwender die Möglichkeit zu bieten, Notizen auf der Oberfläche zu machen, bietet der Prototyp einen entsprechenden Modus an: Mit einem Stiftwerkzeug kann freihändig geschrieben und gezeichnet werden. Dabei fiel auf, dass die Performance stark unter diesen zusätzlichen Linienobjekten leidet. Diverse Versuche, dieses Problem mit Bordmitteln der WPF-Bibliothek zu lösen, brachten keinen Erfolg. Eventuell führen andere Wege zu einer besseren Leistung. Vorstellbar wäre eine Kachelung aus Notizbildern, Komprimierung oder Reduzierung des Detailgrades. Diese Überlegung dürfte im Zusammenhang mit der Einführung eines Radierers betrachtet werdenabhängig davon, ob lediglich Linien oder einzelne Pixel entfernt werden sollen.
Pfeile
Da die eingesetzte WPF-Bibliothek nicht imstande ist, Pfeile zwischen zwei Punkten zu zeichnen, wurden entsprechende Gleichungen mithilfe linearer Algebra hergeleitet.
84
Implementierungsaspekte
Ringauswahl
Die in Abschnitt 3.2.6 entworfene Ringauswahl wurde auf folgende Weise implementiert: Der Anwender klickt auf einen Auswahl-Button und bekommt daraufhin visuell mehrere Auswahlmöglichkeiten angeboten - dies allerdings nur, solange er die Maustaste gedrückt hält. Lässt er die Maustaste los, verschwindet die Auswahl. Die Ringauswahl ist dabei in Sektionen unterteilt (s. Abschnitt 3.2.6). Eine Auswahlmöglichkeit wird selektiert, sobald der Anwender die entsprechende Sektion mit dem Mauszeiger markiert. Für die Möglichkeit, keine Auswahl zu treffen, wurde der Auswahl-Button vorgesehen. Wurde eine Auswahlmöglichkeit selektiert und lässt nun der Anwender die Maustaste los, wird die für die Selektion hinterlegte Aktion vom System ausgeführt. Als Pendant zu dieser Art der multiplen Selektion kann das klassische Kontextmenü in WIMP-Systemen genannt werden.
Ein Vorteil der hier vorgestellten Methode gegenüber einem Kontextmenü ist nach Fitts’ Gesetz (s. Abschnitt 2.2.4) die erforderliche Zeit, bis man den Cursor zur Auswahl bewegt: Es muss lediglich eine Sektion mit dem Mauszeiger markiert werden und nicht der Mauszeiger die Distanz bis zum Ziel überwinden. Ein weiterer Vorteil ist die deutlichere geografische Verortung und damit potenziell bessere räumliche Erinnerung an die Auswahlpositionen (s. Abschnitt 2.2.7).
Die modale Umsetzung der Ringauswahl mag auf den ersten Blick Potenzial für sogenannte Mode-Errors bieten. Mode-Errors wurden ursprünglich von Norman [Norman81] definiert und haben folgende Bedeutung: Wenn der Anwender den Zustand des Interface, in dem es sich befindet, vergisst und eine Aktion ausführt, die zu einem anderen Mode gehört, erhält er eine unerwartete und unerwünschte Rückmeldung. Modi führen also unweigerlich zu Eingabefehlern. Zum Beispiel ist die Feststelltaste eine bekannte Quelle für Mode-Errors.
Der Leser dürfte nun meinen, die vorgeschlagene Methode disqualifiziert sich somit. Tatsächlich handelt es sich um einen Quasi-Modus. Dieser Begriff stammt von Raskin [Raskin08, Abschnitt 3.2.3] und konstatiert, dass ein kinästhetisch aufrechterhaltener Modus keine Mode-Errors erzeugt [SeKuBu92].
85
Implementierungsaspekte
Der Grund für dieses Phänomen ist der von den Muskeln erzeugte konstante Stimulus, der Signale an das kognitive System abgibt. So wie die Feststelltaste eine Quelle für Mode-Errors ist, verursacht die Umschalttaste keine Mode-Errors. Quasi-Modi sollten für Kontrollfunktionen des Systems reserviert sein. Ansonsten wird durch Operationen Content manipuliert [Raskin08, Abschnitt 3.2.3, S. 59]. Diese Konvention soll verhindern, dass die meiste Zeit eine Taste gedrückt werden muss. Es wird angenommen, dass der Anwender mehr Zeit damit verbringt, mit dem Content zu arbeiten.
Weiterhin wurde ein leichter Blur-Effekt (Weichzeichner) mit Ausnahme der Ringauswahl über die Oberfläche gelegt. Als Motivation dafür diente die Arbeit von Kosara et al. [KoMiHa02]. Dort stellen die Autoren eine Methode vor, relevante Information mit selektivem Blur hervorzuheben und so die Aufmerksamkeit des Anwenders zu lenken. Objekte werden je nach Relevanz verwischt.
Toolbox
Es wurde eine Toolbox bestehend aus Werkzeugen implementiert. Mithilfe dieser Toolbox kann vom Anwender der Modus umgeschaltet werden, in dem das Interface sich befindet. Sei es ein Zeichenwerkzeug für Notizen (s. Abschnitt „Notizen“) oder Werkzeuge (s. Abschnitt 3.3.4) wie globale Linsen, eine Undo/Redo-Funktion oder ein Selektionswerkzeug. Obwohl lediglich zwei Werkzeuge umgesetzt wurden, sind diese nicht als Umschalter realisiert, wie er häufig bei Interfaces anzutreffen ist, die auf diese Weise zwei Zustände kennzeichnen. Bei Umschaltern ist es fraglich, ob der gekennzeichnete Zustand aktiv ist oder bei Betätigung aktiv wird [Raskin08, Abschnitt 3.2, S. 38]. Adjektive als Kennzeichnung können helfen. Es bleibt dennoch das Problem, dass der Anwender raten muss, wie die Alternative lautet. Es sollten also beide Alternativen gleichzeitig angezeigt werden [Raskin08, Abschnitt 3.2, S. 38-39]. Der Einsatz von Modi führt jedoch unweigerlich zu Eingabefehlern (s. Abschnitt „Ringauswahl“), die durch Umwandlung von Modi in Quasi-Modi verhindert werden können, z. B. mithilfe dedizierter Maustasten [Raskin08, Anhang A, S. 209].
86
Implementierungsaspekte
Rekursive Verschachtelung von Tabellen
Bei hierarchisch rekursiver Verschachtelung können sich aufgrund der Zoomstufe in Verbindung mit dem begrenzten Bildschirmbereich Situationen ergeben, die es dem Anwender unmöglich machen, verschiedene Ebenen zu vergleichen - der entsprechende Content befindet sich außerhalb des sichtbaren Bereiches. Für die Umsetzung des Produktionsprozesses (s. Abschnitt 1.1.2) auf der ZUI-Oberfläche wurden mehrere Herangehensweisen zur Darstellung rekursiv verschachtelter Tabellen (s. Abschnitt 3.2.5) erwogen. Abbildung 28 zeigt zwei dieser Herangehensweisen.
87
(a) Aktuelle Rekursionstiefe anhand eines Hierarchiebaums feststellbar.
Das unabhängige Zooming des Split-Screens (s. Abschnitt „Split-Screen“) erlaubt auf intuitive Weise, Tabelleninhalte zu vergleichen; der Autor entschied sich deshalb dafür, diese Möglichkeit zu realisieren.
88
Implementierungsaspekte
3.3.4 Nicht implementierte Features
Folgende nicht implementierte Features sind aus Sicht des Autors für ein vollwertiges ZUI wertvoll.
Übersichtsportal
Die in Abschnitt 2.2.1 angesprochenen Navigationsprobleme lassen sich mit einem Übersichtsportal lösen (siehe Abschnitt 2.2.1, „Zooming-Herangehensweisen“ und Abschnitt 2.2.7). Näheres dazu findet sich zu dem Begriff Overview-plus-Detail (neben einer groben Übersicht wird ein detaillierter Ausschnitt des Informationsraums gezeigt.).
1 Quelle: http://www.cs.umd.edu/hcil/jazz/download/index.shtml#source.
89
Implementierungsaspekte
Suchergebnisvorschau
Eine erweiterte Suche, bei der die Suchergebnisse in Form von Vorschauportalen präsentiert werden (siehe Abschnitt 2.2.2, „Inhaltsbasierte Suche“).
Globale Linsen
Verschiedene Linsen, die auf die gesamte Oberfläche wirken, können die Suche vereinfachen. Vorstellbar ist etwa eine Darstellung als Objekttyp.
Undo/Redo
Eine Undo/Redo-Funktion, mit der der Anwender Aktionen rückgängig machen bzw. wiederherstellen kann.
Elementare Operationen
Raskin schlägt in [Raskin08, Abschnitt 5.2] einen elementaren Aktionskatalog für Systeme mit multiplen Applikationen vor. Er definiert elementare Operationen, die bei den meisten Applikationen anwendbar sind und somit redundant im ganzen System auftreten. Diese Operationen unterscheiden sich von Applikation zu Applikation in ihrer Anwendungsweise und sollten vereinheitlicht werden, was zu Systemen von beispielloser Einfachheit und Produktivität führt.
Dies kann soweit gehen, dass das Vorhandensein mehrerer Applikationen im System überflüssig wird: Man manipuliert den Content selbst, indem Operationen angewandt werden können, die abhängig vom Datentyp möglich sind. Statt Applikationen verkaufen Softwareanbieter dann lediglich Operationen. Der Anwender erhält ein monolithisches System anstelle mehrerer überladener Applikationen und ist in der Lage, sich die Operationen zu kaufen, die er benötigt. Ein Zoomable-User-Interface ist eine Möglichkeit, diesen Gedanken umzusetzen. [Raskin08, Abschnitt 5.8]
90
Implementierungsaspekte
Kontextsensitivität
Dey und Abowd definieren Kontext als jede Information, die über die Situation einer Entität bekannt ist [DeAb00, S. 3]. Ein kontextsensitives System liefert dem Anwender relevante Information, wobei die Relevanz von der Aufgabe abhängt [DeAb00, S. 6].
Kontextsensitivität erhöht die Interface-Effizienz durch weniger Eingaben und reduziert die Informationsdichte auf dem Bildschirm. Allerdings müssen folgende Aspekte beim Interface-Design berücksichtigt werden:
Automatische Aktionen, die der Computer ausführt, sollten vermieden werden, da diese den Anwender verwirren (er muss Annahmen bezüglich der Funktionalität treffen) oder die Daten des Anwenders schädigen können:
„A computer shall not harm your work or, through inaction, allow your work to come to harm.” [Raskin08, S. 6]
„Any system shall not harm your content or, through inaction, allow your content to come to harm.” [Raskin08, S. 34]
Weiterhin muss der Interface-Designer Vorsicht dabei walten lassen, welche Information er vor dem Anwender verbirgt:
„Most people do not want to play games when they are trying to get work done. It is up to the designer of an interface to make every feature of a product visible.” [Raskin08, S. 63]
Außerdem muss das Interface-Verhalten konsistent bleiben, um die Bildung von Gewohnheiten zu berücksichtigen.
Im Bezug auf ein ZUI könnte Kontextsensitivität folgendermaßen eingesetzt werden: Nicht elementare Content-Operationen werden abhängig vom Datentyp angeboten. Beispielsweise die Anzeige von zusätzlichen Werkzeugen bei der Bearbeitung von Bildern in der Content-Ansicht.
Workspace-Snapshots und Selektionen
Beschreibungen siehe Abschnitte 3.2.7 und 3.2.8.
91
Schlussfolgerungen
4 Schlussfolgerungen
Bei der Arbeit mit WPF hat sich herausgestellt, dass WPF für ZUIs nicht optimal geeignet ist. Für große Projekte sollte ein ZUI-Toolkit entworfen werden das WPF „wrappt“. Dann könnte WPF auch gegen ein anderes Framework wie zum Beispiel Piccolo ausgetauscht werden.
In der Implementierungsphase hat sich gezeigt, dass WPF Probleme bei großen Mengen von Objekten auf einer Oberfläche hat. Besonders Zooming und Panning leiden unter der abfallenden Framerate. Für eine hohe Framerate müssen Optimierungen vorgenommen werden. Für das Panning ist Folgendes vorstellbar: Objekte, die sich außerhalb des Sichtbereichs befinden, sollten von der Oberfläche entfernt und wieder hinzugefügt werden, sobald sie wieder in Sicht gelangen (Clipping, Culling). Für das Zooming können verdeckte oder zu kleine Objekte entfernt werden (Z-Buffer-Test). Oder Objekte können bis zu einer bestimmten Zoomstufe durch vereinfachte Repräsentationen ersetzt werden, um die Zahl der Objekte auf der Oberfläche zu reduzieren (Level-of-Detail).
Ein Zoomable-User-Interface kann durchaus als Produktivsystem genutzt werden. Es kann derselbe Grad an Funktionalität wie bei einem klassischen WIMP-Interface erreicht werden. Nicht umsonst favorisiert Jef Raskin (9.3.1943 - 26.2.2005), Gründer von Apples Macintosh-Projekt, in seinem Buch „The Humane Interface“ [Raskin08] die ZUI-Metapher mit all ihren Vorteilen (aber auch Nachteilen). Langfristig sind selbst Betriebssysteme mit einem Zoomable-User-Interface vorstellbar. Der Weg dorthin wird durch aktuelle Geräte wie Apples iPhone geebnet, wobei dessen Interface lediglich eine einfache Ausprägung des ZUI darstellt.
Auch neue Eingabeverfahren können zukünftig von der ZUI-Metapher profitieren und umgekehrt. Multi-Touchscreens, Nintendos Wii-Steuerung und berührungslose Gestensteuerung über Kameras zeigen den Weg zu intuitiver Bedienung.
92
Schlussfolgerungen
Bei einem ZUI liegt abundant Information vor. Sei es der Informationsraum mit seinen Objektdaten und deren Metadaten, die kodierte Information durch die relativen Positionen der Objekte zueinander (Entfernung, Richtung, Cluster-Bildung) oder das protokollierte Anwenderverhalten.
Diese Gegebenheiten stellen ein interessantes Anwendungsfeld für verschiedenste Teilgebiete der Mathematik und mathematische Verfahren dar. Zu nennen wären etwa die Cluster-Analyse (Ballung von Objekten), Überdeckungsprobleme (Objekte auf möglichst kleinem Raum anordnen), Circle-Intersection (Vermeidung von Objektüberschneidung), Voronoi-Diagramme (Einteilung der Ebene, die eine Menge von Punkten enthält, in konvexe Polygone), Netzwerkanalyse, Regressionsanalyse (Trends und Beziehungen zwischen Größen), statistische Filter (wie der Bayes’sche Spamfilter), Wahrscheinlichkeitstheorie, Geometrie, Data-Mining (Mustererkennung), Informationstheorie (s. Abschnitt 2.2.4), Optimierungstheorie, Statistik, Operation Research (Optimierung von Prozessen und Verfahren) oder die Kombinatorik.
Der Autor plädiert für einfach gehaltene Interfaces. Der Anwender sollte beim Design im Vordergrund stehen und zuvor in Studien nach seinen Bedürfnissen hinsichtlich des Interface befragt werden. Interfaces sollten auf diese Kernfunktionalitäten reduziert werden. Der Trend geht jedoch hin zu mehr Funktionalität - ob diese vom Standardbenutzer jemals verwendet wird, spielt keine Rolle. Zahlreiche Studien zeigen, dass Nutzer von der Komplexität derzeitiger Interfaces überfordert sind. Dieses Phänomen ist bekannt unter dem Begriff Overengineering 1 . Der Grundsatz sollte lauten: „So viel wie nötig, so wenig wie möglich". Ein guter Ansatz ist es, über das Einfache zum Komplexen zu gelangen, wie es der Mathematiker oft bei rekursiven Definitionen tut. Warum nicht ein paar wenige Grundfunktionen anbieten, die es dem Anwender erlauben, komplexere Aufgaben zu erledigen (siehe dazu Abschnitt 3.3.4, „Elementare Operationen“).
1 Overengineering: Ein Produkt weist eine höhere Qualität auf als vom Kunden erwünscht [Overengineering09].
93
Glossar
Glossar
Umgebung.
Schedule illustriert.
Eingabegerät.
theoretischer Information.
bei dem nur wenige Faktoren einwirken.
Literaturverzeichnis
Literaturverzeichnis
[Ähnlichkeit09] Omega.it.
Ähnlichkeit (Mathematik).
17.4.2009: http://www.omega.it/a/ah/ahnlichkeit_mathematik.html.
[Algorithmen04] Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest und Clifford Stein. Algorithmen - Eine Einführung. München: Oldenbourg Verlag; 2004.
[Baars88] Bernard J. Baars.
A Cognitive Theory of Consciousness. Cambridge, U.K: Cambridge University Press; 1988.
[Balzert01] Helmut Balzert.
Lehrbuch der Software-Technik. Heidelberg: Spektrum Akademischer Verlag; 2001.
[BeHo94] Benjamin B. Bederson, James D. Hollan.
Pad++: A Zooming Graphical Interface for Exploring Alternate Interface Physics. 1994.
[BeHo96] Benjamin B. Bederson, James D. Hollan, Ken Perlin, Jonathan Meyer, David Bacon, George Furnas.
Pad++: A Zoomable Graphical Sketchpad for Exploring Alternate Interface Physics. 1996.
[BeMeGo00] Benjamin B. Bederson, Jon Meyer, Lance Good.
Jazz: An Extensible Zoomable User Interface Graphics Toolkit in Java. 2000.
viii
Literaturverzeichnis
[BüGeRe06] Thorsten Büring, Jens Gerken, Harald Reiterer.
Usability of overview-supported zooming on small screens with regard to individual differences in spatial ability. 2006.
[CaMoNe83] Stuart K. Card, Thomas P. Moran und Allen Newell. The Psychology of Human-Computer Interaction. Hillsdale, NJ: Lawrence Erlbaum Associates; 1983.
[Chlebek06] Paul Chlebek.
User Interface-orientierte Softwarearchitektur. Wiesbaden: Vieweg; 2006.
[CoKaBe08] Andy Cockburn, Amy Karlson und Benjamin B. Bederson. A Review of Overview+Detail, Zooming, and Focus+Context Interfaces. ACM Computing Surveys. 2008; 41(1): 1-31.
[CoBe99] Tammara T. A. Combs, Benjamin B. Bederson.
Does Zooming Improve Image Browsing? 1999.
[CzLa97] M. P. Czerwinski, K. Larson.
The new web browsers: They’re cool but are they useful? People and Computers XII: Proceedings of HCI’97. Berlin: Springer Verlag; 1997.
[Donelson78] William C. Donelson.
Spatial management of information. 1978.
ix
Literaturverzeichnis
[Entwurfsmuster06] Eric Freeman, Elisabeth Freeman, Kathy Sierra und Bert Bates. Entwurfsmuster von Kopf bis Fuß. Köln: O’Reilly Verlag; 2006.
[ERP08] Ephorie.de.
Enterprise Resource Planning (ERP). 23.5.2008: http://www.ephorie.de/hindle_erp.htm.
[Ge08] Georgia Tech.
Dialog-Wimp.
11.7.2008: http://www-static.cc.gatech.edu/classes/cs6751_97_winter/Topics/dialogwimp/.
[Gronau04] Norbert Gronau.
Enterprise resource planning und supply chain management. München: Oldenbourg; 2004.
[GUI08] ToastyTech.com.
Graphical User Interface Timeline. 7.7.2008: http://toastytech.com/guis/guitimeline.html.
[Hopkins91] Don Hopkins.
The Design and Implementation of Pie Menus. Dr. Dobb’s Journal. 1991; 16(12): 16-26.
[IDR08] Informationsdienst Ruhr.
Preisträger des „red dot award 2002“ stehen fest. 10.7.2008: http://www.idruhr.de/detail.php?id=8877&seite=archiv.
x
Literaturverzeichnis
[Icon08] Iconized.ch.
Die Geschichte der Icons.
7.7.2008: http://www.iconized.ch/2_icon_history/die_Vorgeschichte.html.
[Keahey03] T. Alan Keahey.
Network Visualization Course.
27.3.2009: ftp://ftp.cs.indiana.edu/pub/tkeahey/FocusContext.ppt.
[Khazaeli05] Cyrus Dominik Khazaeli.
Systematisches Design. Reinbek: Rowohlt Verlag; 2005.
[König07] Werner A. König.
Zoomable User Interfaces - Intuitive Navigation in komplexen Informationsräumen. Saarbrücken: VDM Verlag Dr. Müller; 2007.
[KoMiHa02] R. Kosara, S. Miksch und H. Hauser.
Focus+Context Taken Literally.
IEEE Computer Graphics and Applications. 2002; 22(1): 22-29.
[Krise08] Meyers Lexikon Online.
Softwarekrise.
4.7.2008: http://lexikon.meyers.de/meyers/Softwarekrise.
[Loftus79] Elizabeth F. Loftus.
Eyewitness Testimony. Cambridge, MA: Harvard University Press; 1979.
[Lohman96] D. F. Lohman.
Spatial ability and g.
Human abilities: Their nature and assessment. 1996: 97-116.
xi
Literaturverzeichnis
[LO08] Lehrer-Online.
Einsatz des Computers bereits in der Grundschule? 10.7.2008: http://www.lehrer-online.de/grundschule-medienreflexion.php?sid=79486729075299831521569306930220.
[Lynch65] Kevin Lynch.
Das Bild der Stadt. Berlin: Ullstein; 1965.
[McEliece02] Robert J. McEliece.
The Theory of Information and Coding. Cambridge: Cambridge University Press; 2002.
[Miller56] G. A. Miller. Psychological Review. 1956; 63: S. 81-97.
[MuskuläresGedächtnis09] The Journal of Experimental Biology. Muscle Memory.
17.4.2009: http://jeb.biologists.org/cgi/content/full/207/1/11.
[Norman81] D. A. Norman.
Categorization of action slips. Psychology Review. 1981; 88(1): 1-15.
[Overengineering09] Onpulson-Lexikon.
Overengineering.
16.4.2009: http://www.onpulson.de/lexikon/overengineering.htm.
[Plotter09] mathe-fa.de.
MAFA Funktionsplotter. 19.3.2009: http://www.mathe-fa.de/de.
xii
Literaturverzeichnis
[Popov09] Valentin Popov.
Grundlagen der Reibungstheorie: Das Coulombsche Reibungsgesetz. 25.02.2009: http://mechanik.tu-berlin.de/popov/reibungsphysik_ws0607/skript/ Grundlagen%20der%20Reibungstheorie.pdf.
[Produktion09] Wirtschaftslexikon24.net.
Produktionsprozeß. 29.3.2009:
http://www.wirtschaftslexikon24.net/d/produktionsprozess/produktionsprozess.htm.
[Raskin08] Jef Raskin.
The Humane Interface. München: Addison-Wesley; 2008.
[RäumlicheBegabung09] Kanton Zug.
Erziehungsrat des Kantons Zug.
28.04.2009: http://www.zug.ch/behoerden/direktion-fur-bildung-und-kultur/amt-furgemeindliche-schulen/schulaufsicht/kinder-mit-besonderem-foerderungsbedarf/ richtlinien-fuer-die-foerderung-von-kindern-und/at_download/file.
[Rose85] Frank Rose.
Ins Herz des Verstandes. München: Lev Roitman Verlag; 1985.
[SeKuBu92] A. Sellen, G. Kurtenbach und W. Buxton.
The prevention of mode errors through sensory feedback. Human Computer Interaction. 1992; 7(2): 141-164.
xiii
Literaturverzeichnis
[StSa95] K. M. Stanney, G. Salvendy.
Information visualization: Assisting low spatial individuals with information access tasks through the use of visual mediators. Ergonomics. 1995; 38(6): 1184-1198.
[Stapelkamp07] Torsten Stapelkamp.
Screen- und Interfacedesign. Berlin: Springer; 2007.
[Stephens03] Todd Stephens.
A Passion for Metadata - An Interview with Todd Stephens of BellSouth. 26.5.2008: http://www.wilshireconferences.com/interviews/Stephens.htm.
[SuBe01] Bongwon Suh, Benjamin B. Bederson.
OZONE: A Zoomable Interface for Navigating Ontology Information. 2001.
[ToMö04] M. Tory und T. Möller.
Human Factors in Visualization Research.
IEEEE Transactions on Visualization and Computer Graphics. 2004; 10(1): 72-84.
[UMDL96] University of Michigan Digital Library Project.
Definition of semantic zooming. 26.5.2008: http://www.si.umich.edu/UMDL/glossary.html.
[ViHaWi87] K. J. Vicente, B. C. Hayes, R. C. Williges.
Assaying and isolating individual differences in searching a hierarchical file system. Human Factors. 1987; 29(3): 349-359.
[WoLaSt98] Allison Woodruff, James Landay, Michael Stonebraker. Goaldirected zoom. 1998.
xiv
Literaturverzeichnis
Weiterführende Videos
Multi-Touch: Jeff Han
TED. Jeff Han: Unveiling the genius of multi-touch interface design (Video). 28.12.2008: http://www.ted.com/index.php/talks/ jeff_han_demos_his_breakthrough_touchscreen.html.
Mac Essentials. Fortschritte bei Multitouch-Forschung (Video). 28.12.2008: http://www.mac-essentials.de/index.php/mac/article/18836/.
Humane-Interface-Design: Aza Raskin
Golem.de. Aza Raskin - Humanes Interface-Design (Video). 28.12.2008: http://video.golem.de/desktop-applikationen/1702/aza-razkin-humane-interfaces.html.
Google Video. Away with Applications: The Death of the Desktop (Video). 28.12.2008: http://video.google.com/videoplay?docid=-6856727143023456694.
Weiterführende Literatur
Jef Raskin.
The Humane Interface.
Werner A. König.
Zoomable User Interfaces - Intuitive Navigation in komplexen Informationsräumen.
xv
Thesen
Thesen zur Diplomarbeit
Zoomable-User-InterfacesÜbersicht, formaler Entwurf und prototypische Implementierung
von Christian Stroh
Hochschule Merseburg (FH), Informatik und Kommunikationssysteme (IKS), 2009
I. These Untersuchung der neuartigen Bedienbarkeit von betriebs-
II. These Zusammenstellung der wissenschaftlichen Erkenntnisse auf dem
III. These Die Bedienung eines ZUIs stellt sich als sehr effizient heraus
IV. These Ein ausgereiftes ZUI lässt sich als Produktivsytem einsetzen. Die
V. These Orientierungsprobleme lassen sich mit zusätzlichen Navigations-Hilfen überwinden. VI. These Eine geeignte Programmier-Bibliothek, die den Anforderungen
VII. These Die bei einem ZUI reichlich vorliegende Infomation ist ein
Anhang
Anhang
A1
Zu untersuchen ist die Konvergenz bzw. Divergenz von
Sei : . p x =
i
log lim x ⋅
2 0 x →
Nach L’Hospital folgt die Konvergenz
A2
Zu ermitteln ist das bestimmte Integral
Anwendung der partiellen Integration:
∫ ∫ ( ) ( ) ( ) ( ) ( ) ( ) ' ' dx x g x f x g x f dx x g x f ⋅ − ⋅ = ⋅ .
Sei f(x)= log 2
Dann ist f’(x)=
und man erhält
∫ log x ⋅
2
Das bestimmte Integral über das Intervall [0,1] ergibt somit
1
∫ log x ⋅
2
0
xix
Anhang
A3
Zu ermitteln ist der Grenzwert
Sei ( ) eine unendliche Folge von Zerlegungen von [0,1] mit der Eigenschaft x ∆
k
lim
k ∞ →
Folgenglied k
und man erhält
∫ log x ⋅
2
0
∫ log x ⋅
2
0
Es folgt somit die Divergenz
[ ] Da andererseits die 1 , 0 reelle Zahlen und diese überabzählbar sind, gibt es p ∈
i
unendlich viele reelle Zahlen in diesem Intervall. Da die pi wieder auf reelle Zahlen abgebildet werden, muss diese Reihe somit divergieren.
A4
Satz (Jensen-Ungleichung)
Für eine konvexe Funktion f und für positive i
f
Für konkave Funktionen f ist -f konvex und daher gilt die Jensen-Ungleichung (s. A4) in umgekehrter Richtung (Ungleichungsgesetz).
xx
Anhang
A5 [McEliece02, S. 19-20]
Satz
≤ ∑ 0 p
i
Beweis
Da jedes p
Daher gilt
Weiterhin ist
∑ log 2 p ⋅
i
log 2 Da
Richtung:
∑ 1 i =
wird offensichtlich nur erreicht, wenn eine Gleichverteilung der p i gegeben ist: log n
2
∑ 1 i =
xxi
Anhang
A6
Satz A6.1
Eine lineare Abbildung ist genau dann bijektiv, wenn die Abbildungsmatrix quadratisch ist und vollen Rang hat: rang(A) = n.
Satz A6.2 (P. Hartmann, Mathematik für Informatiker, S. 143)
n n × Eine Matrix ist genau dann invertierbar, wenn rang(A) = n ist. K A ∈ n n K × ist die Menge aller quadratischen Matrizen mit Elementen aus dem Körper K.
A7
Herleitung Sei eine lineare Abbildung. : W V f →
Handelt es sich bei der Basis von W um die kanonische Basis, so lassen sich die Bilder der Basisvektoren von V als Spaltenvektoren einer Abbildungsmatrix auffassen. Dies lässt sich folgendermaßen erklären:
Eine lineare Abbildung f ist bestimmt, wenn die Bilder der Basisvektoren von V
festgelegt sind. Ein Vektor v ∈ lässt sich aufgrund der allgemeinen Definition einer V
linearen Abbildung als Linearkombination der Basis von V beschreiben. Ersetzt man in dieser Linearkombination die Basisvektoren von V durch deren Bilder, so stellt dies
( )
dar. Und A ⋅ kann als Kurzschreibweise einer solchen Linearkombination v f v
aufgefasst werden, wobei die Abbildungsmatrix A aus den Spaltenvektoren der Basis besteht.
xxii
Anhang
A8
Beweis A8.1
Zu zeigen ist die Bijektivität der Abbildung t.
t ist bijektiv, wenn für alle ∈
t
t u + =
Sei ∈
Nämlich bei festem t . t v u − = □
Beweis A8.2
Die Umkehrfunktion der bijektiven Funktion t ist herzuleiten. Gelingt es die Gleichung
( ) v ( )
1 − t = in die Form zu bringen, dann ist die Bijektivität von t nachgewiesen u v t u =
und die Umkehrfunktion von t bestimmt.
( ) t
u u t + =
Durch Äquivalenzumformung ergibt sich:
− = ( ) t
−1 Die Umkehrfunktion von t lautet also . v v t − = □
xxiii
Anhang
A9 (Graphentheorie)
Binärbaum
Rekursive Definition
Ein Binärbaum ist eine, auf einer endlichen Knotenmenge, definierte Struktur, die
• entweder keine Knoten enthält, oder
• aus einem Wurzelknoten, einem sogenannten linken Teilbaum (Binärbaum) und einem sog. rechten Teilbaum (Binärbaum) zusammengesetzt ist.
Definition
Bei einem vollständigen k-nären Baum hat jeder innere Knoten genau k Kinder und alle Blätter haben die gleiche Höhe.
Abbildung 30: Ein vollständiger Binärbaum der Höhe 3 mit 8 Blättern und 7 inneren Knoten.
Die Anzahl Blätter eines vollständigen k-nären Baumes der Höhe h beträgt h k .
Daraus ergibt sich die Höhe von log bei n Blättern. n
k
Die Anzahl innere Knoten beträgt:
1 +
h 1 2 − innere Knoten. Ein vollständiger Binärbaum besitzt somit
xxiv
Anhang
Satz
Die Höhe eines vollständigen k-nären Baumes mit n Knoten beträgt: ( ) ( ) 1 1 1 log . k n − + −
k
Beweis
2 1 k k + + +
( ) 1 1 h + 1 k n k + − = ( ) ( ) 1 1 1 log . k n h − + − = □
k
( ) 1 Ein vollständiger Binärbaum besitzt somit die Höhe . 1 log 2 n − +
Definition
Ein balancierter Binärbaum ist ein fast vollständiger Binärbaum, der bis auf die niedrigste Ebene vollständig gefüllt ist.
Anhang
Satz
Die Höhe eines balancierten Binärbaums mit n Knoten beträgt log . n
k
Beweis
Abbildung 32: Balancierter bis vollständiger Binärbaum (Andeutung).
Die Anzahl Blätter eines vollständigen binären Baumes der Höhe h beträgt h 2 .
Die Anzahl Knoten eines balancierten Binärbaumes beträgt
h wobei ∈ x 2 1 . x ℝ, ≤ ≤
Es gilt
1 h − ∑ h i 2 1 2 = +
0 i =
und 1 h − ∑ 1 h h i + . 2 2 2 < +
0 i =
Bei n Knoten beträgt folglich die Höhe eines balancierten Binärbaums 1 oder anders ausgedrückt h h + 2 log log 2 log log . n n < ≤ □
2 2 2 2
xxvi
Definition
Ein Graph (V,E) besteht aus einer Knotenmenge V und einer Kantenmenge { } { } , , , : . y x V y x y x E ≠ ∈ =
Definition
Sei G = (V,E) ein Graph. Ein Weg ist eine Folge ( ) v ,..., von Knoten aus V mit der Eigenschaft: v
1 n
{ } { } E , : 1 ,..., 1 . v v n i ∈ − ∈ ∀
i i +1
Ein Weg ist ein Pfad, falls alle Knoten in der Folge paarweise verschieden sind: { } . , : ,..., 1 , j i falls v v n j i ≠ ≠ ∈ ∀
j i
Ein Pfad ist ein Kreis, falls ausschließlich Start- und Endknoten identisch sind: . v v =
1 n
Definition
Ein Graph G = (V,E) heißt zusammenhängend, falls es zu jedem Knotenpaar u, v∈V einen Pfad in G gibt.
Definition
Ein Baum ist ein kreisfreier, zusammenhängender Graph.
Satz α
Ist T = (V,E) ein Baum, dann gilt: 1 . = V E −
Dieser Satz liefert ein einfaches Testkriterium, ob ein Graph ein Baum ist.
xxvii
Anhang
Repräsentation im Computer
Graphen mit n Knoten lassen sich im Computer mit Hilfe von n × -Matrizen, n
sogenannten Adjazenzmatrizen, repräsentieren. In ungerichteten Graphen ist das Element ij a einer Adjazenzmatrix 1, wenn die Knoten i, j adjazent, also durch eine
Kante verbunden sind; sonst 0. In gerichteten Graphen ist das Element ij a 1, wenn der
Knoten i Vorgänger des Knoten j ist; sonst 0. Adjazenzmatrizen sind genau dann symmetrisch, wenn es der Graph ist. Die Hauptdiagonale enthält Einsen, wenn es im Graphen Schleifen gibt. Besitzt der Graph Mehrfachkanten, so trägt man in ij a die
Vielfachheit der Knoten i, j ein. Handelt es sich um einen kantengewichteten Graphen, so trägt man das Kantengewicht ein.
Eine andere Repräsentationsform von Graphen im Computer sind Adjazenzlisten. An jeden Knoten wird eine Liste der adjazenten Knoten angehängt; umgesetzt als verkettete Liste.
Eine Adjazenzmatrix benötigt quadratischen, eine Adjazenzliste nur linear viel Speicherplatz (Beweis s. Satz γ). Bei Graphen mit vielen Kanten ist eine Adjazenzmatrix jedoch kompakter. Desweiteren lassen sich zahlreiche graphentheoretische Probleme lediglich mit Adjazenzlisten in linearer Zeit lösen, was dieser Repräsentation in der Praxis den Vorzug gewährt.
Definition
Die Nachbarschaft eines Knotens v ∈ eines Graphen G = (V,E) sei definiert durch V { } ( ) { } , : . E v u V u v N ∈ ∈ =
Der Grad von v sei definiert durch ( ) ( ) . : v N v grad =
xxviii
Anhang
Satz β
Für jeden Graphen G = (V,E) gilt: ∑ ( ) 2 . E v grad ⋅ =
V v ∈
Beweis (doppeltes Abzählen)
Auf der linken Seite wird jede Kante {u,v} doppelt gezählt, wenn grad(u) und grad(v) betrachtet werden. Auf der rechten Seite wird ebenfalls jede Kante doppelt gezählt. □
Korollar
Für jeden Graphen G = (V,E) gilt: Die Anzahl der Knoten mit ungeradem Grad ist gerade. Beweis
, wobei V g die Menge der Knoten mit geradem Grad und V u die Menge der V V V ∪ =
u g
Knoten mit ungeradem Grad.
v
∑ ( ) Somit ist gerade. v grad □
V v ∈ u
Definition
Die Adjazenzliste eines Graphen G = (V,E) sei definiert durch: { } ( ) { } , : . E v u V u v A ∈ ∈ =
Satz γ
Adjazenzlisten verbrauchen linear viel Speicherplatz. Beweis Es gilt: ∑ ( ) 2 , E v A ⋅ =
V v ∈
da ( ) A der Nachbarschaft von v entspricht. v □
xxix
Definition
Ein Wurzelbaum (T,v) besteht aus einem (ungerichteten) Baum T = (V,E) und einem Wurzelknoten v∈V.
Satz δ
Jeder Knoten in einem Wurzelbaum bildet mit seinen Nachfolgern wieder einen Wurzelbaum. Beweis
Es wird die Definition des Baumes nachgeprüft. Der ursprüngliche Baum war kreisfrei, also muss auch der neue Baum kreisfrei sein, da keine neuen Knoten und Kanten hinzukommen und so kein Kreis geschlossen werden kann. Der ursprüngliche Baum war zusammenhängend. Es gab also zwischen allen Knotenpaaren einen Pfad. Seien y und z Nachfolger der neuen Wurzel x, dann gibt es einen Weg von y nach x und einen Weg von x nach z. Somit gibt es einen transitiven Weg von y nach z. Dieser Weg muss im ursprünglichen Baum ein Pfad gewesen sein und somit auch im neuen Baum. □
Diese Teilbaum-Eigenschaft zeigt die Möglichkeit der rekursiven Abarbeitung auf.
xxx
Anhang
Definition
Bei einem vollen k-nären Baum hat jeder Knoten genau 0 oder k Kinder.
Satz
Für einen vollen Binärbaum gilt:
a) Die Anzahl der Knoten ist ungerade.
b) Bei n Knoten hat er (n+1)/2 Blätter und (n-1)/2 innere Knoten. Beweis
a) Es wird Satz δ für eine Induktion verwendet. Der Induktionsanfang gilt bei 1 Knoten. Angenommen die Eigenschaft gilt für beide Teilbäume, dann ergibt sich die Knotenanzahl aus 1 + Anzahl Knoten linker Teilbaum + Anzahl Knoten rechter Teilbaum. Diese ist wieder ungerade.
b) Sei b die Anzahl Blätter. Nach Satz α hat der volle Binärbaum n-1 Kanten bei n Knoten. Nach Satz β und der Definition des vollen Binärbaums gilt: ∑ ( ) ( ) ( ) 1 2 2 1 3 1 1 . Nach b umgestellt erhält man n b n b v grad − ⋅ = ⋅ + ⋅ − − + ⋅ =
V v ∈
1 1 Blätter und innere Knoten. = n n b b n + − = − □
2 2
xxxi
Anhang
A10
Die in dieser Arbeit verwendete, vereinfachte UML-Notation für Klassendiagramme.
Abbildung 36: Instanz einer Klasse ist Eigenschaft einer anderen Klasse (Assoziation).
Abbildung 38: Von Interface abgeleitete Klasse implementiert deren Methoden
Arbeit zitieren:
Diplom-Informatiker (FH) Christian Stroh, 2009, Zoomable-User-Interfaces, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Christian Stroh hat den Text Zoomable-User-Interfaces veröffentlicht
Christian Stroh hat einen neuen Text hochgeladen
User Interface-orientierte Softwarearchitektur
Bauentwurfslehre für durchdach...
Paul Chlebek
SAP User Interface Strategien: zielgruppengerechte Bewertung und Einor...
Jens Bretschneider
Computer-Aided Design of User Interfaces V
Proceedings of the Sixth Inter...
Gaëlle Calvary, Costin Pribeanu, Giuseppe Santucci, Jean Vanderdonckt
Seeing Data: Designing User Interfaces for Database Systems Using .Net
Designing User Interfaces for ...
Rebecca Riordan
Computer-Aided Design of User Interfaces IV
Proceedings of the Fifth Inter...
Robert J. K. Jacob, Jean Vanderdonckt, Quentin Limbourg
0 Kommentare