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



Ähnliche Dokumente
1. Software installieren 2. Software starten. Hilfe zum Arbeiten mit der DÖHNERT FOTOBUCH Software

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Microsoft Access 2013 Navigationsformular (Musterlösung)

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Globale Tastenkombinationen für Windows

Tutorial Speichern. Jacqueline Roos - Riedstrasse 14, 8908 Hedingen, jroos@hispeed.ch -

Der Kalender im ipad

Urlaubsregel in David

Programme im Griff Was bringt Ihnen dieses Kapitel?

Übung 1. Explorer. Paint. Paint. Explorer

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Diese Anleitung zeigt dir, wie du eine Einladung mit Microsoft Word gestalten kannst.

Zwischenablage (Bilder, Texte,...)

Handbuch Groupware - Mailserver

Firefox: Die Lesezeichen im Griff

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

ACDSee 2009 Tutorials: Rote-Augen-Korrektur

Dateien mit Hilfe des Dateimanagers vom USB-Stick kopieren und auf der Festplatte speichern

Hilfe zur Dokumentenverwaltung

Sie wollen Was heißt das? Grundvoraussetzung ist ein Bild oder mehrere Bilder vom Wechseldatenträger

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Eigenen Farbverlauf erstellen

Handbuch B4000+ Preset Manager

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

2. Die ersten Schritte mit Windows 7 einfach bewältigen

Produktschulung WinDachJournal

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Navigieren auf dem Desktop

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Ein + vor dem Ordnernamen zeigt an, dass der Ordner weitere Unterordner enthält. Diese lassen sich mit einem Klick (linke Maustaste) anzeigen.

:LQGRZV([SORUHU &KULVWLQH%HHU

Die Dateiablage Der Weg zur Dateiablage

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Office-Programme starten und beenden

Was man mit dem Computer alles machen kann

Datensicherung. Beschreibung der Datensicherung

Fotos verkleinern mit Paint

LÖSUNGEN AUFGABEN: EXCEL XP (OHNE DATEIEN)

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Anleitung für Berichte in Word Press, auf der neuen Homepage des DAV Koblenz

Empfehlungen zur Nutzung der CD zum Buch: Klee & Wiemann: Beweglichkeit und Dehnfähigkeit. Schorndorf: Hofmann,

Comic Life 2.x. Fortbildung zum Mediencurriculum

Animationen erstellen

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Um Übergänge, Ein- und Ausblendung zu gestalten, kann man hier eine Leere vor oder nach einem Clip einfügen. Ein Clip ist ein einzelner Film.

Erklärung zu den Internet-Seiten von

PowerPoint: Text. Text

Grundlagen Word Eigene Symbolleisten. Eigene Symbolleisten in Word erstellen

Handhabung der Computermaus

Herstellen von Symbolen mit Corel Draw ab Version 9

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Computeria Solothurn

Einfügen mit Hilfe des Assistenten: Um eine Seite hinzufügen zu können, müssen Sie nur mehr auf ein Symbol Stelle klicken.

Hilfe zur Verwendung digitaler Formulare

Wie halte ich Ordnung auf meiner Festplatte?

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Dateien löschen und wiederherstellen

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Betriebssysteme Arbeiten mit dem Windows Explorer

Nokia Handy - Daten sichern.

Excel 2010 Kommentare einfügen

Mediator 9 - Lernprogramm

3. GLIEDERUNG. Aufgabe:

Für Kunden die den neuen TopMaps Viewer EINER für ALLE als Betrachtungs-Software verwenden wollen. Top10 V1, Top25 V3, Top50 V5, WR50 V3 DVD s

Erzherzog Johann Jahr 2009

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Zahlen auf einen Blick

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Mit jedem Client, der das Exchange Protokoll beherrscht (z.b. Mozilla Thunderbird mit Plug- In ExQulla, Apple Mail, Evolution,...)

Professionelle Seminare im Bereich MS-Office

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen

bilder.tibs.at Upload-Assistent

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Windows 10 > Fragen über Fragen

Ordnerstruktur in Windows 7

Ein Bild in den Text einfügen

Übersichtlichkeit im Dokumentenmanagement

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

AUF LETZTER SEITE DIESER ANLEITUNG!!!

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Berechtigungen im Kalender Anleitung für die Rechtevergabe im Outlook Kalender FHNW, Services, ICT

Anleitungen für User der Seite TSV AustriAlpin Fulpmes. So erstellen Sie einen Bericht (Beitrag) auf der TSV-AustriAlpin Fulpmes Homepage.

12. Dokumente Speichern und Drucken

Bilder zum Upload verkleinern

3 ORDNER UND DATEIEN. 3.1 Ordner

WordPress. Dokumentation

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

1. Allgemein Speichern und Zwischenspeichern des Designs Auswahl der zu bearbeitenden Seite Text ergänzen Textgrösse ändern 3

Drägerware.ZMS/FLORIX Hessen

SANDBOXIE konfigurieren

Fotos in Tobii Communicator verwenden

Microsoft Access 2010 Navigationsformular (Musterlösung)

Tipps & Tricks zu Windows 8.1 Quelle: Computerbild (und D. Frensch)

6. Dateien und Ordner verwalten

Kapitel 1: Betriebssystem IX. W indows Explorer und der Arbeitsplatz Teil 2

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Transkript:

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

2

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

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.

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-Touch 1 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 iphone 2 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 nicht in die Hand nimmt. Abbildung 1: Drehen von Objekten auf einem Multi- Touch-Tisch. [11] 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

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 GUI 3 (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 2010 4 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 erwähnt wurden. Shortcuts sind häufig eine Kombination von Tasten, um schnell bestimmte 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 Shortcuts werden teilweise auch durch die 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. Abbildung 3 Tastenkombinationen in Verbindung mit einer Menüleiste. [13] Abgesehen von den verschiedenen Anwendungen gibt es auch auf den unterschiedlichen 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 360 6, 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

2 Möglichkeiten von GUI-Techniken im Bezug auf M-U-M-T-I 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 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 Drop 7 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-Fenster 8 ) 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 Fokus 9 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 Interface 10 (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 4 11 bietet die Klasse UserControl 12 (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 iframe 13 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.

Implementierung eines Beispiels 29 7. Implementierung eines Beispiels 7.1. Einführung in das Beispiel Das Beispiel wurde aus Zeitmangel sehr einfach gehalten. Es zeigt, wie User mehrere Kästchen erstellen können, die man bei Weiterentwicklung des Beispiels für Diagramme nutzen kann. Das Verschieben der Kästchen und Rotieren wird in dem Beispiel ebenfalls unterstützt, was man auch bereits aus diversen Multi-Touch- Beispielen im Internet finden kann. Weiterhin ist es auch möglich mit Hilfe von virtuellen Tastaturen, parallele Texteingaben zu betätigen. 7.2. Praktische Umsetzung 7.2.1. Verwendete Programme für das Beispiel Das Beispiel wurde mit Visual Studio 2010 erstellt. Genutzt wurden dabei die Frameworks von Surface, sowie WPF und.net 4. Als Programmiersprache wurde C# gewählt. Wegen dem Mangel an Arbeitsmaterial, wurde der Multi-Touch Vista 14 Treiber genutzt, der es ermöglicht mit mehreren Mäusen Touch-Interaktionen auszuführen. So ist es trotz fehlendem Multi-Touch-Bildschirm möglich gewesen, die Anwendung zu testen. 7.2.2. Einzelheiten zur Implementierung Das Erstellen von den Kästchen wurde dadurch realisiert, dass ein TouchDown-Event auf eine der vier roten Bereiche der Arbeitsfläche ausgelöst werden kann. Ebenso wird das Verschieben und Rotieren der Kästchen gehandhabt. Die Zoomfunktion wurde zwar auch implementiert, jedoch im Quellcode auskommentiert, da es nicht sehr sinnvoll erschien, auf einen kleinen Bildschirm noch eine Zoomfunktion ausführen zu können. Abgesehen davon wäre es auch lästig, wenn eine Person anfängt zu zoomen und somit 14 http://multitouchvista.codeplex.com/

Implementierung eines Beispiels 30 unter Umständen andere Objekte verdeckt werden und so andere Personen nicht weiter mit der Anwendung interagieren können. Das Interessante an diesem Beispiel ist die virtuelle Tastatur, die es den Usern erlaubt, gleichzeitig Texteingaben ausführen zu können. Es wird nicht die bereits implementierte Tastatur von Windows selbst genutzt. Diese eigens implementierte Tastatur ist immer an genau einem Feld gebunden. Durch Antippen der Tasten auf der Tastatur, werden Eingaben auf das gebundene Feld übertragen, so dass parallel mehrere dieser virtuellen Tastaturen genutzt werden können, ohne dass die entsprechenden Felder den Fokus haben müssen. Für die Tasten selbst wird ebenso wie bei den Kästchen, das TouchDown-Event genutzt. 7.2.3. Ergebnis der Implementierung Das Beispiel ist eine sehr einfach gehaltene Anwendung geworden. Es wurden zwar wenig von den Grundkonzepten realisiert, aber dafür mit Erfolg und damit auch eine Belegung dafür, dass solch eine Multi-User-Multi-Touch-Interaktion durchaus nach diesen Grundkonzepten realisierbar ist. 7.3. Entstandene Probleme während der Implementierung Wegen dem Fehlen eines Multi-Touch-Bildschirms wurde gezwungener Maße ein Treiber genutzt, der leider nicht immer ohne Probleme funktionierte. Die Installation und Anwendung des Treibers war schon eine Hürde, da es den Anschein hatte, dass es auf dem betreffenden Rechner mit anderen Treibern zu Konflikten kam. Erst nach einer kompletten Neuinstallation des Betriebssystems konnte der Multi-Touch Treiber erfolgreich installiert werden. Dadurch und durch die teilweise auftretenden Fehlfunktionen und Abstürze des Treibers wurde die Implementierung unnötig erschwert und stark zeitlich verzögert. Dies hatte dann auch zur Folge, dass kaum Zeit übrig blieb, um eine ausführlichere Beispielanwendung zu implementieren. Aus diesem Grund wurde der Versuch beispielweise eine Sidebar zu implementieren aufgegeben und somit fielen die Toolbars weg, die an jedem Bildschirmrand ein- und ausklappbar sein sollten. Als Alternative wurde nur durch einfaches Antippen auf eine leere Stelle in der Arbeitsfläche genutzt, um ein Kästchen zu erzeugen. Auch das

Fazit 31 Verbinden von mehreren Kästchen und die Einbindung von Kästchen innerhalb eines anderen Kästchens musste zwangsweise ausgelassen werden. Das Implementieren hatte aber dennoch auch was Gutes, denn erst während der Implementierung sind einige Dinge im Grundkonzept auffällig geworden und nochmals bearbeitet worden. So ist auch die Idee eine eigene virtuelle Tastatur zu implementieren erst zu dem Zeitpunkt klar geworden, als sie benötigt wurde. Vorher wurde nicht daran gedacht, dass das Betriebssystem nur eine virtuelle Tastatur anbietet und dass diese Tastatur nur für das aktive Textfeld gilt, das auch den Fokus besitzt. 8. Fazit Das Grundkonzept selbst ist auf gutem Weg ein stabiles Fundament für Multi-User- Multi-Touch-Interaktionen zu werden. Doch trotz sorgfältigem Überlegen und Forschen, sind bestimmt die ein oder anderen Funktionen und Bedienmöglichkeiten übersehen worden. Nach den Erfahrungen mit dieser Arbeit, werden es wahrscheinlich eher Dinge sein, die für den Gebrauch in einer Anwendung so natürlich geworden sind, dass man an diese Dinge in der Theorie nicht denken würde. So wie es hier der Fall mit der virtuellen Tastatur war. Durch weitere und intensivere Implementierungen könnten auch diese ausgelassenen Dinge gefunden und zu dem Grundkonzept erweitert werden, um ein vollständiges Konzept zu erhalten. Dadurch wäre es dann möglich das Grundkonzept so aufzuarbeiten, dass es eines Tages wie Design-Pattern als eine Art allgemeine Vorlage genutzt werden kann, um Multi-User-, Multi-Touch-Interaktionen zu entwickeln.

Anhang 32 9. Anhang 9.1. Multi-Touch-Gesten Abbildung 5 Multi-Touch-Gesten unter Windows 7. [5]

Anhang 33 9.2. Kontextmenü - Popup Abbildung 6 Kontextmenü (Popup) einer Anwendung. [12] 9.3. MDI-Fenster Abbildung 7 MDI-Fenster mit genau einem aktiven Fenster. [17]