Grundlegende Konzeption von Multi-User-, Multi-Touch-Interaktion für die kooperative Diagrammbearbeitung Bachelorarbeit

Die Seite wird erstellt Philipp Ehlers
 
WEITER LESEN
Grundlegende Konzeption von Multi-User-, Multi-Touch-Interaktion für die kooperative Diagrammbearbeitung Bachelorarbeit
Fachgebiet Mensch-Computer-Interaktion und
                  Softwaretechnologie
                         Institut für Informatik
       Fakultät für Elektrotechnik, Informatik und Mathematik

 Grundlegende Konzeption von
    Multi-User-, Multi-Touch-
 Interaktion für die kooperative
     Diagrammbearbeitung

                    Bachelorarbeit
                                   von

                              Markus Yalcin
                                 Wihostr. 4
                          33378 Rheda-Wiedenbrück

Vorgelegt bei
Prof. Dr. Gerd Szwillus
Institut für Informatik
Fachgebiet Mensch-Computer-Interaktion und Softwaretechnologie
Fürstenallee 11
33102 Paderborn

                     Paderborn, 31. Januar 2011
Grundlegende Konzeption von Multi-User-, Multi-Touch-Interaktion für die kooperative Diagrammbearbeitung Bachelorarbeit
2
Grundlegende Konzeption von Multi-User-, Multi-Touch-Interaktion für die kooperative Diagrammbearbeitung Bachelorarbeit
Inhaltsverzeichnis                3

1 Inhaltsverzeichnis
2.      Erklärung ................................................................................................................. 4

3.      Einleitung ................................................................................................................. 5

4.      Ziele .......................................................................................................................... 7

5.      Einblick in die heutigen GUI-Techniken.............................................................. 8
     5.1. Typische Elemente einer GUI ....................................................................... 8
     5.2. Möglichkeiten von GUI-Techniken im Bezug auf M-U-M-T-I .................. 13

6.      Grundkonzepte einer Multi-User-, Multi-Touch Interaktion............................ 17
     6.1. Parallele Eingaben durch mehrere User ................................................... 17
     6.2. Erreichbarkeit von Bedienelementen ......................................................... 24
     6.3. Unterschiedliche Benutzerperspektiven .................................................... 25
     6.4. Überschaubarkeit und ungewohnte Umgebung bei Multi-User-, Multi-
     Touch-Interaktionen ................................................................................................. 27

7.      Implementierung eines Beispiels ....................................................................... 29
     7.1. Einführung in das Beispiel ........................................................................... 29
     7.2. Praktische Umsetzung .................................................................................. 29
        7.2.1. Verwendete Programme für das Beispiel ........................................... 29
        7.2.2. Einzelheiten zur Implementierung ....................................................... 29
        7.2.3. Ergebnis der Implementierung ............................................................. 30
        7.3.         Entstandene Probleme während der Implementierung.................... 30

8.      Fazit ........................................................................................................................ 31

9.      Anhang................................................................................................................... 32
     9.1. Multi-Touch-Gesten....................................................................................... 32
     9.2. Kontextmenü - Popup ................................................................................... 33
     9.3. MDI-Fenster.................................................................................................... 33
     9.4. Abbildungsverzeichnis .................................................................................. 34
     9.5. Literaturverzeichnis ....................................................................................... 34
Grundlegende Konzeption von Multi-User-, Multi-Touch-Interaktion für die kooperative Diagrammbearbeitung Bachelorarbeit
Erklärung     4

2. Erklärung
Hiermit versichere ich, dass ich die vorliegende Bachelorarbeit selbständig verfasst,
keine anderen als die angegebenen Quellen oder Hilfsmittel benützt sowie wörtliche
und sinngemäße Zitate als solche gekennzeichnet habe.
Grundlegende Konzeption von Multi-User-, Multi-Touch-Interaktion für die kooperative Diagrammbearbeitung Bachelorarbeit
Einleitung     5

3. Einleitung
Der Mensch ist von Natur aus neugierig und erfinderisch, aber es gehört noch mehr
dazu, um auch Sinnvolles aus dem zu machen, was der Mensch gelernt bzw. erfunden
hat. Das Bedürfnis neue Technologien kennenzulernen und neue Techniken zu finden
um das Potential dieser Technologie voll auszuschöpfen, ist ein guter Grund gewesen,
diese Arbeit zu verfassen.

Die Erfindung vom Multi-Touch1 ist ein großer Fortschritt in der Technik und weitaus
futuristischer als die bisherigen alternativen Eingabemöglichkeiten wie z.B. Maus und
Tastatur. Es ist ebenso eine Verbesserung des bereits bekannten Single-Touch. Viele
neue Möglichkeiten und tolle Effekte, die das Multi-Touch bereits zu bieten hat, findet
man immer häufiger z.B. in Handys. Das iPhone2 und viele andere Geräte nutzen oft nur
noch diese Bedienmöglichkeit und verzichten voll und ganz auf eine Tastatur. Die
Bedienung kann intuitiver und
einfacher        gestaltet      werden,
sodass Objekte beispielsweise
auf      dem     Bildschirm     einfach
durch das Auflegen der Finger
gedreht werden können. Es ist
fast das Gleiche als würde man
ein Stück Papier auf dem Tisch
drehen, indem man die Hand

drauflegt aber das Stück Papier Abbildung 1: Drehen von Objekten auf einem Multi-
                                Touch-Tisch. [11]
nicht in die Hand nimmt.

Es gibt noch viele andere tolle und einfache Möglichkeiten, die mit einem Multi-Touch
möglich sind. Zu diesem Zeitpunkt jedoch gibt es kaum eine Anwendung, die dafür
geschaffen wurde, dass mehrere Personen gleichzeitig Eingaben ausführen können,
ohne dabei Konflikte zu verursachen.

1
    http://de.wikipedia.org/wiki/Multi-Touch
2
    http://de.wikipedia.org/wiki/Apple_iPhone
Grundlegende Konzeption von Multi-User-, Multi-Touch-Interaktion für die kooperative Diagrammbearbeitung Bachelorarbeit
Einleitung     6

Mit dieser Arbeit soll gezeigt werden, dass solche Anwendungen, auch als Multi-User-
Interaktion entwickelt werden können, wie es jetzt bereits teilweise in Filmen oder
Serien zu sehen ist. In der Serie "NCIS L.A." schieben die Ermittler an einer großen
Multi-Touch-Wand Bilder oder Livestreams von Videokameras zwischen den Kollegen
hin und her. Zwar ähnelt dies einem Pingpong-Spiel, aber es ist ein erster Schritt für
eine Multi-User-Multi-Touch-Interaktion (M-U-M-T-I).

Erneute Recherchen im Internet haben gezeigt, dass die Wörter Multi-User nun öfters in
Verbindung mit Multi-Touch vorkommen. Zu Begin der dieser Arbeit, waren mit der
Google-Suche fast überhaupt keine Treffer vorhanden.

Die Hochschule in Darmstadt bietet im Fachbereich Informatik nun auch eine
Vorlesung an, die das Thema Multi-User-, Multi-Touch aufgreift, so der Stand vom
14.12.2010. Jedoch waren die Unterlagen der Vorlesung während den Recherchen
dieser Arbeit noch unvollständig und zu Multi-User waren keine nennenswerten
Informationen zu finden.

In den meisten Beispielen zu M-U-M-T-I findet man ein Programm auf dem man sich
Bilder anschauen kann und mehrere Bilder gleichzeitig verschieben kann. Andere
Beispielanwendungen sind zu diesem Zeitpunkt bisher nur schwer zu finden, die auch
von mehreren Personen gleichzeitig bedient werden können.
Ziele     7

4. Ziele
Ziele

Ziel dieser Arbeit ist es, mit Ideen und Vorschlägen Wege zu zeigen, wie man eine
Anwendung so gestalten kann, dass sie zu einer Multi-User, Multi-Touch-Interaktion
wird. Es ist nicht Ziel, einzelne Details eines Programmcodes zu zeigen. Es soll
lediglich als Vorlage und Idee dienen, ähnlich den Aufgaben von Pattern, an ein solches
Vorhaben heranzugehen.

Es wird auch nicht jede Art von Möglichkeit erwähnt werden, wie solch eine Interaktion
aussehen könnte, dies wäre viel zu umfangreich und ein unmögliches Vorhaben. Daher
sollte man sich als Leser hier nicht irritieren lassen, wenn bei einem Lösungsvorschlag
beispielsweise steht: "Es gibt zwei Möglichkeiten..." Damit ist nicht gemeint, dass es
nicht weitere Möglichkeiten geben kann, sondern dass hier nur zwei Möglichkeiten
angesprochen werden.

Wenn Entwickler eine M-U-M-T-I schreiben wollen, werden sie hier mit großer
Wahrscheinlichkeit keine Vorlage finden können, die zu 100% passen wird. Es wird
aber den Entwicklern gezeigt, wie man Probleme lösen kann, um solch eine Interaktion
hinzubekommen. Die Konzepte, die in dieser Arbeit gezeigt werden, sind also kein
Zwang oder Richtlinie an die sich jeder halten muss. Vielmehr können sie zur
Inspiration und Hilfe dienen.
Einblick in die heutigen GUI-Techniken   8

5. Einblick in die heutigen GUI-Techniken

5.1. Typische Elemente einer GUI

Was eine GUI3 (Graphical User Interface) ist, ist leicht zu erklären. Sie soll den Usern
die Verwendung von Programmen erleichtern. Aber was steckt alles in so einer GUI?
Wie wird sie aufgebaut und gibt es Vorgaben, wie so eine GUI aufgebaut sein muss?
Die letzte Frage ist leicht zu beantworten. Eine GUI kann so beliebig aufgebaut werden
und es gibt auch keine Norm oder derartiges, wie so eine GUI aufgebaut sein muss.
Jedoch haben sich einige Merkmale standardisiert, die häufig angewendet werden.

Dazu sollte man sich erstmal die Merkmale einer GUI anschauen, die in vielen anderen
GUIs auf der einen oder anderen Form wieder zu finden sind.

Abbildung 2: Typische Merkmaler einer GUI. Screenshot von Microsoft Visual Studio 20104

3
    http://de.wikipedia.org/wiki/Grafische_Benutzeroberfl%C3%A4che
4
    http://de.wikipedia.org/wiki/Microsoft_Visual_Studio
Einblick in die heutigen GUI-Techniken       9

Anhand der roten durchnummerierten Punkten aus der Abbildung 2 entnehmen wir
folgende Informationen:

   1. Titel der GUI-Anwendung und einige Buttons um z.B. die Fensteranwendung zu
       minimieren, schließen, usw. Diese Leiste ist in fast jeder Fensteranwendung
       vorhanden und durch den Fenstertitel wird oft der Name der Anwendung
       mitgeteilt und teilweise auch immer häufiger welches Dokument derzeit damit
       bearbeitet wird. Diese Leiste ist sehr nützlich und informativ für die Anwender,
       jedoch wird sie nicht immer angezeigt oder benötigt wie z.B. bei
       Vollbildanwendungen.

   2. Die zweite Leiste in der Abbildung wird auch „Menüleiste“ genannt und bietet
       dem Anwender Funktionen für die GUI an. Oft steht diese Leiste direkt unter
       der Titelleiste, jedoch gibt’s auch Ausnahmen. Im Internet Explorer 8
       beispielsweise, wird diese Leiste erst an dritter Stelle angezeigt mit der
       Möglichkeit auch die Leiste erst anzeigen zu lassen, wenn sie auch benötigt
       wird. Typische Funktionen in der Menüleiste sind das Öffnen von Dateien oder
       aber auch oft ein Menüpunkt „Über“, der Informationen zur Anwendung und
       dessen Entwickler beinhaltet.

       Oft wird die Taste „ALT“ auf der Tastatur mit der Menüleiste verknüpft, mit der
       man ausgeblendete Menüleisten wieder einblenden lassen kann oder kombiniert
       mit anderen Tasten, direkt auf Menüeinträge zugreifen kann.

   3. Diese Leiste nennt sich Toolbar. In ihr sind Werkzeuge enthalten, die zum
       Bearbeiten von Dokumenten dienen. Dokumente bedeutet in diesem Fall nicht
       unbedingt, dass es sich ausschließlich nur um einen Text handeln muss. Es
       können jegliche Arten von Daten, Bildern und Objekten sein, wie z.B. Buttons
       in einer Entwicklerumgebung.

       Die Toolbar taucht in vielen verschiedenen Positionen auf. Typische Positionen
       sind die Seiten der Fensteranwendung, an denen die Toolbar fixiert wird. So ist
       in der Abbildung die Toolbar unter der Menüleiste und links am Rand. Diese
Einblick in die heutigen GUI-Techniken       10

       beiden Leisten sind auch nicht gleich und unabhängig voneinander. Es ist also
       auch möglich mehrere Werkzeugleisten in einer GUI anzeigen zu lassen.

   4. Diese Leiste ähnelt dem einer Explorerleiste und ist im Prinzip auch nichts
       anderes. Hier können Dateien neu hinzugefügt und gelöscht werden, aber auch
       in einer gewissen Hierarchie Dateien durchsucht werden. Unterschied dieser
       Leiste zu einer herkömmlichen Explorerleiste ist, dass hier nur die Projektmappe
       angezeigt wird und nicht ganze Ordnerstrukturen. Allerdings ist dies auch
       abhängig von der Anwendung, wie solch eine Leiste verwendet wird.

   5. Die letzten Leisten, die in der Abbildung zu sehen sind, sind für Informationen
       an den User gedacht. Sie können ohne großen Aufwand schnell bestimmte
       Informationen zurückgeben. Vor allem typisch ist die schmale Leiste am unteren
       Rand der Anwendung, die so genannte Statusleiste. In einem Browser
       beispielsweise wird sie genutzt um zu zeigen, bei welchem aktuellen Ladestatus
       sich die Internetseite befindet.

   6. Bei solch einer GUI ist dieser Bereich der wichtigste. Ohne ihn ist es dem User
       nicht möglich, mit der Anwendung zu arbeiten. In diesem Arbeitsbereich
       werden beispielweise geladene Dateien angezeigt und können auch vom User
       bearbeitet werden. Nicht alle Anwendungen erlauben es, angezeigt Objekte in
       diesem Bereich zu bearbeiten. So zeigt ein Mediaplayer Videos an, aber gibt den
       Usern keine Berechtigung, etwas an dem Video zu verändern.

Wie nun durch die oben genannten Punkte bereits zu erkennen ist, kann eine GUI auf
verschiedenste Weise vorkommen und sehr komplex werden. Es gibt noch viele andere
Arten von Elementen, die Teil einer GUI sein können. Die oben erwähnten Punkte
geben nur einige an, die oft vorkommen.

Der Vollständigkeit halber sollte auch erwähnt werden, dass eine GUI nicht immer nur
aus einem recheckigen Fenster bestehen muss. Diese kann in viele verschiedenen
Formen auftreten, wobei die rechteckige Form eine häufig von den Betriebssystemen
genutzte Standardform ist.
Einblick in die heutigen GUI-Techniken   11

Zu den sichtbaren Elementen einer GUI gibt
es auch einige weitere Funktionen, die auf
den ersten Blick nicht zu erkennen sind. So
Beispielsweise die Shortcuts, die bereits kurz
im Zusammenhang mit der Menüleiste er-
wähnt wurden. Shortcuts sind häufig eine
Kombination von Tasten, um schnell be-
stimmte Aktionen ausführen zu können. In
GUI Anwendungen wird die „Alt“-Taste
oder   aber   auch    die   „Strg“-Taste    in
Kombination mit anderen genutzt. Diese
                                                  Abbildung 3 Tastenkombinationen in
Shortcuts werden teilweise auch durch die Verbindung mit einer Menüleiste. [13]
Menüeinträge in der Menüleiste erkennbar gemacht. In der Abbildung 3 sind Shortcuts
in Kombination mit der Taste „Strg“ (im englischen „Ctrl“) farblich Grün
gekennzeichnet. Die gelb markierten Stellen zeigen die Tastenkombinationen mit der
„Alt“-Taste an.

Abgesehen von den verschiedenen Anwendungen gibt es auch auf den unter-
schiedlichen Betriebssystemen gewisse Gemeinsamkeiten zu den Shortcuts. So
beispielsweise das Kopieren und Einfügen von Daten mit Hilfe der Tasten „Strg + C“
für das Kopieren und „Strg + V“ zum Einfügen.

Doch nicht nur Shortcuts sind nicht sichtbar, sondern auch so genannte Popups oder
auch bekannt unter dem Namen Kontextmenü. Meist treten sie erst durch Klicken der
rechten Maustaste in Erscheinung. Je nachdem, auf was man klickt, erscheint ein
dementsprechendes Popup, das bestimmte Aktionen erlaubt. Es ist jedoch nicht
zwangsläufig überall ein muss, dass solch ein Popup erscheint. Im Prinzip sind Popups
wie Einträge in einer Menüleiste. Der Unterschied besteht darin, dass diese meist nur
eine kleinere Auswahlmöglichkeit anbieten und die Funktionen an das Objekt gebunden
sind, auf dem geklickt wurde.

Wie aus diesem Kapitel zu entnehmen ist, sind die GUI-Techniken sehr komplex und es
gibt viele verschiedene Möglichkeiten, wie solch eine GUI aufgebaut sein kann. Alle
diese Interaktionsmöglichkeiten, die von einer GUI aus angeboten werden, werden erst
Einblick in die heutigen GUI-Techniken    12

einmal nur durch das Bedienen von Maus und Tastatur ausgelöst. Immer häufiger aber
werden        noch     alternative     Eingabemöglichkeiten   hinzugenommen,     wie   die
Spracheingabe, um z.B. dem Handy zu sagen wen man anrufen möchte. Die Kinect 5,
eine Kamera gedacht für die Spielkonsole Xbox 3606, erkennt beispielsweise
Bewegungen von Personen und kann daraufhin spezielle Aktionen durchführen ohne
auch nur ein Eingabegerät in der Hand zu halten.

Es erscheinen immer neue Methoden und Möglichkeiten, die es den Usern in
entsprechenden Umgebungen erleichtern soll, mit Software umzugehen. Multi-Touch
wird immer häufiger als Ersatz für Maus und Tastatur genutzt, um die Geräte so klein
und kompakt wie möglich zu halten. Diese Technologie wird nicht nur in Handys oder
PCs genutzt. Küchengeräte beispielsweise werden auch teilweise mit Touch-
Technologien ausgestattet, wodurch sie viel resistenter gegen Schmutz und Wasser sind
und sich auch viel leichter reinigen lassen.

5
    http://en.wikipedia.org/wiki/Kinect
6
    http://de.wikipedia.org/wiki/Xbox_360
Möglichkeiten von GUI-Techniken im Bezug auf M-U-M-T-I   13

5.2. Möglichkeiten von GUI-Techniken im Bezug auf M-U-M-T-I
2   Möglichkeiten von G UI-Techniken im Bezug auf M-U-M-T-I

Nun Fragt man sich, welchen Unterschied macht es für die Software, ob man Eingaben
mit einem Touchbildschirm macht oder durch andere Geräte. Hier nur kurz die
Unterschiede zwischen einer Toucheingabe und einer Eingabe durch Maus und
Tastatur, da diese zu den häufigsten Eingabegeräten zählen.

Mit der Maus ist es einfacher auf kleinere Punkte zu klicken, zudem verdeckt die Hand
dabei auch nicht den Bildschirm. Bei der Toucheingabe dürfen Icons und andere
Objekte nicht zu klein sein, da man sonst ungewollt auf andere Objekte drückt. Wie
schon erwähnt, verdeckt die Hand durch die Toucheingabe teilweise den Bildschirm
und genauso ist es auch, wenn man eine virtuelle Tastatur auf dem Bildschirm
erscheinen lässt, um eine reale Tastatur zu ersetzen.

Diese und viele andere Unterschiede sind leicht zu beobachten. Doch sind diese
Unterschiede auf funktionaler Ebene nicht von der vorhandenen GUI abhängig. So kann
man mit Hilfe von Multi-Touch jede Software bedienen, wenn sie sonst über eine Maus
bedient wird und die Touch-Eingabe nicht unterbunden wird. Das Betriebssystem kann
mit den passenden Treibern, die Touch-Eingaben als Mauseingaben interpretieren.

Wichtig hier ist nun, dass bei einer Multi-User-Multi-Touch-Interaktion nicht nur eine
Eingabe gemacht wird oder besser gesagt, keine sequenziellen Eingaben gemacht
werden, sondern mehrere parallele Eingaben. Aus diesem Grund funktionieren die GUIs
so wie wir sie kennen nicht, da diese nur für einfache Eingaben ausgelegt wurden. Ein
weiterer Grund ist auch, dass die Anwendungen nicht unterscheiden können, wer mit
welchem Finger den Touch-Bildschirm berührt.

Es kommen zwar schon immer häufiger kleinere Applikationen raus, die es erlauben
gleichzeitige Eingaben auszuführen, aber sie beinhalten immer noch Fehlfunktionen
oder nicht bedachte Situationen, die zu Konflikten führen. Paint unter Windows 7 ist
solch eine Anwendung. Dort kann man mit mehreren Fingern gleichzeitig malen, jedoch
nur solange, bis etwas aus der Toolbar ausgewählt wurde. Danach funktioniert es nicht
mehr. Auch wenn dieser Fehler nicht auftreten würde und man könnte beispielsweise
die Farbe ändern und dennoch mit mehreren Fingern malen, könnte das Programm nicht
erkennen wer für welchen Finger eine andere Farbe gewählt hat. Das sind typische
Möglichkeiten von GUI-Techniken im Bezug auf M-U-M-T-I       14

Aktionen auf Buttons die unter einer M-U-M-T-I so nicht funktionieren können.
Natürlich nur solange nicht, bis unterschieden werden kann, wer was anklickt und mit
welchem Finger. Es gibt auch hierzu Hilfsmittel wie z.B. Stifte, die über Bluetooth
Informationen senden. Sie geben an wo der Stift angesetzt wurde und welche
Bewegungen oder „Tastenklicks“ durchgeführt wurden. Mit solchen Hilfsmitteln könnte
man unterscheiden, welcher User mit welchem Stift eine Eingabe ausführt, da jeder Stift
seine eigene ID hat. Doch möchte man nicht immer mit einem Stift in der Hand am
Bildschirm sitzen um diesen zu bedienen. Abgesehen davon, wäre es dann kein
richtiges Multi-Touch mehr, da dieser Stift nicht auf Multi-Touch angewiesen ist. Er hat
vorne an der Spitze seinen eigenen Drucksensor, mit dem festgestellt werden kann,
wann ein Klick ausgeführt wird bzw. wann der Stift angesetzt wird um Aktionen
durchzuführen. Mit einer integrierten Kamera können solche Stifte ihre Bewegungen
wahrnehmen, ähnlich dem Funktionsprinzip einer optischen Maus.

Durch diese eingeschränkten Möglichkeiten einen User in einer Multi-Touch-
Umgebung zu identifizieren, bleibt nichts anderes übrig, als die herkömmliche GUI so
umzugestalten, dass es nicht mehr nötig ist, diese Unterscheidung machen zu müssen.
Wenn dies der Fall ist, wird ein Großteil der GUI Anwendung für Multi-User
funktionieren.

So müsste man auf Buttons in einer Toolbar verzichten, dafür kämen aber andere
Objekte mehr zum Einsatz. Ein Guter Ersatz für Button aus der Toolbar wären Icons,
die mit Hilfe von „Drag and Drop7“ Ereignissen Funktionen ausführen könnten. Diese
Art von Anwendung ist jetzt auch schon möglich, sodass es nichts Neues ist was die
GUI können muss. Alles was benötigt wird bringt eine einfache GUI schon mit sich. Es
brauchen nur noch einige spezielle Fälle beachtet werden. Diese speziellen Fälle werden
im nächsten Kapitel genauer untersucht und erläutert.

Was eine GUI auch nicht unterstützt, ist das Rotieren von Objekten. In einem
Bildbearbeitungsprogramm oder in einer Bildvorschau kann man die Bilder zwar mit
entsprechenden Funktionen drehen, aber das ist damit nicht gemeint. Um die Bilder
rotieren zu lassen, muss der GUI vorher gesagt werden was gedreht werden soll. So
wählt man normalerweise in einem Bildbearbeitungsprogramm ein Bild aus und dann
aus der Menüleiste oder aus anderen Auswahlmöglichkeiten die Aktion um das Bild zu

7
    http://de.wikipedia.org/wiki/Drag_and_Drop
Möglichkeiten von GUI-Techniken im Bezug auf M-U-M-T-I        15

drehen. In einer Multi-Touch Umgebung wird dies durch eine Handgeste gesteuert und
es werden zusätzliche Aktionen für den Benutzer nicht mehr benötigt. Vergleichbar ist
es auch mit der Zoomfunktion. Will man auf einer Karte näher heran zoomen, so könnte
man beispielsweise den Zoomfaktor erhöhen. Es wird dann aber nicht unbedingt in den
gewünschten Teil der Karte gezoomen werden. Es gibt auch GUI Werkzeuge die es
erlauben, mit der Maus ein Gebiet zu kennzeichnen, dass heran gezoomt werden soll,
doch müsste man dieses dennoch vorher auswählen. In der Multi-Touch-Umgebung
geschieht das genau so wie mit dem Rotieren durch eine einfache Handbewegung mit
zwei Fingern. Dabei wird versucht diese Gesten den realen Handbewegungen, die man
an echten Objekten ausführen würde, nachzuahmen. So wird versucht den Benutzern
das Gefühl zu geben, mit physisch realen Objekten zu arbeiten.

Eine Anwendung die aus einem Hauptfenster und mehreren untergeordneten Fenstern
besteht (MDI-Fenster8) oder aber auch andere ähnliche Umgebungen in denen Objekte
einen Fokus haben müssen, damit man mit diesen Objekten arbeiten kann, sind nicht
sehr nützlich für eine Multi-User-Interaktion. Natürlich sind solche Anwendungen
weiterhin ausführbar, aber nicht sinnvoll in der Hinsicht, dass beispielsweise in einem
Hauptfenster zwei untergeordnete Fenster mit Dokumenten geöffnet werden und man
versucht, an beiden Dokumenten gleichzeitig zu arbeiten. Da die Betriebssysteme wie
Windows immer nur einem Fenster den Fokus9 geben, kann auch immer nur an einem
Fenster gearbeitet werden. Ein Fokus wird immer an das aktive Objekt oder Fenster
vergeben, damit alle Eingaben z.B. von der Tastatur für dieses Objekt gelten.

Ein etwas anderes Interface als die GUI ist das sogenannte Tangible User Interface10
(TUIO). Ein Protokoll, mit dessen Hilfe man Gegenstände für Interaktionen nutzen
kann.      Hier      eine      kurze
Erläuterung, wie das Verfahren
funktioniert.     Eine      Kamera
nimmt die Gegenstände auf dem
Bildschirm auf und analysiert
sie. Anschließend erhalten diese
analysierten Gegenstände eine
ID, die im Idealfall eindeutig ist Abbildung 4 spezifische Darstellung von TUIO. [15]

8
  http://de.wikipedia.org/wiki/Multiple_Document_Interface
9
  http://de.wikipedia.org/wiki/Aktives_Fenster
10
   http://www.tuio.org/
Möglichkeiten von GUI-Techniken im Bezug auf M-U-M-T-I           16

und somit die Eingabe eindeutig einem Benutzer zugeordnet werden kann. Dieses
Verfahren hat einige Einschränkungen. Hauptproblem ist die Kamera, so müssen die
Gegenstände große und natürlich auch eindeutige Muster beinhalten, da die Kamera
diese Muster an den Gegenständen gut erkennen muss, damit sie bei der Analyse eine
eindeutige ID zugewiesen bekommen. Damit das Ganze auch funktioniert, wenn diese
Gegenstände bewegt oder auch gedreht werden, können nur bestimmte Arten von
Mustern für die Gegenstände genutzt werden.

Zusammenfassend kann man also sagen, dass mit einer GUI, egal ob mit oder ohne
Multi-Touch, beliebige Funktionen ausführbar sind. Unterscheiden tut sich dies
zunächst einmal nur von der Art und Weise, wie diese Funktionen aufgerufen bzw.
durchgeführt werden. Doch sobald aus der Interaktion auch noch eine Multi-User-
Interaktion werden soll, entstehen Situationen die so ohne weiteres nicht funktionieren
können. Der hauptsächliche Grund dafür ist, dass keine Identifizierung der Person
möglich ist, von der die Interaktion ausgelöst wurde. Hilfsmittel wie das TUIO
Protokoll oder spezielle Stifte und auch andere Lösungen sind bereits vorhanden, um
diese Einschränkung der GUI zu überwinden. So sind die Benutzer gezwungen
Hilfsmitteln für parallele Eingaben zu nutzen.
Grundkonzepte einer Multi-User-, Multi-Touch Interaktion   17

6. Grundkonzepte einer Multi-User-, Multi-Touch
       Interaktion

Aus dem letzten Kapitel ist ersichtlich geworden, was es so schwer macht, eine
herkömmliche GUI für eine Multi-User Interaktion zu nutzen. Die größte Schwierigkeit
liegt in der Identifizierung der einzelnen Personen, die an dem Bildschirm Eingaben
ausführen. In diesem Kapitel werden selbstentwickelte Verfahren vorgestellt, die nicht
nur zeigen werden, welche Möglichkeiten man hat um nicht auf Hilfsmitteln zugreifen
zu müssen, sondern auf welche anderen wichtige Punkte man achten sollte, wenn man
eine Multi-User Umgebung entwickeln möchte.

6.1. Parallele Eingaben durch mehrere User

Will man ohne weitere Hilfsmittel eine Umgebung für simultane Eingaben entwickeln,
ist es nicht möglich die GUI-Elemente so zu nutzen, wie es sonst immer der Fall ist.
Eine Toolbar und andere Leisten wie die Menüleiste machen nur wenig Sinn, wenn sie
einen Fokus haben müssen. Dieses Problem wurde bereits im letzten Kapitel anhand
von MDI-Fenstern angesprochen. Ein benötigter Fokus für das aktive Element
verhindert, dass ein bereits aktives Element weiter genutzt werden kann und somit auch
keine simultane Eingabe bzw. Verwendung von GUI-Elementen möglich ist.

Stattdessen ist es aber möglich, eine eigene Toolbar und weitere Leisten zu schaffen, die
keinen Focus benötigen. Das .Net Framework 411 bietet die Klasse UserControl12
(Steuerelemente) an, die man nutzen könnte. Es wird dem Entwickler freigestellt, ob
UserControls einen Fokus haben müssen oder nicht. Weiterhin ist es nicht
empfehlenswert, Elemente zu nutzen, die nach dessen Auswahl ein Zielobjekt benötigen
bzw. zuerst ein Zielobjekt ausgewählt sein muss, um ein GUI-Element darauf nutzen zu
können. Beispiel hierfür wäre bei Bildbearbeitungsprogrammen das Werkzeug, mit
dessen Hilfe man bestimmte Teile vom Bild ausschneiden kann. In diesem Fall wäre die
markierte Stelle im Bild das Zielobjekt und das Werkzeug „Ausschneiden“ eine GUI-
Funktion. Dieses Werkzeug kann erst funktionieren, wenn es ein Ziel hat, auf das sich
dieses Werkzeug auswirken kann. Dies wäre der Fall, dass ein Zielobjekt zuerst gewählt

11
     http://www.microsoft.com/germany/net/net-framework-4.aspx
12
     http://msdn.microsoft.com/de-de/library/ms617852.aspx
Grundkonzepte einer Multi-User-, Multi-Touch Interaktion    18

werden muss. Wählt man aber im Bildbearbeitungsprogramm das Werkzeug um
Rechtecke zu zeichnen, so ist es nicht mehr möglich festzustellen, welcher User nun
dieses Werkzeug ausgewählt hat. Davon auszugehen, dass der erste User, der eine
Eingabe nach Auswahl des Werkzeugs macht, der betreffende bearbeitende User ist, ist
nicht sonderlich hilfreich. Diese Lösung würde nicht nur zu Verwirrungen sondern mit
Sicherheit ab einem gewissen Zeitpunkt auch für Frustration unter den Benutzern
sorgen. Ebenso wird es auch mit anderen ähnlichen Verfahren aussehen und damit ist
auch eingeschlossen, dass mehrere bzw. alle Benutzer nach einer Auswahl aus der
Toolbar das Werkzeug dann nutzen müssen.

Bei der Gestaltung von Werkzeugen dieser Art wäre es hilfreich, sie per „Drag and
Drop“ auf die Arbeitsfläche zu verschieben und sie anschließend anzupassen. Ein
Zeichengegenstand, wie z.B. ein Pinsel, den man in einem Malprogramm auswählen
kann, könnte man auch mit dieser Lösung allein nicht ganz realisieren. Das Werkzeug
würde nicht wissen, wann es anfangen soll zu zeichnen und wann nicht.

Will man das Verfahren mit dem „Drag and Drop“ dennoch nutzen, sind nur einige
kleine Modifizierungen an solch einem Werkzeug vorzunehmen. Sein Zustand, ob es
nun malen soll oder nicht, sollte nicht mehr von den „MouseDown“ oder „TouchDown“
Ereignissen abhängig sein. In diesem Fall sollte es so sein, dass ein Objekt, welches
man beispielsweise durch ein Icon darstellen kann, das Werkzeug auf der Arbeitsfläche
repräsentiert und bei einem Auswählen dieses Icons man die Möglichkeit dazu gibt,
eine Art Popup-Fenster aufzurufen, das aber ohne den Fokus funktioniert. Also muss
dieses Popup auch manuell geschlossen werden können. Hilfreich ist es aber auch,
wenn nach Auswahl eines Eintrags sich das Popup von selbst schließt. Bei einem
herkömmlichen Popup würde bei einem weiteren Mausklick außerhalb vom Popup,
dieser den Fokus verlieren und automatisch schließen.

Zwar wird es für den Benutzer etwas mühsamer, wenn dieser Malen möchte, da er
ständig den Zustand des Malwerkzeugs umstellen muss. Mit geschickten Einträgen im
Popup, könnte das Ganze aber auch realistischer wirken. So könnten die Menüeinträge
lauten: „Stiftkappe abnehmen“ um zu malen oder „Stiftkappe aufsetzen“ um nicht mehr
zu malen. Dadurch wird nicht nur eine größere Parallele zur Realität geschaffen,
vielmehr wird dadurch auch erreicht, was der Entwickler wollte, nämlich ein Werkzeug,
das auch Multi-User fähig ist.
Grundkonzepte einer Multi-User-, Multi-Touch Interaktion       19

Durch diese Bindung der Funktionen an einem Werkzeug oder besser allgemeiner
gesagt, durch die Bindung von Funktionsmöglichkeiten an einem beliebigen Objekt, ist
es möglich, dass mehrere parallele Eingaben getätigt werden können. Die eindeutige
Identifizierung von den vielen Benutzern ist dann nicht mehr notwendig, da diese Form
von Eingaben keinen Einfluss auf die Eingaben der anderen Benutzer nehmen.

Kombiniert man dieses Vorgehen mit den bereits vorhandenen Multi-Touch-Gesten, die
unter den Benutzern durch meist Handyapplikationen bekannt sind, so erreicht man eine
noch weitaus effizientere M-U-M-T-I. So könnte man das Löschen von Objekten auf
der Arbeitsfläche so realisieren, dass man sie mit etwas Schwung aus der Arbeitsfläche
herausschleudern kann. Das Objekt wird während der Verschiebung nicht sofort stehen
bleiben wenn der Benutzer es nicht mehr mit seinem Finger berührt, viel mehr gleitet es
immer langsamer werdend davon, bis es entweder zum Stillstand kommt oder es aus der
Arbeitsfläche verschwindet und von der Anwendung gelöscht wird.

Bei der Nutzung von Werkzeugen sollte man nicht vergessen, dass sie spätestens nach
dem Gebrauch wieder in irgendeiner Form vorhanden sein müssen. Wird das
obengenannte „Drag and Drop“-Verfahren genutzt um Werkzeuge aus einer Toolbar zu
nutzen, kann man dies auch so regeln, dass bei Auswahl dieses Werkzeugs eine Kopie
davon erstellt wird. Gearbeitet wird dann nur mit der Kopie des gewählten Werkzeugs
und das Original ist immer und beliebig oft verfügbar.

Eine Menüleiste kann man sich dann auch mit der gleichen Art von Popups basteln, wie
die Popups, die Funktionen für Objekte auf der Arbeitsfläche anbieten. Sie sind gut
dafür geeignet, da diese Popups keinen Fokus haben müssen. Die Frage ist nur, ob es
sinnvoll erscheint, wenn mehrere Benutzer gleichzeitig unterschiedliche Menüeinträge
aus der Menüleiste öffnen und auswählen können. Da Funktionen nach dem
obengenannten Prinzip objektgebunden sind, wird man Funktionen wie „Kopieren“,
„Ausschneiden“, usw. nicht mehr in der Menüleiste brauchen können, da sie so nicht an
den Objekten gebunden sind. Doch nicht nur Funktionen zum Bearbeiten von Objekten
sind in Menüeinträgen vorhanden. Funktionen wie das Aufrufen einer Hilfefunktion
oder Updatesuche für die Anwendung beziehen sich nicht direkt auf Objekte. Somit
könnte man diese Funktionen weiterhin als Menüeinträgen lassen. Fraglich ist auch ob
Benutzer diese Anwendung weiterhin bedienen können sollen, während ein anderer
Benutzer Einstellungen für die Anwendung vornimmt. Um unvorhergesehene Konflikte
mit wenig Aufwand auszuschließen, sollte man in solchen Fällen, wo sich der Vorgang
Grundkonzepte einer Multi-User-, Multi-Touch Interaktion       20

auf die gesamte Anwendung bzw. auf das aktuelle Projekt in der Arbeitsfläche auswirkt,
auf die Multi-User-Fähigkeit verzichten. Natürlich könnte man sich auch dafür Mittel
und Wege überlegen, aber es würde einfach keinen Sinn machen, wenn beispielsweise
ein Dokument gedruckt werden soll, während in dem Moment noch ein anderer
Benutzer Änderungen vornimmt. Es gibt viele Beispiele, warum man eine Anwendung
nicht auch zu hundert Prozent Multi-User-Fähig machen sollte. Aber es sollte an dieser
Stelle genügen, schließlich sollte nur klar sein, dass nicht immer was Neues auch immer
was Besseres ist. Es hat auch nichts mit Faulheit zu tun, wenn man an gewissen Stellen
nicht auf Multi-User-Fähigkeit besteht. Es dient allein dem Zweck, ob es Sinn macht
und ob die Anwendung dann trotzdem weiterhin genutzt werden kann. Es werden sich
auch mit Sicherheit Funktionen und Situationen finden, wo man sich darüber streiten
könnte, ob es Multi-User fähig sein sollte oder nicht, aber da es unmöglich ist, jeden
einzelnen Fall hier zu erwähnen und zu behandeln, wird es an dieser Stelle den
Entwicklern überlassen, darüber zu entscheiden.

Da in einigen Programmen nicht auf das Zoomen und Scrollen verzichtet werden kann,
werden hier noch einige Ideen erwähnt, um solche Funktionen innerhalb einer M-U-M-
T-I nutzen zu können.

Sowohl beim Zoomen als auch beim Scrollen wird die Ansicht auf die Arbeitsfläche
verändert. Dies kann nicht nur zu Konflikten innerhalb der Anwendung selbst führen,
wenn einer der vielen Benutzer anfängt das Bild runter zu scrollen oder zu zoomen,
sondern auch zwischen den Personen selbst. Als Entwickler sollte man sich immer vor
Augen halten, dass im Laufe der Zeit sehr viele unterschiedliche Menschen seine
Anwendung nutzen werden und man weiß nicht, wie diese Menschen reagieren
könnten. So kleinlich es auch nun mal scheint, muss man sich über solche Dinge
Gedanken machen und bei einer Multi-User-Interaktion viel mehr als bei einer
einfachen Anwendung für einzelne Personen. Da in diesem Fall schließlich mehrere
Personen in direktem Kontakt miteinander an einem Programm arbeiten, müssen diese
Personen auch miteinander klarkommen. Es ist zwar nicht Aufgabe eines Entwicklers,
dafür zu sorgen, dass sich die Personen untereinander vertragen, aber wenn die eigene
Software dazu beiträgt, dass Personen nicht gut miteinander arbeiten können, wird diese
Software auch nicht gut sein können. Ausnahme wäre natürlich, wenn der Multi-Touch-
Bildschirm einfach zu klein ist und dadurch die Benutzer sich gegenseitig anstoßen.
Darauf hat ein Entwickler natürlich keinen Einfluss.
Grundkonzepte einer Multi-User-, Multi-Touch Interaktion   21

Nun also hier die Idee, wie man eine Scroll-Funktion realisieren kann. Dies würde nicht
auf dem herkömmliche Wege funktionieren, wie man es von dem Scrollbalken her
kennt. Vielmehr könnte man dazu die gleiche Technik nutzen, die man von einem
Vorschaufenster kennt. Solch ein Fenster kann man z.B. vor dem Drucken anzeigen
lassen, um zu sehen, wie der Druck aussehen würde. In einer M-U-M-T-I würde man
das so realisieren können, dass ein Vorschaufenster auf die Arbeitsfläche aufgerufen
wird, aber nicht die komplette Sicht versperrt, sondern nur einen kleinen Teil, der auch
von der Größe her änderbar gemacht werden könnte. Vergleicht man diese mit einer
Internetseite, wäre es so, als ob man ein iframe13 dynamisch während der Laufzeit
hinzufügen würde, aber mit dem gleichen Inhalt, der sich bereits auf der Arbeitsfläche
befindet. Das Vorschaufenster selbst sollte dabei nicht ein Unterobjekt von der
Arbeitsfläche werden, da es sich sonst so verhält, wie bei Fraktalen und man würde im
Fenster das gleiche Fenster nochmal sehen und so weiter. Diesem Vorschaufenster kann
man nun einige Eigenschaften hinzufügen und somit auch Zoomen innerhalb dieses
Fensters erlauben. Da sich weiterhin der Inhalt auf der Arbeitsfläche ändern kann, sollte
das Ganze über eine Referenz auf die Arbeitsfläche geschehen und nicht über eine
Kopie der Arbeitsfläche. Diese Lösung wird nicht unbedingt leicht zu realisieren sein.
Aus diesem Grund hier noch zwei weitere und leichtere Wege. Die eine Möglichkeit
wäre, auf das Scrollen vollkommen zu verzichten und somit die Arbeitsfläche immer
vollständig auf dem Bildschirm dargestellt wird. Eine etwas unorthodoxe Möglichkeit
wäre es, sobald gescrollt werden soll, dass alle anderen Interaktionen auf der
Arbeitsfläche verworfen werden. Doch dann wäre es vielleicht doch ratsamer ganz auf
das Scrollen zu verzichten oder sich einen anderen Lösungsweg zu suchen, der dafür
aber auch viel komplizierter in der Entwicklung sein könnte.

Die Zoomfunktion könnte man auf einfacherem Wege lösen und hätte damit auch einen
tollen Nebeneffekt. Es beruht darauf, dass man eine Lupe wie im realen Leben über die
Stelle hält, die man zoomen möchte. Es würde der Bildschirmlupe von Windows
ähneln, die als Hilfefunktion für Sehbehinderte angeboten wird. Dort ist es so, dass nach
der Aktivierung dieser Bildschirmlupe ein gewisser Bereich um den Mauszeiger am
oberen Bildschirmrand vergrößert angezeigt wird. Die zwei wesentlichen Unterschiede
zu der Bildschirmlupe von Windows sind, dass kein Mauszeiger sondern eine große
Lupe dargestellt wird und dass der gezoomte Bereich direkt in der Lupe sichtbar wird
und nicht an einem Bildschirmrand. An der Lupe selbst kann man dann noch
13
     http://de.wikipedia.org/wiki/Inlineframe
Grundkonzepte einer Multi-User-, Multi-Touch Interaktion       22

objektgebundene Funktionen einbauen, die zum Einstellen der Zoomstärke dienen.
Somit kann man einstellen, ob und wie stark ein bestimmter Bereich vergrößert oder
verkleinert angezeigt werden soll. Das Tolle an diesem Verfahren ist, dass der Benutzer
im Prinzip einen gewohnten Gegenstand nutzt, mit dem Unterschied, dass dieser
Gegenstand nur nicht physisch real ist, aber auf fast die gleiche Art genutzt wird. Nur
mit der Zoomstärke läuft es etwas anders ab, da man die Lupe aus der Anwendung nicht
vom Bildschirm weiter entfernen kann oder näher an den Bildschirm bringen kann.

Ein etwas anderes Problem sind die sogenannten Shortcuts, die man mit Hilfe der
Tastatur sonst immer nutzen konnte. Shortcuts für Funktionen wie das Kopieren und
Einfügen von Texten oder Objekten. Dass die Shortcuts nicht genutzt werden können,
ist auch selbstverständlich, schließlich hat man keine Reale Tastatur für die Eingabe,
sondern nur ein Multi-Touch-Bildschirm. Unter Windows 7 wird eine virtuelle Tastatur
angeboten, die ebenfalls Shortcuts auslösen kann, jedoch bietet das Betriebssystem nur
eine davon an und nicht beliebig viele. Dies hat zur Folge, dass nur ein User diese
virtuelle Tastatur nutzen kann. Falls man also Multi-User Anwendungen mit
Texteingaben entwickeln möchte, wird es nötig sein, eine eigene virtuelle Tastatur zu
entwickeln. Vorteil an dieser selbst konstruierten Tastatur ist, dass man mit ihr einen
eigenen Speicherstapel für die Zwischenablagerung zuweisen kann. Mit anderen
Worten, wenn man beispielsweise einen markierten Text oder Objekt mit den Shortcut
„Strg + C“ kopiert, ist es nur in dem Zwischenspeicher von dieser einen Tastatur und
kann auch nur von dieser einen Tastatur an beliebiger Stelle eingefügt werden, indem
man den Shortcut „Strg + V“ nutzt. Natürlich müsste man als Entwickler diese Funktion
selbst implementieren, aber Mithilfe von fertigen Frameworks oder der WinAPI dürfte
dies kein großer Aufwand für geübte Programmierer sein. So könnte man Shortcuts an
die entsprechende virtuelle Tastatur binden. Wer seine virtuelle Tastatur noch
komplexer haben will, kann sie so erweitern, dass man die Objekte, an denen die
Tastatur ihre Eingaben ausführt, beliebig austauschen kann oder aber mehrere Objekte
gleichzeitig an die Tastatur bindet, um beispielsweise einen bestimmten Text in
mehreren Textfeldern gleichzeitig eingeben zu können. Noch viel interessanter wäre
aber auch die Möglichkeit, den Zwischenspeicher der Tastatur zu einer beliebig anderen
Tastatur zu kopieren. So könnte man Textabschnitte oder Objekte, die im
Zwischenspeicher der einen Tastatur liegen, rüber zu einer anderen kopieren, um einem
anderen User gewünschte Daten zukommen zu lassen.
Grundkonzepte einer Multi-User-, Multi-Touch Interaktion     23

Solch eine Art von Bedienmöglichkeit ist etwas völlig Neues für die Benutzer einer
Multi-User-Multi-Touch-Interaktion, aber kein Wunschdenken. Auch wenn es für die
Programmierer mit viel Aufwand zusammenhängt, wären solche Funktionen sehr
Hilfreich für M-U-M-T-I.

Natürlich gilt für die Shortcuts und alle anderen Funktionen, die hier nicht erwähnt
wurden, ähnlich den Menüfunktionen die bereits erwähnt wurden, ob es Sinn macht
diese so zu implementieren oder nicht.

Durch die vorher genannten Ideen sind nun folgende Punkte für eine M-U-M-T-I
sichergestellt:

        1. Identifizierung des Users ist nicht notwendig und somit werden keine
            physisch realen Gegenstände mehr benötigt, um mit der Anwendung zu
            interagieren.
        2. Das Erstellen von neuen Objekten, bzw. das Benutzen von vorhandenen
            Objekten, wie Werkzeuge aus einer Toolbar.
        3. Das Entfernen von bereits vorhandenen Objekten aus der Arbeitsfläche.
        4. Das Bearbeiten von vorhandenen Objekten auf der Arbeitsfläche mit Hilfe
            von popupähnlichen Hilfsmitteln, die für die betreffenden Objekte passende
            Funktionen anbieten.
        5. Die Wiederverwendbarkeit und vor allem das parallele Nutzen der Objekte,
            wie die Werkzeuge aus einer Toolbar.
        6. Multi-User Funktionen, die keinen Sinn machen würden oder zu unnötigen
            Konflikten führen können, werden weggelassen. Stattdessen werden die
            Funktionen als nicht Multi-User fähige Funktionen verwendet.
        7. Kreative Alternativen, wie bei der Zoomfunktion, können den Benutzern
            noch realistischere Gefühle verleiten.
        8. Durch Möglichkeiten, wie das Austauschen von Daten aus dem
            Zwischenspeicher der virtuellen Tastatur, kann eine noch engere und
            effizientere Zusammenarbeit zwischen den Benutzern entstehen.
Grundkonzepte einer Multi-User-, Multi-Touch Interaktion         24

6.2. Erreichbarkeit von Bedienelementen

Eine M-U-M-T-I wird nicht viel Sinn machen, wenn der Bildschirm nicht groß genug
ist, sodass mehrere Personen gleichzeitig am Bildschirm interagieren können. Immer
häufiger werden Multi-Touch-Tische eingesetzt, die ideal für solche Interaktionen sind.
Solche Tische gibt es in unterschiedlichen Größen und könnten dadurch für Benutzer
einer M-U-M-T-I zum Hindernis werden. Wenn die Höhe des Tischs für eine Person
einfach zu groß ist, kann die betreffende Person sich auf einen Hocker setzen, aber
wenn die Bildschirmfläche vom Tisch so groß ist, dass es der Person unmöglich ist, an
jedem Punkt auf dem Bildschirm dranzukommen, wird dies bei der Bedienung von
Anwendungen auf dem Tisch unter anderem sehr umständlich. Betrachtet man eine
gewohnte GUI Anwendung mit einem Fenstertitel am oberen Rand, unter dem
Fenstertitel die Menüleiste und eine Toolbar, so wird eine einzelne Person die gewohnte
Perspektive auf diese Anwendung wählen und sich somit auch so vor dem Bildschirm
hinstellen, dass für die Person der Fenstertitel auch weiterhin oben erscheint. Die Person
könnte nun das Problem haben, dass sie nicht mehr an die Menüleiste oder an die
Toolbar drankommt. Dadurch wird sie gezwungen, entweder um den Bildschirm herum
zu gehen, bis sie die gewünschten Elemente erreicht oder aber sie bittet andere Personen
um Hilfe, die sich evtl. näher an diesen Elementen befinden. Solche Lästigkeiten sollte
man mit einkalkulieren und versuchen es den Benutzern so angenehm wie möglich zu
machen, soweit es die Anwendung zulässt.

Dies bedeutet aber, dass man entweder eine Menüleiste und sonstige Leisten dieser Art,
nicht mehr an bestimmten Stellen fixieren kann oder aber die gleichen Leisten sich an
mehreren unterschiedlichen Stellen wiederfinden. Einfach wäre es, wenn man diese
Leisten an jedem Bildschirmrand erscheinen lässt, was aber auch gleichzeitig eine
Überladung des Bildschirms zur Folge hat. Somit wären weniger Arbeitsfläche und viel
zu viele redundante Elemente vorhanden, was für die Benutzer auch unübersichtlich
werden kann. Alternativen hierzu wären einzelne Symbole, die eine Leiste wie die
Toolbar oder Menüleiste repräsentieren und somit den Bildschirm nicht überladen. Oder
die Leisten sind zwar an jedem Bildschirmrand verfügbar, jedoch so versteckt, dass nur
ein kleiner Teil zu sehen ist. Tippt man diesen kleinen Teil an, so wird die
entsprechende Leiste eingeblendet. Dieses Prinzip ist nichts neues und wird im
Zusammenhang mit Multi-Touch auch bereits angewandt, wie beispielsweise für die
Grundkonzepte einer Multi-User-, Multi-Touch Interaktion       25

virtuelle Tastatur unter Windows 7. Alternativ könnte man auch eine völlig andere Idee
aufgreifen, die dann so aussehen könnte, dass alles nur noch über Popups geregelt wird.

Es gibt viele Möglichkeiten die Erreichbarkeit von Objekten zu gewährleisten, aber für
welche man sich nun entscheidet, ist jedem selbst überlassen. Es wäre aber für die
Benutzer der Anwendung sehr hilfreich, wenn keine zu ausgefallenen Techniken
verwendet werden. Dadurch können Benutzer einen schnelleren und einfacheren
Einstieg in die neue Anwendung erhalten.

Die Erreichbarkeit von Bedienelementen wäre zwar damit sichergestellt, aber wenn die
Arbeitsfläche sich über den gesamten Bildschirm ausbreitet und somit nicht alle Stellen
auf der Arbeitsfläche erreichbar sind, könnte dieses Hindernis nicht mit den
obengenannten Ideen verhindert werden. In diesem Fall hat man die Möglichkeit zu
sagen, dass man als Entwickler nichts daran ändern möchte, um das Ganze auch
realistischer zu gestalten. Ein Blatt Papier, mit dem Durchmesser von 3 Metern ist nun
mal größer als der Arm einer erwachsenen Person und somit wird es auch gehandhabt
oder aber es werden Alternativen überlegt, die den Benutzern dennoch ermöglicht, dass
jeder Punkt der Arbeitsfläche für sie erreichbar ist. Eine Idee hierzu wäre die
vorgeschlagene Lösung mit dem Scrollen aus dem Teil Kapitel „6.1 Parallele Eingaben
durch mehrere User“.

Somit ist nicht nur die Erreichbarkeit von Bedienelementen sichergestellt, sondern auch
von Objekten und Stellen auf der Arbeitsfläche selbst.

6.3. Unterschiedliche Benutzerperspektiven

Durch den Einsatz von Multi-Touch-Tischen wird nicht nur die Möglichkeit geben, an
einem großen Bildschirm zu arbeiten, sondern auch um den Bildschirm herum gehen zu
können und somit sich die Perspektive ändert. So kann es nun vorkommen, dass
Personen auf dem Bildschirm blicken und das Bild von der Seite sehen, also um 90°
gedreht oder aber auch auf dem Kopf. Dies hat zur Folge, dass die umher stehenden
Personen Schwierigkeiten mit dem Lesen von Texten oder Erkennen von Objekten
bekommen.
Grundkonzepte einer Multi-User-, Multi-Touch Interaktion      26

Bedienelemente die am Bildschirmrand zu finden sind, sollten deshalb auch zum Rand
hin ausgerichtet sein. So sind diese Bedienelemente wie die Menüleiste immer an dem
gleichen Rand des Bildschirms leicht lesbar. So wäre aus der Perspektive des Benutzers
die Menüleiste immer unten und nicht wie gewohnt am oberen Bildschirmrand.

Objekte auf der Arbeitsfläche selbst oder aber auch die gesamte Arbeitsfläche bleibt
dennoch von der Position des Betrachtes abhängig. Die gesamte Arbeitsfläche drehbar
zu machen, wie ein Stück Papier, das man auf dem Tisch drehen kann, verleitet den
Benutzern etwas mehr Realität, aber gleichzeitig kann es auch störend werden, wenn
mehrere Personen gleichzeitig versuchen die Arbeitsfläche zu drehen. Oder aber eine
Person dreht die Arbeitsfläche während andere noch darauf arbeiten. Hier könnte man
das dann so regeln, dass bei einem Rotieren der Arbeitsfläche alle Interaktionen
verworfen werden und so keine ungewollten Ereignisse ausgelöst werden. Alternativ
wäre auch möglich, nicht die gesamte Arbeitsfläche drehbar zu machen, sondern nur die
einzelnen Objekte auf der Arbeitsfläche. In einem Diagrammeditor wären dann einzelne
Kästchen rotierbar aber dies kann auch bedeuten, dass viel komplexere Routinen
benötigt werden. Dies wäre Beispielsweise der Fall, wenn ein Objekt gedreht werden
soll, aber weitere Objekte mit diesem verbunden sind. Da muss nun entschieden
werden, ob diese zusammenhängenden Objekte mit gedreht werden oder nicht. Falls sie
mit gedreht werden, dann auch natürlich um den Drehpunkt vom eigentlichen Objekt.
Dies wäre ähnlich wie, wenn man um den Tisch herumgehen würde und man dann
Objekte aus einer anderen Perspektive betrachten könnte. Jedoch mit der
Einschränkung, dass es sich nicht unbedingt um alle Objekte auf der Arbeitsfläche
handeln muss.

Egal für welche Variante man sich entscheiden möchte oder vollkommen auf das
Rotieren verzichtet, es wird immer das Problem vorhanden sein, dass eine andere
Person auf der gegenüberliegenden Seite, die Objekte auf der Arbeitsfläche
verkehrtherum sieht. Den Bildschirm in mehrere Teile einzuteilen, wie wenn es mehrere
einzelne Monitore sind, die man zusammengelegt hat, ist keine gute Lösung, da dadurch
Grenzen zwischen den einzelnen Personen geschaffen werden und somit den Sinn einer
M-U-M-T-I kaputt machen würden. Und allen Personen vorzuschreiben nur auf einer
Seite vom Tisch stehen zu dürfen, ist unvorstellbar. Allein schon aus dem Grund, dass
evtl. nicht alle Personen genug Platz auf nur einer Seite vom Tisch haben könnten.
Grundkonzepte einer Multi-User-, Multi-Touch Interaktion      27

Um das Problem wirklich vollkommen zu beseitigen, müsste man auf Möglichkeiten
wie ein Multi-Touch-Tisch verzichten und auf Alternativen zurückgreifen. Sei es eine
Projektion an die Wand, ein TFT-Bildschirm oder aber auch eine Brille, die dem
Benutzer ein virtuelles Erlebnis verspricht. Doch alle diese Varianten schaffen wieder
Grenzen zwischen den einzelnen Personen.

6.4. Überschaubarkeit und ungewohnte Umgebung bei Multi-User-,
Multi-Touch-Interaktionen

In den vorangegangenen Kapiteln wurden Ideen und Möglichkeiten angesprochen, wie
man eine M-U-M-T-I realisieren kann, aber dabei wurde nichts darüber gesagt, ob die
Interaktion noch überschaubar ist oder nicht. Durch die Sicherstellung der
Erreichbarkeit oder aus anderen Gründen, könnte es leicht passieren, dass sich zu viele
Objekte auf dem Bildschirm befinden. Dadurch können die Benutzer der Interaktion
leicht den Überblick verlieren. Dies ist auf das Überladen eines Bildschirms
zurückzuführen, aber es gibt auch viele andere Gründe. Wenn Multi-Touch-Gesten
genutzt werden oder die Interaktion hauptsächlich durch Objektgebundene Funktionen,
wie mit Popups, angewandt werden, sind sie für Benutzer nicht ersichtlich und könnten
dazu führen, dass sie nie entdeckt werden. Eine Person die nie gesehen hat was es für
Gesten bei einer Multi-Touch Umgebung gibt oder wie sie anzuwenden sind, wird auch
nie darauf kommen, dass man mit zwei Fingern ein Objekt rotieren oder zoomen kann,
außer durch Zufall. Ebenso verhält es sich mit den neuen Bedienformen, die genutzt
werden, um beispielsweise parallele Interaktionen zu gewährleisten.

Bei der Entwicklung einer M-U-M-T-I ist es eigentlich nichts anderes als wie bei der
Entwicklung einer einfachen GUI. Man sollte sich immer fragen, ob die Benutzer dieser
Software auch leicht alles überschauen können und ob durch die Bedienung von
bestimmten Funktionen der Benutzer immer noch einen Überblick hat. Es könnte
schließlich auch der Fall eintreten, dass die Umgebung der Anwendung leicht
überschaubar ist, aber dass durch Anwendung von Funktionen wie das Rotieren von
Objekten, ein durcheinander herrscht und die Benutzer nicht mehr überblicken können,
was sich eigentlich auf der Arbeitsfläche befindet. So wäre in solch einem Fall eine
Funktion hilfreich, die alle Objekte zu einem Punkt hin dreht.
Grundkonzepte einer Multi-User-, Multi-Touch Interaktion      28

Abgesehen von der Überschaubarkeit einer Anwendung ist es genauso wichtig, dass die
Benutzer der Anwendung gewohnte Techniken wiederfinden, um die Anwendung zu
bedienen. Es macht keinen Sinn, völlig neuartige Möglichkeiten anzuwenden um
beispielsweise einen Menüeintrag in der Menüleiste aufklappen zu lassen, anstatt durch
einfaches Antippen. Wer würde denn schon daran denken, dass man den Menüeintrag
um 180° vorher drehen muss oder mit der Hand ein paar mal drüber wischen muss, dass
dieser sich aufklappt? Neue Interaktionsmöglichkeiten müssen also nicht immer nur
was Gutes sein und man sollte gut darüber nachdenken, bevor man solche
Möglichkeiten in eine Anwendung implementiert.

Ein weiterer Nebeneffekt von neuen Umgebungen und/oder neuen Bedientechniken ist,
dass durch fehlendes Wissen und Verständnis, sich die Benutzer erst einarbeiten
müssen. Dies kann dann teilweise sehr zeitaufwändig und frustrierend werden, wenn
Benutzer über längere Zeit nicht mit der Umgebung klar kommen. Deshalb sollten
umständliche und unverständliche Interaktionen wenn möglich vermieden werden.
Sie können auch lesen