Widgets für interaktive Displays
Transcrição
Widgets für interaktive Displays
Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Informatik Fachgebiet Mensch-Computer-Interaktion Fürstenallee 11 33102 Paderborn Widgets für interaktive Displays Herausforderungen an den Entwurf und prototypische Implementierung eines eigenen Konzepts Bachelorarbeit im Rahmen des Studiengangs Informatik zur Erlangung des Grades Bachelor of Science von Fabian Mense betreut durch M. Sc. Adrian Hülsmann vorgelegt bei Prof. Dr. Gerd Szwillus und Prof. Dr.-Ing. Steffen Becker Paderborn, 10. Oktober 2014 II Eidesstattliche Erklärung Ich erkläre hiermit an Eides statt, dass ich die vorliegende Arbeit selbstständig angefertigt habe; die aus fremden Quellen direkt oder indirekt übernommenen Gedanken sind als solche kenntlich gemacht. Die Arbeit wurde bisher keiner anderen Prüfungsbehörde vorgelegt und auch noch nicht veröffentlicht. Ich verpflichte mich, meine Bachelorarbeit den Richtlinien der Studienordnung entsprechend aufzubewahren und sie auf Verlangen jederzeit herauszugeben. Ort, Datum Unterschrift III IV Abstract Die Entwicklung von effizienten Interaktionsformen im Umgang mit interaktiven Tabletop-Systemen ist ein beliebtes Forschungsgebiet. Ein Ziel ist es, den Anwendern einfache und intuitive Lösungen in Form von Widgets an die Hand zu geben, um den gerätespezifischen Problemen, wie der Selektion von weit entfernten Objekten, zu begegnen. Gleichzeitig soll die Leistungsfähigkeit der Anwender dadurch erhöht werden. Ein gegenwärtiges Problem ist es, einen Überblick über die bereits entwickelten Widgets zu erhalten. Denn, auch wenn eine Vielzahl an Lösungen entwickelt wurde, gibt es kein zentrales Verzeichnis der verfügbaren Widgets und keine einheitlichen Standards für die Entwicklung eigener Widgets. Aus diesem Grund präsentiere ich in dieser Arbeit eine Klassifizierung für Widgets. Hierfür wurden die vorherrschenden Forschungsergebnisse analysiert und nach dem Interaktionsziel des Anwenders kategorisiert. Zusätzlich wurde ein kurzer Leitfaden entworfen, welcher eine Hilfestellung bei der Entwicklung eigener Widgets bietet. Dort werden bewährte Methoden genannt und auf Problemfelder hingewiesen. Auf diesen Ergebnissen aufbauend wurde zudem ein eigenes prototypisches „TidyUp“-Widget entwickelt, mit welchem sich unübersichtliche Bildschirmoberflächen aufräumen lassen, indem die vorhandenen Elemente kompakt angeordnet werden. Dadurch wird neuer Platz auf dem Bildschirm geschaffen, ohne dass vorhandene Elemente geschlossen werden müssen. V VI Inhalt 1 Einleitung ......................................................................................................................................................... 1 1.1 Motivation ...................................................................................................................................................... 1 1.2 Problembeschreibung und Zielsetzung ........................................................................................... 2 1.3 Struktur der Arbeit .................................................................................................................................... 3 2 Technische Grundlagen ............................................................................................................................. 5 2.1 Entwicklung der Multi-Touch-Oberflächen ................................................................................... 5 2.2 Multi-Touch-Tische ................................................................................................................................... 7 2.2.1 Grundlegende Eigenschaften ...................................................................................................... 7 2.2.2 Der Multi-Touch-Tisch Mister T. ............................................................................................... 9 2.3 Eingabeparadigmen interaktiver Benutzungsoberflächen ................................................. 10 2.3.1 CLI - Command Line Interfaces ............................................................................................... 10 2.3.2 GUI – Graphical User Interfaces .............................................................................................. 10 2.3.3 NUI – Natural User Interfaces .................................................................................................. 10 2.4 Definition des Widget-Begriffs .......................................................................................................... 12 2.4.1 Begriffsherkunft ............................................................................................................................. 12 2.4.2 Vielfältigkeit des Widget-Begriffs .......................................................................................... 12 2.4.3 Präzisierung der Definition zu GUI-Widgets .................................................................... 15 3 Untersuchung von Widgets .................................................................................................................. 17 3.1 Vorteile von Widgets ............................................................................................................................. 17 3.2 Nachteile von Widgets .......................................................................................................................... 19 3.3 Anwendungsdomänen von Widgets............................................................................................... 20 3.3.1 Herausforderungen allgemeiner Touch-Interfaces ....................................................... 20 3.3.2 Herausforderungen an interaktive Tabletop-Systeme ................................................ 22 3.3.3 Weitere Anwendungsfelder von Widgets .......................................................................... 24 3.4 Aktivierung von Widgets ..................................................................................................................... 25 VII Inhalt 3.4.1 Automatische (De-)Aktivierung.............................................................................................. 25 3.4.2 Statische Haltungen ...................................................................................................................... 26 3.4.3 Dynamische Gesten ....................................................................................................................... 26 3.4.4 Tangible User Interfaces............................................................................................................. 27 3.5 Klassifikation ............................................................................................................................................. 28 3.5.1 Verwandte Arbeiten ..................................................................................................................... 28 3.5.2 Systematik ......................................................................................................................................... 29 3.5.3 Vorstellung der Kategorien ....................................................................................................... 30 3.5.4 Objektselektion ............................................................................................................................... 31 3.5.5 Anwendungskontrolle ................................................................................................................. 34 3.5.6 Kooperative Arbeit ........................................................................................................................ 36 3.6 Leitfaden für den Widget-Entwurf .................................................................................................. 38 3.6.1 Grundgedanken .............................................................................................................................. 38 3.6.2 Widget-Design ................................................................................................................................. 39 3.6.3 Implementierung ........................................................................................................................... 41 4 Umsetzung eines eigenen Widgets ................................................................................................... 43 4.1 Grundlagen ................................................................................................................................................. 43 4.1.1 Idee „TidyUp“-Widget .................................................................................................................. 43 4.1.2 Entwicklungsumgebung ............................................................................................................. 44 4.2 Gestaltung ................................................................................................................................................... 44 4.2.1 Visuelle Gestaltung ........................................................................................................................ 44 4.2.2 Aktivierung des Widgets ............................................................................................................ 45 4.2.3 Motion Design .................................................................................................................................. 46 4.3 Architektur der Anwendung .............................................................................................................. 48 4.3.1 Übersicht ............................................................................................................................................ 48 4.3.2 Beschreibung ................................................................................................................................... 50 4.3.3 MainSurfaceWindow .................................................................................................................... 50 VIII Inhalt 4.3.4 MyImagePool ................................................................................................................................... 50 4.3.5 DragDropScatterView .................................................................................................................. 51 4.3.6 MyPostureRecognizer.................................................................................................................. 51 4.3.7 MyGestureRecognizer.................................................................................................................. 52 4.3.8 MyGestureHandler ........................................................................................................................ 53 4.4 Beispielhafte Verwendung des Widgets ....................................................................................... 54 4.5 Evaluierung des Widgets ..................................................................................................................... 57 5 Fazit.................................................................................................................................................................. 59 5.1 Zusammenfassung .................................................................................................................................. 59 5.2 Diskussion und Ausblick ...................................................................................................................... 60 6 Literaturverzeichnis ................................................................................................................................ 61 7 Anhang ............................................................................................................................................................ 67 7.1 Inhalt der CD-ROM .................................................................................................................................. 67 7.2 Systemvoraussetzungen für das Widget ...................................................................................... 67 7.3 Ausführung des Widgets auf Mister T. .......................................................................................... 67 7.4 Ausführung des Widgets auf PCs ohne Touch-Interface ...................................................... 68 IX X Abbildungsverzeichnis Abbildung 1: Aufbau des Microsoft Surface (Derene, 2007) ............................................................. 7 Abbildung 2: Beispielhafte Auswahl verschiedener Windows Gadgets ................................... 13 Abbildung 3: „Hybrides“ Widget zur Steuerung von Music-Player-Funktionen und Anzeige von Titel-Informationen (Google Inc., 2012) ....................................................................... 13 Abbildung 4: Web-Widget zur Veröffentlichung auf der Homepage (S-Bahn Berlin GmbH, 2012) ......................................................................................................................................................................... 14 Abbildung 5: Widget im Notizprogramm OneNote zur Unterstützung der TouchBedienung (Bott, 2012) .................................................................................................................................... 15 Abbildung 6: Vergleich von Maus- und Touch-Interaktion. Durch das „Fat-FingerProblem“ werden der genaue Berührungspunkt und etwaige grafische Rückmeldungen überdeckt (Bachl et al., 2010). ...................................................................................................................... 21 Abbildung 7: Beispiel einer Technik zur Verhinderung von Okklusion. Sobald der Benutzer mit seinem Finger eine Schaltfläche berührt und somit eventuell verdeckt (a), wird die Schaltfläche entsprechend größer dargestellt (b) (Shen et al., 2006). ................... 23 Abbildung 8: Möglichkeit der pixelgenauen Auswahl über das Widget „Cross-Keys“ (Albinsson & Zhai, 2003). ................................................................................................................................ 31 Abbildung 9: Item innerhalb des Zielbereichs ...................................................................................... 44 Abbildung 10: Zwei Items in StackView-Ansicht (links) und fünf Items in BarViewAnsicht (rechts) .................................................................................................................................................... 45 Abbildung 11: Fünf-Finger-Handhaltung zur Aktivierung des Widgets ................................... 46 Abbildung 12: Drehbewegung im oder gegen den Uhrzeigersinn zum Heranziehen der Bildschirmelemente ........................................................................................................................................... 47 Abbildung 13: Abschlussgeste zur Erstellung eines Containers mit den herangezogenen Elementen als Inhalt .......................................................................................................................................... 47 Abbildung 14: Ausgangssituation................................................................................................................ 54 Abbildung 15: Aktivierung des Widgets über die Haltung der linken Hand .......................... 55 Abbildung 16: Ausführung von Kreisgesten der rechten Hand zum Heranziehen der Elemente .................................................................................................................................................................. 56 Abbildung 17: Ergebnis nach dem Anheben der Hände. .................................................................. 56 Abbildung 18: Darstellung der Container-Elemente als BarView. .............................................. 57 XI 1 Einleitung 1.1 Motivation Die Beliebtheit von Multi-Touch-Systemen, wie Smartphones oder Tablets, nimmt seit einiger Zeit stark zu. Dies ist vor allem auf die Natürlichkeit dieser Eingabetechnik zurückzuführen, welche die direkte Manipulation von Bildschirmobjekten durch die Finger des Benutzers ermöglicht. Durch die Dynamik dieses Trends erschließen sich für diese Eingabetechnik immer weitere Anwendungsgebiete und Interaktionstechniken zwischen Mensch und Computer. Eine weitere Gattung von Geräten, die dadurch in den Fokus rückt, sind die sogenannten interaktiven Tabletop-Systeme oder Multi-Touch-Tische. Eine Studie des Fraunhofer AIO bestätigt das große Marktpotenzial und einen verstärkten Bedarf dieser Lösungen im Unternehmensumfeld. Gerade in kooperativen Arbeitsumgebungen werden sich Vorteile versprochen, beispielsweise durch das gleichzeitige Arbeiten mehrerer Personen an einem gemeinsamen Projekt (Spath et al., 2009). Aufgrund des Verzichts auf das gewohnte Eingabeparadigma mittels Tastatur- und Mausbedienung und der Größe dieser Systeme gibt es Bedarf an gleichzeitig effizienter Interaktion und nützlicher Aufgabenunterstützung über die Multi-Touch-Bedienung. Beispielsweise können Bildschirminformationen durch Gegenstände, die sich auf der Tischoberfläche befinden, verdeckt werden oder Inhalte sind aufgrund ihrer Entfernung vom Benutzer nicht erreichbar. Hier liegen die Notwendigkeit und die Vorteile von Widgets. Widgets sind grafische Benutzerschnittstellen, die mittels geschickter Interaktionstechniken eine Unterstützung bei der Aufgabenerledigung bieten. Sie können bei Bedarf aktiviert werden und sind dann durch Gesten steuerbar. Sie ermöglichen eine Manipulation der Daten direkt am Ort der Bildschirminformation und eine, an das jeweilige Anwendungsszenario angepasste, Hilfestellung. Eine Vielzahl an Widgets wurde bereits entwickelt, um diesen Anforderungen zu begegnen. Daher ist es interessant, die Widgets, welche speziell für Tabletop-Systeme entworfen wurden, zu untersuchen. 1 1 Einleitung 1.2 Problembeschreibung und Zielsetzung Die gegenwärtige intensive Forschung im Bereich der Multi-Touch-Interaktion brachte bereits eine Fülle von Widgets hervor. Durch diese Vielfalt ist es schwierig, einen Überblick über die angebotenen Widgets zu bekommen. Auch bleibt es nicht aus, dass verschiedene Widgets gleiche Aktivierungs- und Steuerungsgesten besitzen und somit untereinander nicht kompatibel sind. Für Derboven, Roeck und Verstraete (2012) ist es dieser Mangel an Standardisierung, welcher die Forschung an Strukturen von MultiTouch-Widgets wertvoll macht. Das erste Ziel dieser Arbeit ist es, eine Kategorisierung für Multi-Touch-Widgets zu erarbeiten. Dafür soll zunächst eine Übersicht über mögliche Anwendungsszenarien der Widget-Interaktion gegeben werden. Außerdem sollen im Rahmen der Kategorisierung weitere Charakteristiken von Widgets herausgestellt werden. Dazu zählen die Vorteile und Nachteile der Widgets, die Möglichkeiten der Aktivierung von Widgets, sowie ein Leitfaden, welche Schritte notwendig sind, um ein neues Widget zu entwickeln. Der Fokus dieser Aufgabe liegt auf Widgets, welche sich durch eine Touch-Interaktion bedienen lassen. Um die Aufgabenstellung einzugrenzen, werden aus diesem Grund Tangible Widgets nur am Rand erwähnt, fließen aber nicht mit in die Kategorisierung ein. Dies sind Widgets, die über physikalische Objekte auf der Bildschirmoberfläche gesteuert werden. Ferner wird auf die Einbeziehung von 3D-Widgets verzichtet, weil diese einen eigenen Forschungsbereich darstellen. Das zweite Ziel ist die eigenständige Entwicklung eines prototypischen Widgets für interaktive Tabletop-Systeme. Zu diesem Zweck soll einleitend aus der vorherigen Aufgabe ein bisher unzureichend bearbeiteter Anwendungsbereich für Widgets ermittelt werden. Für diesen Bereich soll dann ein neues Widget entworfen, implementiert und hinsichtlich des Potenzials evaluiert werden. Eingesetzt werden soll die entwickelte Technik auf dem Multi-Touch-Tisch „Mister T.“, welcher im Rahmen einer Masterarbeit an der Universität Paderborn gebaut wurde. 2 1.3 Struktur der Arbeit 1.3 Struktur der Arbeit Die Arbeit ist in fünf Kapitel gegliedert. Aus der Zielsetzung ist erkennbar, dass im weiteren Verlauf im Wesentlichen zwei Hauptaufgaben beantwortet werden – die Klassifikation verfügbarer Widgets und der Entwurf eines eigenen prototypischen Widgets. Um zuvor einen Einblick in die Thematik zu bekommen, werden im nachfolgenden Kapitel 2 die Entwicklungen im Bereich der Multi-Touch-Geräte und der Benutzungsoberflächen in einen geschichtlichen Kontext eingeordnet. Außerdem wird eine grundlegende Definition des Widget-Begriffs gegeben, um ein Verständnis der Thematik für den Verlauf der weiteren Kapitel zu schaffen. Das Kapitel 3 widmet sich den Charakteristiken von Widgets. Die veröffentlichten Lösungen aus wissenschaftlichen Arbeiten werden gemäß ihrer Anwendungsszenarien analysiert, um einen Überblick für relevante Widgets im Tabletop-Bereich zu bekommen. Anhand dieser Grundmenge von Forschungsergebnissen sollen dann systematisch Gemeinsamkeiten und Muster erkannt werden, welche in eine Kategorisierung von Widgets einfließen können. Darüber hinaus soll ein kurzer Leitfaden für den Entwurf eines neuen Widgets entwickelt werden. Diese Ergebnisse der Kategorisierung und des Leitfadens werde ich anschließend im Kapitel 4 aufgreifen, um ein bisher unterrepräsentiertes Anwendungsszenario aufzudecken. Für diesen Problembereich soll dann ein neues Widget entwickelt werden. Im Rahmen dessen wird sowohl die Entstehung des Widget-Designs, als auch die Architektur der Anwendung dokumentiert. Zusätzlich wird eine beispielhafte Verwendung des neu erstellen Widgets erläutert und mögliche Erweiterungen reflektiert. Schließlich folgt im Kapitel 5 eine Zusammenfassung der gesamten Arbeit, in welcher die wesentlichen Erkenntnisse dargelegt werden. In einem Ausblick wird dann auf mögliche weiterführende Arbeiten eingegangen. 3 4 2 Technische Grundlagen Dieses Kapitel bildet die Grundlage für die spätere Untersuchung von Widgets im Umfeld von interaktiven Tabletop-Systemen. In einem ersten Teil werde ich kurz die geschichtliche Entwicklung von Multi-Touch-Oberflächen beschreiben, um den derzeitigen Erfolg dieser Technik darzulegen. Dann folgt ein Abschnitt, der sich speziell den Multi-Touch-Tischen widmet. Hier werden die Anwendungsszenarien und Möglichkeiten dieser Technik angesprochen. Der, für die spätere Entwicklung meines Widgets verwendete, Multi-Touch-Tisch Mister T. wird ebenfalls technisch erläutert. In einem weiteren Teil beschreibe ich die Entwicklung der Eingabeparadigmen bei der Mensch-Maschine-Interaktion. Ein besonderes Augenmerk setze ich dabei auf die Unterstützung der Benutzer durch Multi-Touch-Systeme. Anschließend werde ich die Vielfältigkeit des Widget-Begriffs erklären und eine für den Zweck dieser Arbeit gültige Definition geben. Auf diesen Erläuterungen werden dann die weiteren Kapitel der Analyse und Entwicklung von Widgets aufbauen. 2.1 Entwicklung der Multi-Touch-Oberflächen Die Erforschung berührungsempfindlicher Eingabegeräte ist kein Phänomen moderner Computersysteme. So wurde beispielsweise bereits in den 1960er Jahren eine SingleTouch-Eingabetechnik beschrieben (Johnson, 1965). Aufgrund ihrer eingeschränkten Möglichkeiten, wurde die Single-Touch-Technik allerdings größtenteils für das Zeigen und Klicken als Ersatz der Maus verwendet. Erst die Multi-Touch-Technologie ermöglichte den Einsatz von vielfältigen Gesten oder die Arbeit von mehreren Personen an einem Bildschirm. Die Entwicklung der Multi-Touch-Technik lässt sich bis auf das Jahr 1982 zurückführen und basierte vorerst vor allem auf der Auswertung von Hand- und Fingerbewegungen durch eine Kamera. Zu diesem Zeitpunkt entwickelte Nimish Mehta an der Universität von Toronto ein System, welches auf einer vereisten Glasplatte basiert. Über eine optische Erkennung lassen sich Fingerbewegungen auf der Glasplatte nachvollziehen und so als Eingabe für ein Zeichenprogramm nutzen (Mehta, 1982). Das erste berührungsempfindliche Display beruht auf kapazitiven Sensoren und wurde 1984 von Bob Boie entwickelt. Es wurde dazu eingesetzt, die Position von Bildschirmobjekten 5 2 Technische Grundlagen durch mehrere Finger zu verschieben (Buxton, 2007). Diese Technik ermöglichte es, dünnere und leichtere Multi-Touch-Interfaces herzustellen. Ein frühes Multi-Touch-Tabletop-System wurde von Pierre Wellner 1991 unter dem Namen DigitalDesk entwickelt (Wellner, 1991). Die Besonderheit liegt darin, dass sich über dem Benutzer eine Einheit aus Projektor und Kamera befindet, welche den Bildschirminhalt auf eine Tischplatte projiziert und Bewegungen verarbeiten kann. Somit ist eine direkte Interaktion mit den Bildschirmobjekten möglich. Darüber hinaus ist das System in der Lage sowohl Finger, als auch Stifte zur Eingabe und physische Dokumente auf der Oberfläche zu erkennen. Ein weiteres bedeutendes Projekt ist das TabletopSystem DiamondTouch, entwickelt 2001 am MERL (Dietz & Leigh, 2001). Es besteht aus einem Gehäuse ähnlich einer Tischplatte, einem Projektor und einem PC zur Steuerung der Komponenten. Das Bild wird wiederum durch den, oberhalb des Gehäuses angebrachten, Projektor angezeigt. Die zur Auswertung der Eingabe benötigten Sensoren befinden sich allerdings in Form mehrerer Antennen direkt innerhalb des Gehäuses. Durch diese Einfachheit im Aufbau der Komponenten konnte das System auch kommerziell an Privatanwender vertrieben werden. Jedoch liegt der Fokus dieses Systems auf der kooperativen Arbeit im Unternehmensumfeld, da sich erstmals Interaktionen bis zu vier Personen durch Sensoren in deren Stühlen zuordnen ließen (Dietz & Leigh, 2001). Der kommerzielle Erfolg der Multi-Touch-Technik gelang im Jahr 2007 durch die Vorstellung des Apple iPhone (Grossman, 2007) und Microsofts Surface (Buxton, 2007) – einem interaktiven Multi-Touch-Tisch. Der Microsoft Surface ist als geschlossenes System entworfen. In die Oberfläche ist ein Rückprojektions-Bildschirm von 76cm Durchmesser eingelassen, dessen Projektor sich mit fünf Infrarot-Kameras zum Erfassen von Eingaben und einem PC innerhalb des Systems befindet. Durch die Infrarot-Kameras lassen sich neben Fingern auch Objekte, die an ihrer Unterseite durch sogenannte Tags gekennzeichnet sind, erkennen und unterscheiden. 6 2.2 Multi-Touch-Tische Abbildung 1: Aufbau des Microsoft Surface (Derene, 2007) Dieses System wurde von Microsoft und Samsung weiterentwickelt und führte im Jahr 2011 zur aktuellen Entwicklungsstufe Surface 2.0. Hier wurde durch den Einsatz einer 102cm großen LCD-Anzeige mit eingebauter Multi-Touch-Technologie die Gesamthöhe des Systems auf 10cm verringert. Während Samsung die Hardware vertreibt, bietet Microsoft mit dem Surface 2.0 SDK eine Entwicklungsumgebung zur Erstellung eigener Anwendungen. Seit dem Jahr 2012 wird die Entwicklung aufgrund der gleichnamigen Tablet-Serie unter dem Namen Microsoft PixelSense fortgeführt. 2.2 Multi-Touch-Tische 2.2.1 Grundlegende Eigenschaften Ein interaktives Tabletop-System besitzt als charakterisierendes Merkmal eine horizontale Oberfläche, welche sowohl Informationen anzeigt, als auch die Schnittstelle zwischen Mensch und Maschine bildet. Der Erfolg eines Tabletop-Systems hängt dabei besonders von dem Zusammenspiel der Komponenten Touch-Schnittstelle, Display und Software ab (Müller-Tomfelde, 2010, S. 6–7). Verglichen mit gewohnten, über Maus und Tastatur gesteuerten, Systemen sehen Shen et al. (2006) drei wesentliche Vorteile von Multi-Touch-Tischen. Zuerst wird genannt, dass die Tischoberfläche zugleich Display und Eingabeschnittstelle ist. Dies ermögliche eine natürliche und intuitive Interaktion und reduziere die kognitive Last bei der Benutzung. Zweitens eröffnet ein Tisch für die Anwender die Gelegenheit der Arbeit von Angesicht zu Angesicht, was den Erfolg von gemeinschaftlicher Arbeit begünstige. Drittens wird der großflächige Arbeitsbereich hervorgehoben, welcher die Arbeitsweise positiv beeinflussen könne. Die soziale Komponente ist eines der dominierenden Forschungsgebiete im Bereich der Anwendungsszenarien interaktiver Tabletop-Systeme. Im Unternehmensumfeld lässt 7 2 Technische Grundlagen sich ein interaktiver Multi-Touch-Tisch für gemeinschaftliche Arbeiten, wie Gruppendiskussionen oder Meetings einsetzen. Dieses Szenario wird häufig auch als Groupware bezeichnet. Auch hier können die Benutzer von der Interaktivität der Oberfläche profitieren. So gibt es in Meetings häufig die Situation, dass digitale Dokumente vorab ausgedruckt und anschließend an alle Teilnehmer zu Informationszwecken verteilt werden. Für die Ermittlung einer Problemlösung kann dann jeder Mitarbeiter Notizen auf seinem vorliegenden Blatt anfertigen, damit diese später wiederum digitalisiert in einem Beschluss zusammengefasst werden. Diese Sprünge zwischen analoger und digitaler Welt könnten nach Müller-Tomfelde mit der Unterstützung durch ein interaktives System entfallen: It is a logical consequence to avoid the detour and the inherent media break by transforming the surface of the table into a display able to show media that are active and can be computer-generated and computer-controlled. (MüllerTomfelde, 2010, S. vi) Neben diesem Groupware-Szenario gibt es eine Reihe weiterer Einsatzgebiete. In einem White Paper über den Microsoft Surface-Tisch werden einige Anwendungsfelder ergänzt. Dazu gehören zum einen klassische Disziplinen, wie die Datenvisualisierung zur Präsentation oder der Unterhaltungs-Bereich, die durch neue Möglichkeiten bereichert werden. Zum anderen werden jedoch auch Bereiche, wie interaktive Beratungsgespräche oder der Customer-Self-Service genannt. Letzterer beschreibt eine Situation, in welcher Kunden eigenständig Produkte über Multi-Touch-Tische konfigurieren oder sich über die Produkteigenschaften informieren können (Bollhoefer, Meyer & Witzsche, 2009). Die Ziele in der Entwicklung interaktiver Tabletop-Systeme liegen vorrangig in der Schaffung von natürlichen Interaktionsmustern, um letztendlich eine effizientere und schnellere Arbeit zu ermöglichen. Allerdings gibt es durch diese Systeme auch neue Problemfelder, was auf den Formfaktor und die relativ frühe Phase in der Entwicklung zurückzuführen ist. Durch die meist Windows-basierten Systeme sind zwar gängige Desktop-Anwendungen lauffähig, für die oben genannten Anwendungsszenarien müssen die Hersteller sie allerdings auf den Multi-Touch- oder Multiuser-Bereich anpassen (Janssen, 2009). Darüber hinaus nennt Müller-Tomfelde noch die Sichtbarkeit oder Erreichbarkeit von Bildschirminformationen als weiteren Problembereich (Müller-Tomfelde, 2010, S. 4). 8 2.2 Multi-Touch-Tische 2.2.2 Der Multi-Touch-Tisch Mister T. Die spätere Implementierung eines eigenen Widgets im Kapitel 4 werde ich auf dem Multi-Touch-Tisch Mister T. testen. Dieser wurde von Adrian Hülsmann im Rahmen seiner Masterarbeit entworfen und gebaut. Der Name ist ein Akronym für „Multi-Touch Interactive Surface and Tangible Exploration Research Table”. Für die Anzeige der Bildinformationen wurde eine Glasplatte verwendet, auf der eine Projektionsfolie aufgebracht wurde. Die Darstellungsfläche des Tisches beträgt 160cm * 90cm, wobei das Bild über einen Full-HD Beamer und einen Spiegel von unten auf die Glasplatte übertragen wird. Zur Erkennung von Touch-Eingaben wurden insgesamt vier Infrarot-Laser in die Ecken des Tisches eingelassen und außerdem zwei Kameras zur Erfassung der Berührungspunkte integriert. Die Erkennung arbeitet nach dem Laser-Light-Plane (LLP) Prinzip, in welcher die Laser eine Fläche von Infrarotlicht über der Oberfläche des Displays erzeugen (Hülsmann, 2011). Wird diese Fläche durch die Berührung des Displays unterbrochen, können über die Kameras die Berührungspunkte berechnet werden (Spath et al., 2009, S. 21–22). Außerdem können die Kameras auch Objekte über sogenannte Tags an der Unterseite der Objekte erkennen und unterscheiden. Die Berechnungen sowie die Programmlogik des Systems werden von einem Windows 7-PC übernommen. Der Aufbau dieses interaktiven Tabletop-Systems ist also ähnlich zu dem der ersten Microsoft Surface Version. Jedoch lassen sich durch die höhere Auflösung von 1980x1080 Pixeln zu 1024x768 Pixeln wesentlich mehr Informationen auf der Oberfläche anzeigen. Diese ist flächenmäßig zudem etwa 6 Mal so groß wie beim Surface und eignet sich so in höherem Maße für die simultane Arbeit mehrerer Personen. 9 2 Technische Grundlagen 2.3 Eingabeparadigmen interaktiver Benutzungsoberflächen Eine häufig genannte Anforderung an touchbasierte Systeme ist eine möglichst natürliche Bedienung. Im Folgenden werde ich einen kurzen Überblick über die unterschiedlichen Eingabeparadigmen geben. Ein Eingabeparadigma beschreibt die Art und Weise der Mensch-Maschine-Interaktion, die nötig ist, um eine gewünschte Funktion auszuführen. Dadurch wird in großem Maße beeinflusst, welcher Personenkreis als Zielgruppe angesprochen wird und welche Software-Lösungen für das jeweilige Eingabeschema angeboten werden können. 2.3.1 CLI - Command Line Interfaces Eine der ersten Interaktionstechniken war das Kommandozeilen-Interface, welches ab der Mitte der 1960er Jahre verwendet wurde. Nutzer mussten über die Tastatur in eine Eingabekonsole Befehle aus einem endlichen Vokabular eingeben, um Funktionen auszulösen. Diese Technik gilt zwar als effizient, ist aber gleichzeitig fehleranfällig und aufgrund der Komplexität vorwiegend für Experten zugänglich (Ziegler, 1996). 2.3.2 GUI – Graphical User Interfaces Die Einführung der grafischen Benutzerschnittstelle hatte zum Ziel, einem größeren Kreis von Menschen die Bedienung eines Computers zu ermöglichen. Das Konzept hinter diesem Interaktionsstil wird oft durch das Akronym WIMP (windows, icons, menus, pointing devices) beschrieben. Es steht für die einzelnen Bestandteile von GUI-Interfaces in der Form von Fenstern, grafischen Symbolen als Repräsentation von Dokumenten oder Funktionen, Menüs und einem Zeigegerät zur Auswahl der Bildschirmobjekte. Die Verwendung von Metaphern für GUI-Elemente, wie die Desktop-Metapher, Ordner oder der Papierkorb, sollten eine Vertrautheit bei der Arbeit mit Computern schaffen. Für die Verwendung im Umfeld von interaktiven Multi-Touch-Systemen ist diese Technik mit ihrem WIMP-Konzept allerdings aufgrund fehlender Unterstützung der Multi-UserBenutzung nicht optimal. Müller-Tomfelde kritisiert außerdem die Beschränkung des Fingers als Zeigegerät in einem „finger-as-cursor“ Modell (Müller-Tomfelde, 2010, S. 190). 2.3.3 NUI – Natural User Interfaces Eine große Bedeutung, auch für interaktive Tabletop-Systeme, kommt deshalb dem Interaktionsstil des natürlichen User Interfaces zu. Buxton nennt die aufstrebenden 10 2.3 Eingabeparadigmen interaktiver Benutzungsoberflächen Techniken der Touch-Technologie, Gesichts- und Spracherkennung und Bewegungssensoren als Treiber der Entwicklung der natürlichen Benutzerschnittstelle (Buxton, 2010). In dem Buch „Brave NUI World“ wird der Begriff NUI wie folgt definiert: A NUI is not a natural user interface, but rather an interface that makes your user act and feel like a natural. (Wigdor & Wixon, 2011, S. 14) Die Natürlichkeit bezieht sich also nicht auf die Hardware an sich, sondern auf die Art und Weise der Interaktion zwischen Mensch und Maschine. Ein Werkzeug, dessen Bedienung sich natürlich und vertraut anfühlt, reduziere den Lernaufwand und motiviere den Benutzer zusätzlich, um die kompletten Möglichkeiten der Technik auszunutzen. Die Multi-Touch-Technologie ist ein Bestandteil dieser Interaktion, da auf Maus und Tastatur als Eingabegeräte zugunsten der Bedienung durch Finger verzichtet werden kann. Dies führte zu einer erneuten Verringerung von Barrieren bei der Benutzung von Technik und damit zu einer Erweiterung der Benutzerzahl (Wigdor & Wixon, 2011). Zudem werden die Prinzipien der „Joy of Doing“ und des „Contextual Environments“, in welchem die Anwendungsumgebung die möglichen ausführbaren Aktionen vorgibt, als treibende Faktoren des Erfolgs dieser Interaktionsform genannt (Wixon, 2008). Dabei soll die natürliche Benutzerschnittstelle nach Mann (2001) jedoch nicht die vorhandenen Eingabeparadigmen verdrängen, sondern je nach Anwendungsszenario als Alternative zu CLI und GUI auftreten (wie zitiert in Blank, 2013, S. 3). 11 2 Technische Grundlagen 2.4 Definition des Widget-Begriffs Um eine wissenschaftliche Untersuchung von Widgets führen zu können, muss der Begriff zuvor präzise definiert werden. Daher werde ich im Folgenden erst die Begriffsherkunft klären und dann die Vielseitigkeit des Widget-Begriffs erläutern. Abschließend wird die, für den Inhalt dieser Arbeit relevante, Bedeutung dargelegt. 2.4.1 Begriffsherkunft Im Kontext der Computertechnologie wurde der Begriff „Widget“ erstmals während der Entwicklung des Projekt Athena (Arfman & Roden, 1992) verwendet. Im Rahmen dieser Forschung des MIT, der Digital Equipment Corporation und IBM entstand das X Window System - ein Protokoll zur Erstellung von grafischen Benutzerschnittstellen. Der Ausdruck Widget entstand dabei aus einer Zusammenführung der Begriffe „window“ und „gadget“, also ein ingenieurhaft erstelltes, kleines und nützliches Werkzeug (Swick & Ackerman, 1988). In den Oxford Dictionaries wird der Begriff folgendermaßen beschrieben: “An application, or a component of an interface, that enables a user to perform a function or access a service” (Oxford Dictionaries, 2014). Ein Widget sei also eine Anwendung oder Teil einer Schnittstelle, welche es dem Benutzer ermöglicht, eine Funktion oder einen Dienst auszuführen. 2.4.2 Vielfältigkeit des Widget-Begriffs Die obige Definition des Begriffs Widget bietet allerdings einen großen Interpretationsspielraum, weshalb er in der Informationstechnologie an vielen Stellen und für unterschiedliche Sachverhalte verwendet wird. Selbst im Umfeld von MultiTouch-Systemen werden verschiedene Dinge als Widget bezeichnet. Trotz der vielfältigen Besetzung des Widget-Begriffs liegt eine Gemeinsamkeit aller Definitionen darin, dass der Benutzer des Widgets durch eine geschickte Mensch-Maschine-Interaktion eine Funktion oder ein Problem leichter lösen kann, als über die standardmäßige Bedienungsweise. In der Literatur werden unter anderem die folgenden Kategorien unterschieden: Desktop Widgets. In die Kategorie der Desktop Widgets fallen unter anderem die, mit Windows Vista eingeführten, „Windows Gadgets“ oder Apples „Dashboard Widgets“. Sie stellen eine bestimmte Art von Anwendung dar, die meist nur eine 12 2.4 Definition des Widget-Begriffs einzige Funktion anbietet und vom Nutzer auf dem Desktop platziert werden kann. Hierzu zählen beispielsweise ein Kalender, eine Wetteranwendung oder ein Taschenrechner. Abbildung 2: Beispielhafte Auswahl verschiedener Windows Gadgets Mobile Widgets. Diese Kategorie der Widgets ist als eine Unterkategorie der Desktop Widgets anzusehen und beschreibt die Erweiterung auf mobile Endgeräte und Smartphones. Widgets für Googles Android-Plattform bieten beispielsweise, im Gegensatz zu den statischen App-Verknüpfungen, das dynamische Nachladen von Inhalten oder die Ausführung eines Befehls an. Konkret werden die Typen „Information Widgets“, „Control Widgets“, „Collection Widgets“ und „Hybrid Widgets“ unterschieden (Google Inc., 2012). Abbildung 3: „Hybrides“ Widget zur Steuerung von Music-Player-Funktionen und Anzeige von Titel-Informationen (Google Inc., 2012) Web Widgets. Der vom World Wide Web Consortium (W3C) erstellte Standard der „Packaged Web Apps (Widgets)“ beschreibt Widgets als eine Klasse von webbasierten, client-seitigen Anwendungen (World Wide Web Consortium [W3C], 2012). Diese verwenden klassische Web-Standards. Der Vorteil dieser Technik betrifft vor allem mobile Endgeräte, da für die jeweiligen Dienste lediglich einmalig die Programmlogik geladen werden muss, damit Inhalte anschließend dynamisch 13 2 Technische Grundlagen angezeigt werden können. Im Unterschied zu den oft proprietären Mobile Widgets oder Apps funktionieren die Web Widgets nach dem „write once, run anywhere”Prinzip (Koch, 2009) unabhängig vom verwendeten Betriebssystem. Abbildung 4: Web-Widget zur Veröffentlichung auf der Homepage (S-Bahn Berlin GmbH, 2012) GUI Widgets. Anders als in den Definitionen zuvor wird das GUI Widget nicht als eigenständige Anwendung selbst definiert, sondern als ein Element der grafischen Benutzerschnittstelle (GUI). Ziel ist die Unterstützung des Benutzers bei der Aufgabenlösung durch das Anzeigen von, für den jeweiligen Anwendungskontext geeigneten, Steuerelementen. Diese angezeigten Interaktionselemente bilden für den Benutzer einen Bereich zur direkten Manipulation der Bildschirmdaten. Den Fokus bilden hier also das spezielle „look and feel“ der Interaktionselemente, sowie die flüssige und geschickte Interaktion (Ziegler, 1996). 14 2.4 Definition des Widget-Begriffs Abbildung 5: Widget im Notizprogramm OneNote zur Unterstützung der Touch-Bedienung (Bott, 2012) 2.4.3 Präzisierung der Definition zu GUI-Widgets Für die Bearbeitung meiner Forschungsfrage lege ich die Definition der GUI Widgets – im Folgenden unter dem Begriff „Widget“ verwendet – zu Grunde. Um ein Verständnis über den Aufbau eines Widgets und die Bedeutung für interaktive Tabletop-Systeme zu bekommen, werde ich nachstehend die Eigenschaften eines GUI Widgets weiter präzisieren. Widgets besitzen einen modulhaften Aufbau. Es lassen sich also mehrere atomare Steuerelemente, wie Buttons und Slider, zu einer Elementgruppe zusammenfügen. Dies führt dazu, dass sich sowohl einfache single-purpose Widgets, als auch mächtigere Werkzeuge mit einer größeren Funktionsvielfalt bilden lassen. Damit die verfügbare Bildschirmfläche nicht mit Steuerelementen überlagert wird, sind Widgets standardmäßig nicht sichtbar beziehungsweise in einem inaktiven Zustand. Es bedarf einer expliziten Aktivierung durch den Benutzer, um die Interaktionselemente anzuzeigen oder zu aktivieren. Innerhalb des klassischen Eingabeparadigmas mit Maus und Tastatursteuerung geschieht dies beispielsweise durch einen Klick mit der Maus. Im Bereich der Multi-Touch-Oberflächen ist dies über eine Handgeste möglich. Ebenso lassen sich die Widgets entweder automatisch nach erfolgreicher Ausführung eines Befehls oder durch manuelle Aktionen wieder ausblenden. Die gezielte Aktivierung hat den Vorteil, dass die Interaktionselemente direkt an der Stelle angezeigt werden können, an welcher der Benutzer Informationen manipulieren möchte. 15 2 Technische Grundlagen Im Kontext von interaktiven Tabletop-Systemen besteht ein Bedarf an diesen Lösungen, weil sich gewohnte Konzepte mit statisch angeordneten Interaktionselementen nicht immer auf die erforderlichen Einsatzgebiete übertragen lassen. Dies wird beispielsweise bei der Verwendung des Systems durch mehrere Benutzer zur gleichen Zeit oder durch die Verdeckung von Bildschirminhalten durch physische Gegenstände, die sich im Arbeitsalltag auf der Bildschirmoberfläche befinden (bspw. Aktenordner), deutlich. 16 3 Untersuchung von Widgets Im vorherigen Kapitel wurde bereits an einigen Stellen auf die Probleme und Herausforderungen eingegangen, die durch die Entwicklung der Multi-Touch-Systeme entstanden. Im folgenden Kapitel bearbeite ich mit der Kategorisierung von Widgets den ersten Hauptbestandteil meiner Zielsetzung. Zuvor werden allerdings die Anwendungsdomänen von Widgets hinsichtlich der Multi-Touch-Interaktion im Allgemeinen und der Verwendung im Bereich interaktiver Tabletop-Systeme im Speziellen erläutert. Für die Kategorisierung selbst wurden etwa 90 verschiedene Widgets und Widget-Toolkits aus wissenschaftlichen Forschungsarbeiten und Konferenzbeiträgen analysiert. Ziel dieser Klassifizierung ist es dabei auch, mögliche Bedarfe in bisher unterrepräsentierten Kategorien aufzudecken und als Ergebnis für die spätere Entwicklung eines eigenen Widgets zu verwenden. Außerdem gehe ich näher auf die Vorteile und Nachteile der Benutzung von Widgets im alltäglichen Arbeitsumfeld ein. Anschließend werden die in diesem Kapitel gewonnenen Erkenntnisse für die Bearbeitung der Forschungsfrage „Was muss geleistet werden, um neue Widgets zu designen?“ verwendet, um einen kurzen Leitfaden der Widget-Erstellung zu beschreiben. 3.1 Vorteile von Widgets Ein genereller Vorteil von Widgets im Bereich von Multi-Touch-Systemen ist, dass Anwendungsfolgen und Anwendungsszenarien schneller und sicherer ausgeführt werden können, als ohne den Einsatz dieser Technik. Denn durch ihren Charakter als „Problemlöser“ werden Widgets häufig dazu eingesetzt, umständliche und langwierige Anwendungsfolgen über geschickte Aktionen abzukürzen und zu vereinfachen. Teilweise befähigt der Einsatz eines bestimmten Widgets den Benutzer auch erst dazu, eine Aufgabe auszuführen – beispielsweise bei Arbeiten, die sich nicht direkt von der klassischen MausTastatur-Bedienung auf Multi-Touch-Oberflächen übertragen lassen. Aus dieser Fähigkeit, Aufgabenbereiche effizienter und sicherer ausführen zu können, folgen dann weitere Effekte für verschiedene Personengruppen. Für Anwender entsteht das Gefühl, die Tätigkeiten komfortabler erledigen zu können. Dies resultiert nicht zuletzt auch aus der bereits angesprochenen natürlichen Eingabe 17 3 Untersuchung von Widgets über die Finger des Anwenders. Außerdem weisen Widgets meist eine hohe Usability auf, weil die Entwickler schon beim Design eines Widgets sorgfältig planen müssen, wie die Funktionen auf einer relativ kleinen Aktionsfläche sinnvoll angeordnet werden können. Aufgrund dieses besonderen Zusammenspiels von der Nützlichkeit eines Widgets zur Lösung eines Problems auf der einen Seite und der meist guten Benutzbarkeit auf der anderen Seite, entsteht nach Hassenzahl, Beu und Burmester (2001) das Gefühl der „Joy of Use“ (Hassenzahl et al., 2001, S. 6). Diese Zufriedenheit und Freude an der Anwendung sorgt dafür, dass die Benutzer in der alltäglichen Arbeit mit dem System bereit sind, die Funktionen der Widgets zu erforschen und effizient einzusetzen. Nachfolgend werden noch einige ausgewählte positive Eigenschaften von Widgets hervorgehoben und erläutert. Die benutzergesteuerte Aktivierung von Widgets erzeugt durch das Einblenden der Interaktionselemente im direkten Blickfeld des Anwenders einen ähnlichen Aufmerksamkeit erregenden Effekt, wie Popups im Web-Umfeld. Der Anwender wird also unmittelbar mit den ausführbaren Funktionen konfrontiert, was zu einer intensiveren Auseinandersetzung mit den angebotenen Möglichkeiten führt, als bei der Ausführung von Operationen über ein Menü. Darüber hinaus sind die Operationen der Widgets auf den spezifischen Anwendungskontext des Systems angepasst und bieten somit eine Menge von Befehlen an, welche dem Benutzer bei der Lösung seiner aktuellen Aufgabe weiterhelfen kann. Ein weiterer Aspekt ist die intuitive Bedienung. Diese wird über die direkte Interaktion mit Objekten an ihrer aktuellen Bildschirmposition erreicht. Auf diese Weise wird für die Anwender der kognitive Aufwand bei der Erinnerung an die, zur Aufgabenerledigung nötigen, Anwendungsfolgen verringert. Alle hier aufgezählten Punkte führen – wenn sie optimal eingesetzt und aufeinander abgestimmt werden – zu eben jenen Kriterien, wie beispielsweise der Zeitbedarf für die Erlernung einer Funktion oder die Zeitspanne und Fehlerrate zur Ausführung einer Aufgabe, welche Shneiderman und Plaisant (2010) nennen, um die Usability-Ziele Effektivität, Effizienz und Befriedigung zu erreichen. 18 3.2 Nachteile von Widgets 3.2 Nachteile von Widgets Die im vorherigen Abschnitt erwähnten Vorteile von Widgets setzen eine durchdachte Abstimmung auf das jeweilige System und einen quantitativ passenden Einsatz der Technik voraus. Würde man für jedes beobachtete Problem ein Widget entwerfen, führte dieser „Overuse“ von Widgets zu einer verringerten Bedienbarkeit des Gesamtsystems. Widgets sind also kein Allheilmittel für die Interaktion mit interaktiven TabletopSystemen. Gleichzeitig existieren auch einige generelle Nachteile der Widget-Interaktion. Diese Nachteile manifestieren sich in Gefahren, mit welchen sich Entwickler bei der Implementierung auseinandersetzen müssen. Ein grundsätzlicher Nachteil von Widgets zeigt sich im Fehlen von einheitlichen Konventionen, sowohl für ihre Aktivierung, als auch für die Gestaltung (Derboven et al., 2012). Die fehlende Standardisierung bei der Aktivierung kann mit der wachsenden Anzahl an unterschiedlichsten Widgets zu inkonsistentem Verhalten führen. Zwar sind Widgets meist auf einen Anwendungskontext beschränkt, es können aber durchaus Widgets auf unterschiedlichen Ebenen gleichzeitig aktiv sein. Beispielsweise zur Ausführung von Basisfunktionalitäten für das Betriebssystem und als Unterstützung einer Benutzeranwendung. Haben diese Widgets nun einen identischen Aktivierungsvorgang, überlagern sie sich und können so unvorhergesehene Effekte auslösen. Das Fehlen eines einheitlichen Verzeichnisses von Widget-Aktivierungen zu ihren jeweiligen Anwendungsprogrammen macht eine Vermeidung von identischen Aktivierungen schwer realisierbar. Die Idee, die eigenen Gesten komplexer zu gestalten, um eine versehentliche Aktivierung anderer Widgets auszuschließen, ist ebenso impraktikabel, da dieser Schritt zu einem erhöhten Lernaufwand auf Seiten der Anwender führt und somit die Gefahr besteht, dass ein Widget aufgrund der aufwendigen Aktivierung gemieden wird. Aus einer nicht einheitlichen Gestaltung von Widgets entsteht die Gefahr, dass das gesamte „look and feel“ des Systems beeinträchtigt wird und Anwender durch diese Inkonsistenz Aufgaben nicht in der gewohnten Geschwindigkeit erledigen können. Ein weiterer konzeptioneller Nachteil von Widgets ist der anfänglich schwierige Einstieg beim Erlernen der Interaktionstechniken. Denn systemweit kann es eine Vielzahl von 19 3 Untersuchung von Widgets Widgets für die unterschiedlichsten Anwendungszwecke geben. Sie alle sind initial für den Anwender nicht sichtbar und warten darauf in einer bestimmten Anwendungssituation aktiviert zu werden. Um sämtliche Funktionen nutzen zu können, müssen Anwender diese Aktionen also entweder durch Ausprobieren selbst erforschen oder sie im Handbuch nachlesen. Diese Anforderung wird allerdings durch Rettig (1991) etwas überspitzt mit den Worten „Nobody Reads Documentation“ (S.19) als nicht durchsetzbar eingestuft. Zudem sollte die Verwendung der Widgets unmittelbar erschließbar sein, da sonst der Aufwand zum Merken der verwendeten Techniken steigt. 3.3 Anwendungsdomänen von Widgets Die möglichen Anwendungsfelder von Widgets sind ebenso vielfältig, wie die Fülle der verschiedenen verfügbaren Lösungen selbst. Ihr Charakter als Problemlöser beeinflusst diese Vielfalt maßgeblich. Darum erscheint es sinnvoll Anwendungsdomänen aus den Herausforderungen der Touch-Interaktion abzuleiten. Dadurch, dass sich beispielsweise erlernte Vorgehensweisen der Maus- und Tastaturbedienung nicht direkt auf TabletopSysteme übertragen lassen, wurden nach und nach hilfreiche Steuerelemente entwickelt, um auf die angepassten Umstände zu reagieren. Denn grundsätzlich sind die klassischen Desktop-Anwendungsprogramme auch auf einer Tabletop-Plattform lauffähig. Die treibenden Erfolgsfaktoren der Widgets sind allerdings die mit ihnen erreichbare Effizienz in der Bedienung und die damit einhergehende Akzeptanz auf Seiten der Benutzer. Aufgrund des modulhaften Aufbaus von Widgets sind die Anwendungsfelder teilweise schwer zu präzisieren, da Widgets oft gleich mehrere Funktionen vereinen. Außerdem lassen sich weitere Domänen abseits der Problemfelder bestimmen. Der nachfolgende Abschnitt soll einen umfassenden Überblick über die Anwendungsdomänen der Widgets geben. 3.3.1 Herausforderungen allgemeiner Touch-Interfaces In ihrem Forschungsbericht zu den Herausforderungen an das Design der Benutzerschnittstelle für Multi-Touch-Interfaces nennen Bachl, Tomitsch, Wimmer und Grechenig (2010) im Wesentlichen drei Problemklassen. Dies sind displaybasierte Herausforderungen, userbasierte Herausforderungen und eingabebasierte Herausforderungen. Während die Anforderungen an das Display vor allem auf die 20 3.3 Anwendungsdomänen von Widgets Ausgestaltung des Hardware-Interfaces eingehen, beschäftigen sich die übrigen Kategorien mit den Problemen, welche durch die Interaktion mit touchbasierten Systemen entstehen. Nachfolgend werde ich zuerst die potenziellen Anwendungsfelder für Widgets nennen, die Bachl et al. für die allgemeine Gattung der Touch-Displays ermittelt haben. Hierzu zählen beispielsweise auch Smartphones und Public Displays. Später wird in diesem Kapitel dann auf die spezielle Situation der interaktiven TabletopSysteme eingegangen. Zu den nutzerbasierten Herausforderungen wird die Okklusion gezählt. Gemeint ist mit diesem Begriff die Verdeckung von GUI-Elementen oder grafischer Rückmeldung durch die Hände des Anwenders. Erscheint ein Interaktionsobjekt nach der Aktivierung direkt unterhalb des Berührungspunktes auf dem Bildschirm, kann dieses vom Handballen des Benutzers komplett oder teilweise verdeckt werden. In diesem Fall ist es nicht direkt ersichtlich, ob die Funktion nun korrekt ausgeführt wurde oder ob ein Bedienungsfehler vorliegt, was zu einer Verwirrung des Benutzers führt. Außerdem wird grafisches Feedback häufig durch den Finger überdeckt. Verglichen mit der Interaktion mittels Maus und Tastatur konnte der Effekt des „Hineindrückens“ eines Buttons direkt wahrgenommen werden. Abbildung 6: Vergleich von Maus- und Touch-Interaktion. Durch das „FatFinger-Problem“ werden der genaue Berührungspunkt und etwaige grafische Rückmeldungen überdeckt (Bachl et al., 2010). Ein weiterer Faktor im Bereich der benutzerbasierten Herausforderungen ist die Beachtung der individuellen körperlichen Unterschiede der Benutzer. Konnten bisher unterschiedliche Handgrößen durch die Wahl einer entsprechenden Maus berücksichtigt werden, spielt die Größe der Finger beziehungsweise der Hände der Benutzer für TouchDisplays eine größere Rolle. Zur Kategorie der eingabebasierten Herausforderungen zählen Bachl et al. alle touchbasierten Arten der Datenmanipulation. Generell wird jedoch auch auf die reine 21 3 Untersuchung von Widgets Funktionsvielfalt der Eingabe-Hardware eingegangen. So verfügt eine gängige Computermaus über drei Tasten und ein Scrollrad. Dies ermöglicht die Verwendung vier unterschiedlicher Funktionen über ein Eingabegerät. Der menschliche Finger hingegen löst auf einem einfachen Touch-Interface allerdings nur Berührungspunkte aus. Die Verwendung von Gesten oder Multi-Touch-Eingabe kann diese Limitierung auf eine einzelne Funktion aufheben, bringt aber auch den Nachteil, dass nicht alle Systeme diese Techniken nach den gleichen Konventionen implementieren. Bei der Dateneingabe über eine Bildschirmtastatur wird wiederum das Problem des fehlenden haptischen Feedbacks als problematisch angesehen. Dies führe erneut zur Notwendigkeit der grafischen Rückmeldung an einer geeigneten Stelle des Bildschirms (Bachl et al., 2010). 3.3.2 Herausforderungen an interaktive Tabletop-Systeme Neben den Herausforderungen an allgemeine Touch-Interfaces, geben Bachl et al. auch die folgenden Fälle speziell für das Umfeld der Tabletop-Systeme an. Zum einen wird die zuvor genannte Beeinträchtigung der Verdeckung von GUI-Elementen bei horizontalen Displays um die Unterarme der Benutzer und sich willkürlich auf der Oberfläche befindliche Gegenstände erweitert. In diesem Umfeld ist es also nicht ausreichend, nur die Verdeckung durch den Benutzer selbst in Betracht zu ziehen, sondern darüber hinaus auch Möglichkeiten anzubieten, auf die Verdeckung von Objekten in zufälliger Größe und Position zu reagieren. Zudem wird mit der Ermüdung und Belastung der Muskeln aufgrund der Größe dieser Systeme ein neuer Aspekt in Bezug auf die Ergonomie hinzugefügt. Die Varianten der Problemlösung sind in dieser Aufgabe vielfältig. So können Widgets zum leichteren Erreichen eines entfernten Objekts oder auch eine grundsätzlich andere Aufteilung der Displayfläche eingesetzt werden. Als Beispiel ist hier das von Shen et al. (2006) entwickelte System zu nennen, welches gleichzeitig Feedback am Ort der Interaktion und um das aktivierte Objekt selbst bietet. 22 3.3 Anwendungsdomänen von Widgets (a) (b) Abbildung 7: Beispiel einer Technik zur Verhinderung von Okklusion. Sobald der Benutzer mit seinem Finger eine Schaltfläche berührt und somit eventuell verdeckt (a), wird die Schaltfläche entsprechend gr ößer dargestellt (b) (Shen et al., 2006). Um auch den Einsatzbereich der kooperativen Arbeit zu berücksichtigen, wird zudem der Bedarf an Techniken zur Verwaltung von „dedicated zones“ (Bachl et al., 2010, S. 4) – also nutzereigenen Bereichen auf der Bildschirmfläche erwähnt. Morris, Ryall, Shen, Forlines und Vernier (2004) schildern in ihrer Forschung zum sozialen Verhalten bei der Benutzung von Groupware auf interaktiven Tabletop-Systemen sogar das Problem des Stehlens von Dokumenten oder Informationen, wenn die persönlichen Bereiche der Teilnehmer fließende Übergänge bieten würden. Außerdem würden Effekte wie die Kollision oder Überlappung von Fenstern unterschiedlicher Nutzer auftreten, welche den Arbeitsfluss beeinträchtigen könnten (Morris et al., 2004). Überdies nennen Shen, Vernier, Forlines und Ringel (2004) folgende „Fundamental tabletop UI functionality“, welche über die bereits genannten Anwendungsfelder hinausgeht. Der Bereich „Visual document management“ enthält die Forderung, ein zu bearbeitendes Dokument müsse sich willkürlich drehen und verschieben lassen, um jederzeit auf den Blickwinkel des Benutzers ausgerichtet werden zu können. Zusätzlich sollen Dokumente an ihrer aktuellen Position steuerbar sein, um nicht mit einem gegebenenfalls entfernteren Rahmen des Hauptprogramms interagieren zu müssen. Unter der Anforderung des „Digital tabletop layout“ sind die Erstellung und die Verwaltung von Bildschirmunterbereichen zusammengefasst. Hierzu zählen neben den oben genannten „dedicated zones“ als privater Bereich auch öffentliche Zonen, in denen alle beteiligten Personen Objekte ablegen und bearbeiten können. Darüber hinaus soll es 23 3 Untersuchung von Widgets möglich sein, den Bildschirmbereich in kleinere Unterbereiche teilen zu können, wobei jeder Unterbereich die Funktionalität eines eigenständigen Tabletop-Systems übernimmt. Schließlich wird im Bereich des „Multi-user support“ der Bedarf nach Menüs beschrieben, die sich für jede beteiligte Person duplizieren lassen, um auch dem Problem der Erreichbarkeit zu begegnen. Darüber hinaus gibt es die allgemeine Forderung nach Techniken zur Unterstützung der nebenläufigen Arbeit mehrerer Beteiligter (Shen et al., 2004). 3.3.3 Weitere Anwendungsfelder von Widgets Zusätzlich zu ihrer Aufgabe als „Problemlöser“ für die Anforderungen an Multi-TouchDisplays werden Widgets überdies auch genutzt, um die Funktionsvielfalt zu erhöhen und um die Effizienz der Bedienung zu steigern. Die Forschung konzentriert sich dabei vor allem auf die als wirtschaftlich vielversprechend angesehenen Anwendungsbereiche. Eine Studie von Benko, Morris, Brush und Wilson (2009) erforschte die Anwendungsfelder interaktiver Tabletop-Systeme von erfahrenen Benutzern. Dabei belegten die Betrachtung von Unterhaltungsmedien (36%) und die kooperativen Arbeiten (31%), wie beispielsweise Brainstorming, die Spitzenplätze. Diese Ergebnisse sind in Einklang mit der Bewertung der Angemessenheit eines Tabletop-Systems zur Lösung einer spezifischen Aufgabe. Auch hier wurden Entertainment, Visualisierung und kooperative Aufgaben als „sehr geeignet“ zur Lösung mit Tabletop-Systemen bewertet. Daraus folgt indirekt die Anforderung an die Forschung, entsprechende Widgets zur Erleichterung dieser Tätigkeiten zu entwickeln, welche insgesamt von den technischen Vorteilen der Multi-Touch-Tische profitieren können und welche auch in der klassischen Mensch-Computer-Interaktion noch nicht entworfen wurden. Denkbar wäre beispielsweise ein Widget im Groupware-Umfeld, welches Steuerungsmöglichkeiten für den öffentlichen Bereich des Displays enthält und sich über Gesten unter den Teilnehmern weiterreichen lässt. Auf diese Weise kann die Konsistenz der Arbeitsergebnisse sichergestellt werden und gleichzeitig würde dem Problem der Erreichbarkeit von GUI-Elementen begegnet. 24 3.4 Aktivierung von Widgets 3.4 Aktivierung von Widgets Wie bereits in Kapitel 2.4 beschrieben, besitzen Widgets die beiden Zustände „aktiv“ und „inaktiv“. Während das Widget im aktiven Zustand Benutzereingaben entgegennimmt und Funktionen ausführen kann, nimmt es im inaktiven Zustand keine Eingaben entgegen und ist daher ausgeblendet. Um zwischen diesen beiden Zuständen zu wechseln, also entweder das Widget auf Anforderung anzeigen zu lassen oder auszublenden, werden verschiedene Techniken eingesetzt. Diese Routinen und die Probleme im Entwurf von Aktivierungsmechanismen sollen im Folgenden näher erläutert werden. Grundsätzlich lassen sich die Aktivierungsmöglichkeiten von Widgets in zwei Klassen unterteilen – die automatische, anwendungsgesteuerte Aktivierung und die durch eine Benutzeraktion angeforderte, manuelle Aktivierung. In die Klasse der benutzergesteuerten Aktivierung von Widgets fallen einerseits statische Finger- und Handhaltungen (engl.: postures) und andererseits dynamische Gesten (engl.: gestures). Außerdem gibt es die Möglichkeit, Widgets über physische Objekte auf der TouchOberfläche - sogenannte Tangible User Interfaces – zu aktivieren. 3.4.1 Automatische (De-)Aktivierung Erstere Klasse wird in produktiven Systemen überwiegend zur Deaktivierung von Widgets genutzt. Häufig ist durch den Anwendungszweck des Widgets im Vorfeld bekannt, dass nach der Ausführung einer durch das Widget bereitgestellten Funktion selbiges Widget im Anschluss deaktiviert werden kann, da ein Anwendungsschritt beendet wurde. Dies ist vor allem bei single-purpose Widgets der Fall, welche beispielsweise für die Auswahl einer Datei oder eine einzelne Eingabe zuständig sind. Die automatische Aktivierung von Widgets kann beispielsweise durch einen Moduswechsel des Anwendungsprogramms, vom Betrachtungs- in den Bearbeitungsmodus, ausgelöst werden. Eine besondere Form stellt die automatische Aktivierung durch externe Ereignisse dar. Viele interaktive Tabletop-Systeme können neben Berührungspunkten auch auf der Bildschirmoberfläche abgestellte Gegenstände erkennen. Auf diese Weise kann ein Widget beispielsweise auf die Verdeckung von Informationen durch einen Gegenstand automatisch reagieren. 25 3 Untersuchung von Widgets Bei der automatischen (De-)Aktivierung von Widgets entstehen kaum Probleme in der Interaktion des Benutzers mit dem Tabletop-System, da entsprechende Steuerelemente je nach aktuellem Anwendungszustand ein- und ausgeblendet werden. Eine große Einschränkung dieser Technik besteht aber darin, dass hierfür eindeutige Workflows und Regeln für die Zeitpunkte der Aktivierung und Deaktivierung von Widgets existieren müssen. Diese Eindeutigkeit ist in den wenigsten praktischen Fällen gegeben, weshalb die automatische (De-)Aktivierung eine eher untergeordnete Rolle in der Forschung spielt. 3.4.2 Statische Haltungen Im Bereich der statischen Haltungen oder auch „static postures“ (Malik & Laszlo, 2004, S. 292) erwähnen Shen et al. (2006) vier unterschiedliche Kategorien von Aktionen. Dazu zählen bestimmte Haltungen der gesamten Hand, einfache Berührungen der Finger, Posen mit einer gewissen Verweilzeit der Finger auf dem Display oder eine spezifische Anzahl aufeinanderfolgender Berührungen des Bildschirms. Für jede dieser Aktionen lassen sich dabei verschiedene Parameter festlegen, welche nötig sind, um das entsprechende Widget zu aktivieren. Hierzu zählen beispielsweise die erforderliche Anzahl von Fingern, die zeitliche Abfolge der Berührungen oder die Entfernung der Berührungspunkte untereinander. 3.4.3 Dynamische Gesten Im Gegensatz zu den statischen Postures beinhalten Hand- und Fingergesten stets einen dynamischen Teil. In ihrer Forschung über Gesten im Rahmen digitaler Tabletop-Systeme nennen Wobbrock, Morris und Wilson (2009) die vier zentralen Dimensionen „form, nature, binding and flow“ (S. 1086) für die Klassifizierung von Gesten. Die Eigenschaft „form“ bezieht sich dabei auf die Art der Bewegung während der Geste, unterschieden in Positionsänderungen der Hand oder der Bewegung einzelner Finger. Der Begriff „nature“ definiert die Beschaffenheit der Geste. Diese kann der Form eines Symbols nachempfunden sein (beispielsweise das Zeichnen eines Fragezeichens, um die Hilfefunktion aufzurufen), eine Metapher abbilden oder abstrakter Natur sein. Die Eigenschaft „binding“ beschreibt, ob die Geste auf einem Objekt ausgeführt wurde, eine Bindung zum Ort der Ausführung besitzt oder unabhängig von Objekten oder Ausführungsposition ist. Schließlich schildert die Dimension „flow“, ob die Geste bereits eine direkte Rückmeldung während der Ausführung auslöst oder ob erst mit Abschluss der Geste eine Funktion ausgeführt wird. 26 3.4 Aktivierung von Widgets 3.4.4 Tangible User Interfaces Die technologische Realisierung von Tangible User Interfaces variiert je nach Forschungsgruppe. Meist wird eine Kamera, die sich unterhalb der Projektionsoberfläche des Multi-Touch-Tisches befindet, dazu eingesetzt die unterschiedlichen Tangible Bits zu erkennen. Dies geschieht durch eine eindeutige Markierung, welche an der Unterseite der Tangibles angebracht ist. Sobald der Benutzer also ein dementsprechend ausgestattetes Interaktionselement auf die Tischoberfläche legt, wird dieses erkannt und das System kann automatisch ein dazugehöriges Widget aktivieren. Diese Aktivierungsmöglichkeit benötigt somit keinen weiteren Lernaufwand auf Seiten der Benutzer und birgt auch nicht die Risiken einer versehentlichen Aktivierung. Auf der anderen Seite entstehen durch diese Techniken auch neue Herausforderungen, wie beispielsweise die Entscheidung wie viele unterschiedliche Tangible User Interfaces für ein Anwendungsszenario eingesetzt werden sollten. 27 3 Untersuchung von Widgets 3.5 Klassifikation In diesem Abschnitt befasse ich mich mit der Klassifikation von Widgets, welche ein zentraler Bestandteil dieser Arbeit ist. Dafür werde ich Forschungsarbeiten um die Themen Multi-Touch-Interaktion und interaktive Tabletop-Systeme analysieren und im Hinblick auf die Interaktionstechniken untersuchen. Mein Ziel ist es dabei, wesentliche wiederkehrende Interaktionsprobleme aufzudecken und die Widgets, welche diesen Problemen begegnen, verschiedenen Klassen zuzuordnen. Forschergruppen um Buxton, Morris (beide Microsoft Research), Shen (MERL) und Weitere entwickelten im Rahmen ihrer Forschung im Bereich der interaktiven TabletopSysteme sowohl eine Reihe an kompletten geschlossenen Systemen, als auch eine Vielzahl atomarer Widgets für jeweils eine spezifische Problemstellung. Zusätzlich werden über Konferenzen, wie der jährlichen „ACM International Conference on Interactive Tabletops and Surfaces“, weitere Beiträge zur Widget-Interaktion publiziert. Gerade diese Vielfalt an angebotenen Widgets stellt allerdings ein Problem für Entwickler und Anwender gleichermaßen dar. Durch fehlende Standardisierung und das Fehlen eines zentralen Anlaufpunktes oder Verzeichnisses bisheriger Arbeiten ist es schwierig, einen Überblick über den aktuellen Forschungsstand zu bekommen. Mögliche Anwender können beispielsweise Schwierigkeiten haben, ein geeignetes Widget für ihre Problemstellung zu finden. Entwicklern fehlt hingegen ein Anhaltspunkt darüber, welche Bereiche bereits über ausreichende Lösungen verfügen. 3.5.1 Verwandte Arbeiten Dachselt (2004) leistete im Rahmen seiner Dissertation bereits eine Klassifikation von 3D-Widgets. Dies sind Widgets, welche speziell auf den Einsatz in VR-Applikationen (Virtuelle Realität) entworfen wurden. Die Klassifikation erfolgte dabei nach dem Kriterium „Einsatzbereich / Interaktionsziel“ (Dachselt, 2004, S. 58). Als Hauptkategorien wurden die Punkte „3D-Objektselektion“, „Objektmanipulation“, „Exploration und Visualisierung“ und „Anwendungskontrolle“ festgelegt (Dachselt, 2004, S. 59). 28 3.5 Klassifikation Diese Einordnung ist für meine Arbeit insofern nützlich, da sie neben reinen 3DInteraktionstechniken auch einige Konzepte von 2D-Widgets enthält, welche ohne größere Anpassungen für den Einsatz in VR-Umgebungen verwendet werden können. Außerdem ermöglicht mir die Arbeit von Dachselt die Übernahme einiger Anwendungsszenarien, die gleichermaßen in der 2D- und 3D-Interaktion vorhanden sind. 3.5.2 Systematik Um ein geeignetes Kriterium für die Klassifikation zu bestimmen, müssen zum einen das angestrebte Ziel und zum anderen die Eigenschaften der Widgets selbst betrachtet werden. Da mein Klassifikationsergebnis primär für Entwickler neuer Interaktionsmethoden hilfreich sein soll, verwende ich im Folgenden das, schon von Dachselt eingesetzte, Klassifikationskriterium nach Einsatzbereich bzw. dem Interaktionsziel des Nutzers. Dies bezieht sich auf „die generelle Teilaufgabe und das beabsichtigte Ziel einer Handlung […] ohne auf technische Teilhandlungen einzugehen. Dieses Kriterium entspricht am ehesten einer pragmatischen Herangehensweise, wo Ziele verfolgt werden, wie z.B.: die Auswahl eines Objektes.“ (Dachselt, 2004, S. 58). Eine ermittelte Klassifikation (beispielsweise „Objektselektion“) kann dann, je nach Problemfeld spezifiziert werden („Pixelgenaue Selektion“). Diese Klassifikation stützt sich in gewisser Weise also auch auf die, vorab in diesem Kapitel aufgezählten, Herausforderungen und Problemfelder der Widget-Interaktion. Meine Klassifikation wird sich dabei auf die Kernbereiche der interaktiven TabletopSysteme fokussieren. Dazu zählen neben dem kooperativen Arbeiten, die auf TouchEingaben angepasste Anwendungssteuerung, sowie die Selektion einzelner Objekte. Widgets, die innerhalb einer Spezialanwendung angeboten werden, werden für diese Kategorisierung nicht betrachtet. Hierfür müssten zuerst einheitliche Kriterien zur Auswahl dieser Anwendungen aufgestellt werden. Außerdem sind die innerhalb einer Anwendung verwendeten Widgets häufig nicht zentral dokumentiert, was eine Aufnahme in die Menge der zu analysierenden Widgets ausschließt. 29 3 Untersuchung von Widgets 3.5.3 Vorstellung der Kategorien Durch meine Wahl des Interaktionsziels als Klassifikationskriterium ist es sinnvoll, die bereits ausgearbeiteten Anwendungsdomänen von Widgets im Tabletop-Umfeld auf Berührungspunkte zu untersuchen und gleichzeitig mit den, von Dachselt festgelegten, Kategorien abzugleichen. Eine Übernahme der Kategorien Objektselektion und Anwendungskontrolle erscheint logisch, da sich diese mit den gefundenen Anwendungsdomänen decken. Als dritte Hauptkategorie für meine Klassifikation wähle ich die Unterstützung von Widgets bei der kooperativen Arbeit aus, weil dieser Bereich bereits als treibende Kraft des Erfolgs interaktiver Tabletop-Systeme herausgestellt wurde. Die nachfolgende Tabelle gibt einen Überblick über die Kategorien. Alle Unterpunkte stehen stellvertretend für einen Problembereich in der Interaktion, der durch Widgets gelöst werden kann. Diese Unterpunkte sind das Ergebnis der Analyse der betrachteten Forschungsergebnisse. Objektselektion Pixelgenaue Selektion Selektion bei Okklusion Distanzselektion Anwendungskontrolle Menü-Navigation Texteingabe Spezielle Werteingaben Kooperative Arbeit User-Identifikation Raum-Management Tabelle 1: Widget-Klassen und ihre Unterkategorien In der folgenden Klassifikation werde ich zunächst die jeweilige Hauptkategorie hinsichtlich ihrer Relevanz erläutern. Danach nenne ich die zu dieser Kategorie gehörenden Elemente, wobei diese analog zur Rolle der Widgets als „Problemlöser“ ausgearbeitet werden. Abschließend folgt eine Übersichtstabelle mit beispielhaften Widgets, welche diesen Unterpunkten zuzuordnen sind. 30 3.5 Klassifikation 3.5.4 Objektselektion Die Objektselektion gehört zu den am häufigsten ausgeführten Aktionen im Multi-TouchBereich und ist eine Ausgangssituation vieler weiterer Aktionen. Die pixelgenaue Selektion stellt aufgrund der Tatsache, dass der zur Auswahl eingesetzte Finger meist den Zielpunkt der Selektion verdeckt, ein Problemfeld der Touch-Interaktion generell dar. Als Technik für pixelgenaue Selektion von Inhalten wird beispielsweise die Shift-Technik (Vogel & Baudisch, 2007) eingesetzt. Sobald der Benutzer eine Position auf dem Bildschirm für einen kurzen Zeitraum auswählt, erscheint eine Lupe mit einem einstellbaren Versatz (Shift) zum Berührungspunkt, welche den Bereich um den ausgewählten Punkt vergrößert darstellt. Als Hilfe bei der Orientierung zeigt ein kleines Fadenkreuz die aktuell registrierte Position der Interaktion an. Somit wird die gewohnte und erlernte Situation bei der Mausbedienung wiederhergestellt und eine pixelgenaue Selektion ermöglicht. Neben der Shift-Technik werden auch virtuelle Buttons als Unterstützung verwendet. Albinsson und Zhai (2003) stellten eine Implementierung für virtuelle Buttons vor, bei der sich bei Bedarf ein Fadenkreuz mit Pfeiltasten am äußeren Rand einblenden lässt (Albinsson & Zhai, 2003). Dabei bewegt jede Betätigung eines Buttons das Zentrum des Kreuzes um einen Pixel in die gewünschte Richtung. Abbildung 8: Möglichkeit der pixelgenauen Auswahl über das Widget „Cross Keys“ (Albinsson & Zhai, 2003). Die Kategorie der Okklusionsselektion umfasst neben der Verdeckung von Bildschirmobjekten Bildschirmoberfläche durch den Anwender befindlichen auch physischen den Umgang Objekten, wie mit auf der beispielsweise Aktenordnern. Während erstgenannte Okklusion durch die bereits genannte Shift-Technik behandelt werden kann, beschreibt SnapRail (Furumi, Sakamoto & Igarashi, 2012) eine Lösung, die 31 3 Untersuchung von Widgets Selektion bei Verdeckung von Items durch physische Objekte ermöglicht. Sobald ein Objekt auf der Bildschirmoberfläche platziert wird, erscheint ein navigierbarer Kreis um das Objekt, welcher die verdeckten Elemente enthält. Widgets zur Distanzselektion gewinnen an Bedeutung, je größer die Ausmaße der Tabletop-Systeme werden. Die eingesetzten Techniken reichen von einer einfachen „Armverlängerung“ in Form eines versetzten Cursors zu Widgets, die ein gezieltes Heranziehen des anvisierten Objekts wie ein Lasso ermöglichen. 32 3.5 Klassifikation Klasse: Objektselektion Kategorie Pixelgenaue Selektion Widget Shift Cross-Keys Abbildung Okklusionsselektion SnapRail Referenz Albinsson & Zhai, 2003 Statische Haltung Furumi et al., 2012 1 Finger Der Nutzer zeichnet einen Kreis um das auszuwählende Objekt. Ein Tippen in den Kreis blendet das Fadenkreuz und die Steuerelemente ein. 1 Finger Sobald ein Gegenstand (hier: Tasse) auf Objekten platziert wird, ordnen diese sich auf einem Ring um das Objekt an. Aktivierung Vogel & Baudisch, 2007 Statische Haltung Eingabeform 1 Finger Info Ein Verweilen des Fingers auf einer Position (a) öffnet ein Ausschnittsfenster mit Zielmarkierung mit einem gewissen Versatz (b) Automatisch I-Grabber Distanzselektion HandyScope Abednego, Lee, Moon & Park, 2009 Dynamisch 2 Hände, 2 Finger Nach zwei adjazenten Taps (mit Entfernung von maximal 20cm) wird ein Greifarm aktiviert. Während der Finger an der Wurzel des Greifarms durchgehend gehalten wird, lässt sich der Arm über den anderen Finger steuern. Sobald ein Finger angehoben wird, selektiert der Greifarm das darunterliegende Objekt. Kuribara, Yoshikawa, Shizuki & Tanaka, 2014 Statische Haltung + Geste 2 Hände, 3 Finger Die linke Hand aktiviert über eine statische Haltung mit Daumen und Zeigefinger das Widget (a). Über einen Finger der anderen Hand lässt sich nun eine Art Fernglas einblenden, welches entfernte Bildschirmregionen anzeigt (b). 33 3 Untersuchung von Widgets 3.5.5 Anwendungskontrolle Die Klasse der Anwendungskontrolle beschreibt alle Vorgänge zur Interaktion mit einer Anwendungssoftware und der Dateneingabe innerhalb dieser Anwendung. Ein zentraler Bestandteil ist dabei die Menü-Navigation. Dies ist eine besondere Herausforderung bei Tabletop-Systemen, da der Aktionsradius des Benutzers – den er ermüdungsfrei bedienen kann – nicht den kompletten Bildschirmbereich abdeckt. Widgets zur Distanzselektion könnten hier zwar verwendet werden, lösen aber oftmals nicht das Problem der Lesbarkeit entfernter Menüpunkte. Shneiderman entwickelte mehrere Menü-Techniken, die speziell auf einen geringen Platzbedarf ausgelegt sind und sich so für eine Umsetzung als Widget, welches im unmittelbaren Interaktionsradius des Nutzers angezeigt werden kann, eignen (Shneiderman & Plaisant, 2010, S. 244–287). Die Nutzung von bloßen Fingern zur Texteingabe gilt als unzulänglich (Ryall, Forlines, Chia Shen, Morris & Everitt, 2006, S. 93). Auf der anderen Seite werden aber auch die Vorteile von dynamisch darstellbaren On-Screen-Tastaturen genannt. So könne die Anzahl von Fehleingaben verringert werden, indem nur die aktuell gültige Menge der Eingabesymbole angezeigt wird (beispielsweise bei E-Mail-Adressen). Auch die Benutzerfreundlichkeit kann durch skalierbare und anpassbare Tastatur-Widgets gesteigert werden. Grundsätzlich werden Tastatur-Widgets der Kategorien „Soft Keyboards“, die Eingaben über gewohntes Tippen ermöglichen, und „Gesture-based Keyboads“, die Wörter über durchgehende Wischbewegungen erkennen, unterschieden (Hinrichs, Schmidt, Isenberg, Hancock & Carpendale, 2008). Spezielle Werteingaben, die über alphanumerische Eingaben hinausgehen, sind eine Kategorie, in welcher Widgets ihre Stärken gegenüber der Maus- und Tastaturbedienung ausspielen können. Anstelle der Farbauswahl über einen Mausklick auf eine Farbfläche können hier beispielsweise natürlichere Selektionen über den Einsatz der Finger verwendet werden. 34 3.5 Klassifikation Klasse: Anwendungskontrolle Kategorie Menü-Navigation Widget Swiss Army Menu Texteingabe Hierarchical Square Menu BubbleQwerty Cirrin Ahlström, Cockburn, Gutwin & Irani, 2010 Automatisch 1 Hand, 1 Finger Die Aktivierung erfolgt bei Auswahl eines Hauptmenüpunktes. Jede Hierarchieebene ist versetzt zur darüber liegenden Ebene angeordnet, sodass auch eine AufwärtsNavigation möglich ist. Hinrichs et al., 2008 Mankoff & Abowd, 1998 Automatisch 1 Hand, 1 Finger Der Benutzer schreibt ein Wort, indem er die entsprechenden Buchstaben über eine Wischbewegung abfährt. Anhand einer Heuristik werden passende Eingaben erkannt. Spezielle Werteingaben Music Mixing Surface Abbildung Referenz Bonnet & Appert, 2011 Aktivierung Statische Haltung Eingabeform 1 Hand, 1 Finger Info Die Aktivierung des Menüs ist über einen doppelten Tap oder eine Geste möglich. Zentrale Elemente sind der Puck (rot) und das umgebende Gummiband. Ein Menüitem wird durch verschieben des Pucks selektiert. Automatisch 1 Hand, 1 Finger Die Tastatur vergrößert nach Eingabe des ersten Buchstaben die statistisch wahrscheinlichsten Nachfolgebuchstaben. Durch die Transparenz ist es trotzdem möglich, Buchstaben nahe der vergrößerten Elemente auszuwählen. Gelineck, Andersen & Büchert, 2013 Dynamisch 1 Hand, 1 Finger Jede Tonspur verfügt über ein InstrumentenWidgets. Darüber lassen sich zugehörige Eigenschaften durch Wischbewegungen verstärken oder verringern. 35 3 Untersuchung von Widgets 3.5.6 Kooperative Arbeit Einer der Haupteinsatzzwecke für Tabletop-Systeme besteht in der Arbeit mehrerer Personen hinsichtlich einer gemeinsamen Aufgabenstellung. Lösungen in Form von Widgets für diese kooperative Arbeit reichen von Techniken, die eine geschickte Zusammenstellung von Informationen ermöglichen, zu kompletten Systemumgebungen, die auf mehrere Ebenen der Gruppenarbeit ausgelegt sind. Wichtig für den Erfolg dieser Lösungen ist eine flüssige und zielführende Bedienung. Deshalb konzentrieren sich viele Widgets auf die grundsätzlichen Anforderungen, wie der Unterscheidbarkeit von Touch-Eingaben durch mehrere Akteure oder der sinnvollen Aufteilung der Bildschirmfläche. Lösungen zur Unterstützung der Unterscheidbarkeit der beteiligten Personen reichen von einer simplen farblichen Hervorhebung von Pointern bis hin zu Widgets mit einer vollständigen Rechteverwaltung. Während eine farbliche Unterscheidung bei den Benutzern primär ein Bewusstsein über die Aktivitäten ihres Teams erzeugt, ermöglicht eine Rechteverwaltung im Groupware-Szenario beispielsweise eine Aufteilung in eine Personengruppe, die Informationsitems suchen und einreichen darf, und Moderatoren, die diese Items dann in ein Ergebnisdokument einfügen können. Mithilfe von Widgets zum Raum-Management wird versucht, eine mögliche Unordnung, erzeugt durch eine Vielzahl von Elementen auf der Bildschirmfläche, zu verhindern. Eine statische Lösung teilt den Bildschirm in feste private Gebiete und eine gemeinsam nutzbare Fläche auf. Die privaten Bereiche unterstützen einzelne Gruppenmitglieder dabei, alternative Lösungen zu erarbeiten oder Nebenaufgaben zu lösen. Durch eine klare Kennzeichnung der Bereiche spiegeln die darin liegenden Items einen Eigentums-Status wieder, wodurch Zugriffs-Konflikte vermieden werden. Daneben existieren dynamische Techniken, die eine temporäre Bindung oder Weitergabe von Widgets an Benutzer anbieten. So wird eine effiziente Ausnutzung des Bildschirms gewährleistet, da nicht jeder Teilnehmer ein eigenes vollständiges Widget-Toolset benötigt. 36 3.5 Klassifikation Klasse: Kollaborative Arbeit Kategorie Widget MAUI Toolkit Abbildung User-Identifikation iDwidgets Raum-Management Table-for-N (aus iDwidgets) TeamTag Referenz Hill & Gutwin, 2003 Ryall et al., 2005 Ryall et al., 2005 Aktivierung Eingabeform Beschreibung Automatisch 1 Hand, 1 Finger Jeder Benutzer bekommt eine Farbe zugewiesen, sodass seine Aktionen eindeutig zugeordnet werden können. Automatisch 1 Hand, 1 Finger Jeder Benutzer bekommt eine Farbe zugewiesen. Die Leiste unterhalb eines jeden Items zeigt an, welche Benutzer Rechte zur Bearbeitung des Items haben. Automatisch 1 Hand, 1 Finger Anhand der Nutzerzahl (hier: 2) wird der Bildschirm in mehrere private (grün und pink), sowie einen öffentlichen Bereich (grau) aufgeteilt. Morris, Paepcke, Winograd & Stamberger, 2006 Automatisch 1 Hand, 1 Finger Die Bedienelemente sind zentralisiert angeordnet und lassen sich Benutzern zuweisen, um Platz zu sparen 37 3 Untersuchung von Widgets 3.6 Leitfaden für den Widget-Entwurf Nachdem nun in diesem Kapitel näher auf die Charakteristiken von Widgets für MultiTouch-Systeme eingegangen wurde und eine Klassifizierung von Widgets beschrieben wurde, folgt nun eine Orientierungshilfe, die den Entwicklungsprozess bei der Erstellung eines neuen Widgets beschreibt. Für den Erfolg eines Widgets lassen sich offenkundig keine einzelnen Schlüsselfaktoren erkennen. Vielmehr muss das Endprodukt als Einheit von den späteren Anwendern als nützlich, intuitiv und vor allem flüssig zu bedienen eingeschätzt werden. Um dies zu erreichen, lassen sich drei Abschnitte definieren. Diese finden sich in ähnlicher Art auch in einem Microsoft-Leitfaden über die Entwicklungen von Multi-TouchApplikationen für den interaktiven Surface-Tisch. Dabei beginnt der Entwicklungsvorgang mit Grundgedanken („Key Considerations“) über das intendierte Ziel und die Zielgruppe des Widgets. In einem zweiten Schritt erfolgt dann die Ausgestaltung der Visuellen Darstellung („Design Principles“). Abschließend kann der Entwurf dann anhand der Zielvorstellungen implementiert werden (Microsoft Corporation, 2011). In den folgenden Abschnitten werde ich auf den genauen Ablauf und die Überlegungen innerhalb dieser drei Abschnitte näher eingehen. 3.6.1 Grundgedanken Der Charakter eines Widgets als Problemlöser wurde bereits in diesem Kapitel thematisiert. Auch die Grundüberlegungen beim Entwurf eines neuen Widgets sollten sich deshalb um das zu erreichende Ziel der Interaktion drehen. Außerdem spielt es eine wichtige Rolle, in welcher Umgebung das Widget eingesetzt werden soll. Die Designentscheidungen sind also stets anhand der Fragestellungen „Welches Problem soll das Widget lösen?“ und „In welchem Umfeld, bezüglich der Hardware und des Benutzerkreises, wird das Widget verwendet?“ auszurichten. Eine generelle Entscheidung ist, ob die zu entwickelnde Lösung ein single- oder multipurpose Widget darstellen soll. Beispielsweise können Funktionalitäten aus verwandten Problembereichen in das Endprodukt aufgenommen werden. Ein Vorteil der multipurpose Widgets ist, dass durch den größeren abgedeckten Problembereich eine größere 38 3.6 Leitfaden für den Widget-Entwurf Relevanz des Widgets erzielt wird. Außerdem reduziert sich im Idealfall die Anzahl der gleichzeitig anwendbaren Techniken auf dem Zielsystem, weil Widgets mit geringerem Funktionsumfang ersetzt werden können. Die gestiegene Komplexität kann allerdings auch Nachteile mit sich bringen. Für Anwendungsszenarien, die den gestiegenen Funktionsumfang nicht benötigen, ist die Bedienung komplexer, als eigentlich nötig. Ferner ist es sinnvoll, sich einen Überblick über vorhandene Lösungen aus dem angestrebten Problembereich zu verschaffen. Hierfür kann auch die in Abschnitt 3.5 gefundene Kategorisierung hilfreich sein. Je nach Dichte der bereits vorhandenen Werke ist es möglich auf diesen Ideen aufzubauen. Dies führt zu einer größeren Einheitlichkeit und unterstützt die Entstehung von Konventionen für die Gestaltung von Widgets. In der aktuell vorherrschenden Situation gibt es zwar eine gewisse Konsistenz innerhalb einzelner Forschungsgruppen, allerdings sind die Interaktionsmuster von Widgets zwischen diesen Gruppen oftmals nicht einheitlich. Auf der einen Seite verstärkt dies natürlich die Innovation, für den Anwender dagegen wird es erschwert sich einen Überblick über die eigenen Möglichkeiten zu verschaffen, da sich die Widgets unterschiedlich verhalten. Abschließend ist anzumerken, dass nicht zwingend alle Zielvorstellungen erreicht werden können. Beispielsweise kann ein Widget, welches auf die Benutzung in Einzelarbeit ausgelegt ist, nicht gleichermaßen in einer kooperativen Umgebung eingesetzt werden. Dies wird auch als Zielkonflikt zwischen dem individuellen und dem Gruppennutzen beschrieben (Nacenta, Pinelle, Gutwin & Mandryk, 2010, S. 305). 3.6.2 Widget-Design Sobald die grundsätzlichen Überlegungen für die Ausrichtung des Widgets abgeschlossen wurden, kann mit der Planung des Widget-Designs begonnen werden. Dazu gehören neben Überlegungen zum Aussehen der Steuerelemente auch die Art und Weise der Aktivierung des Widgets und das Motion Design – also die Ausgestaltung der Interaktion des Anwenders mit dem Widget. Prinzipiell können die traditionellen Gestaltungsgrundlagen für die „Benutzungsschnittstellen von interaktiven Systemen“ (ISO 9241-110:2006) aufgegriffen werden. Hierzu zählen die Aufgabenangemessenheit, Selbstbeschreibungsfähigkeit, Lernförderlichkeit, Steuerbarkeit, Erwartungskonformität, Individualisierbarkeit und 39 3 Untersuchung von Widgets Fehlertoleranz. Nachfolgend werden die genauen Auswirkungen dieser Anforderungen auf die drei Design-Prozesse erläutert. Visuelle Gestaltung. Das Design der Steuerelemente eines Widgets ist deshalb wichtig, weil das Widget innerhalb einer spezifischen Anwendungsaufgabe ausgeführt wird. Es darf sich also für den Benutzer im Kontext dieses Workflows nicht fremd, sondern flüssig in Bezug auf die Aufgabenerledigung, anfühlen. Diese flüssige Bedienung wird auch als konsistentes und angenehmes Erlebnis beschrieben (Microsoft Corporation, 2011, S. 6). Der Gesamteindruck kann dabei durch die Einhaltung einzelner Regeln erzielt werden. Zu diesen Regeln gehören ein einfaches und klares Design der Interaktionselemente, ein hierarchischer und strukturierter Aufbau und eine aufgabenzentrierte Darstellung, die zum Erforschen einlädt. Aktivierung. Widgets werden auf interaktiven Tabletop-Systemen meist in einer Umgebung zusammen mit einigen weiteren Anwendungen mit Multi-TouchBedienung ausgeführt. Deshalb ist es wichtig, einen Überblick über das geplante Zielsystem zu bekommen. Auf diese Weise können mögliche Interferenzen mit bereits vorhandenen Interaktionsformen vermieden werden. Denn Widgets befinden sich einen Großteil der Zeit im inaktiven Zustand – sie sind also für den Anwender nicht sichtbar und warten auf eine Aktivierung in Form einer statischen Handhaltung oder Geste. Es kann nun der Effekt auftreten, dass zwei Widgets auf die gleiche Geste reagieren und somit der Anwender verwirrt wird. Außerdem muss eine geeignete Balance zwischen den Parametern Einfachheit und Eindeutigkeit gefunden werden. Je einfacher ein Widget aktiviert werden kann, desto größer ist die Gefahr, überschneidende Aktionen innerhalb der Systemumgebung zu erzeugen. Auf der anderen Seite erzeugt eine komplexere Aktivierungsaktion unnötige Barrieren und einen erhöhten Lernaufwand auf der Seite der Benutzer. Motion Design. Unter dem Punkt Motion Design ist die gesamte Interaktion mit dem aktiven Widget, vor allem aber die für die Bedienung auszuführenden Gesten zusammengefasst. Da die Akzeptanz eines Widgets stark mit dem Nutzerbedürfnis nach einer flüssigen und natürlichen Multi-Touch-Bedienung verbunden ist, sollte 40 3.6 Leitfaden für den Widget-Entwurf auf das Design der Interaktionsmuster einer Anwendung – auch „gesture set“ genannt - besonders geachtet werden (Benko et al., 2009). Kin (2012) untersuchte Interaktionsmuster in allgemeiner seiner Arbeit Studien sowohl Multi-Touch-Applikationen, als über die auch die Bedienung von interaktiven Tabletop-Systemen und erarbeitete daraus einige Designrichtlinien (Kin, 2012, S. 22-23 und 61-63). So wird empfohlen, das Nutzungsverhalten des Widgets zu analysieren und für die am häufigsten benötigten Operationen die einfachsten Gesten zu verwenden. Die Bewegung während der Geste solle darüber hinaus eine Verbindung zum Effekt der Handlung haben, sodass die Anwender sich bereits über das Interaktionsziel an die Geste erinnern können. Die Verwendung von bis zu zwei Fingern je Hand verbessere die Effizienz, wobei die Unterstützung von Gesten mit mehr als zwei Fingern je Hand keinen weiteren Vorteil biete. Interaktionen mit mehreren Fingern einer Hand sollten außerdem primär dazu eingesetzt werden, um mehrere Funktionen unterscheiden zu können, als zur Auswahl mehrerer unabhängiger Ziele. Abschließend wird eine Einschränkung auf höchstens eine Operation zu jedem Zeitpunkt empfohlen, da der Mensch stets auf eine bestimmte Position fokussiert ist (Raskin, 2000). Dies verringert zudem die Komplexität für die anschließende Implementierung. 3.6.3 Implementierung In einem letzten Schritt erfolgt die Umsetzung des Entwurfs über die Implementierung des Widgets. Eine Schwierigkeit besteht darin, dass im Vergleich zu klassischen DesktopAnwendungen nicht nur eine Maus als Pointing-Device verarbeitet werden muss, sondern auf umfassendere Touch-Events reagiert werden muss. Diese können nicht nur durch Finger, sondern auch die Unterarme der Anwender, sowie physische Gegenstände auf der Bildschirmoberfläche ausgelöst werden. Für die Implementierung gibt es mehrere Entwicklungs-Frameworks, die speziell auf die Anforderungen von Multi-Touch-Systemen ausgerichtet sind. Ein Beispiel dafür ist das Microsoft Surface SDK, welches ich im folgenden Kapitel für die Entwicklung eines eigenen Widgets näher beschreiben werde. 41 42 4 Umsetzung eines eigenen Widgets Im vergangenen Kapitel wurde detailliert auf die Einsatzbereiche von Widgets eingegangen und es wurden beispielhafte Lösungen im Rahmen der Klassifizierung näher beschrieben. Nun soll ein neues prototypisches Widget für eine bisher unzureichend bearbeitete Problemstellung entworfen und entwickelt werden. Dazu werde ich im Folgenden zuerst die Grundgedanken für die neue Technik aufzeigen. Danach werden die einzelnen Bestandteile des Widgets, wie das Design und die Interaktionstechniken erläutert. Zudem wird die Phase der Implementierung dokumentiert. Abschließend folgt eine Auswertung darüber, inwieweit das entwickelte Widget die eingangs beschriebene Problemstellung löst. 4.1 Grundlagen 4.1.1 Idee „TidyUp“-Widget Die große Displayfläche eines Multi-Touch-Tisches verleitet dazu, vorübergehend nicht benötigte Elemente aus dem eigentlichen Aktionsbereich herauszuschieben und weit entfernt vom Benutzer abzulegen, um diese Elemente bei einem möglichen späteren Zugriff nicht erneut öffnen zu müssen. Dieses Vorgehen birgt die Gefahr, über die Zeit immer mehr Elemente auf der Bildschirmfläche anzusammeln, sodass die Arbeitsfläche zunehmend unübersichtlich wird. Außerdem lässt es sich bei manchen Aufgabenstellungen, wie dem Zusammentragen von Informationen, schlicht nicht vermeiden eine große Anzahl an Elementen gleichzeitig geöffnet zu haben. Diese Problemstellung greift Elemente der Kategorien Okklusion und Distanzselektion auf. Widgets, welche für diese beiden Bereiche entwickelt wurden, bieten allerdings keine befriedigende Lösung dieser Aufgabe. Sie gehen meist entweder auf ein einzelnes Element ein oder behandeln Aktionen in einem eingeschränkten Bereich des Bildschirms. Aus diesem Grund soll ein „TidyUp“-Widget entworfen werden, welches die Ordnung des Bildschirminhalts wiederherstellt. Dazu sollen sich alle auf dem Bildschirm sichtbaren Elemente schrittweise an eine festgelegte Position bewegen lassen. Darüber hinaus soll es möglich sein, die Elemente optional für eine übersichtliche Darstellung in eine Art Container zu verschieben. 43 4 Umsetzung eines eigenen Widgets 4.1.2 Entwicklungsumgebung Das Widget wird innerhalb einer Surface-Anwendung mit dem Microsoft Surface SDK 2.0 umgesetzt. Als Entwicklungsumgebung für die Implementierung kommt das Microsoft Visual Studio 2010 zum Einsatz. Das Surface SDK 2.0 schränkt zwar den Spielraum bei der Gestaltung der Benutzerschnittstelle ein, bietet aber auch Vorteile durch die bereits vorhandene Codebasis. So enthält die Windows Presentation Foundation (WPF), welche für die Ausgestaltung der GUI-Elemente verwendet wird, bereits an die Touch-Interaktion angepasste „Surface Controls“. Diese Steuerelemente besitzen grundlegende MultiTouch-Funktionalitäten, wodurch in der Entwicklung früher Ergebnisse sichtbar sind. Die Entwicklung der Programmlogik, welche das Funktionsspektrum des Widgets umfasst, wird in der Programmiersprache C# realisiert. 4.2 Gestaltung 4.2.1 Visuelle Gestaltung Für die grafische Darstellung des Widgets werden im Wesentlichen zwei Bestandteile benötigt. Der erste Teil ist ein Zielbereich, in welchen die geöffneten Elemente bewegt werden. Der Zielbereich wird durch einen hellblau gerahmten Kreis gekennzeichnet. Abbildung 9: Item innerhalb des Zielbereichs 44 4.2 Gestaltung Elemente, welche sich mit ihrem Zentrum innerhalb des Zielbereichs befinden, werden bei Ausführung einer Aufräum-Geste auf eine übersichtliche Art und Weise dargestellt. Hierfür wird die zweite grafische Komponente benötigt. Die Elemente aus dem Zielbereich sollen zur aufgeräumten Darstellung in einem Container abgelegt werden können. Bei der Gestaltung dieses Containers konnte auf Standard-Steuerelemente des Surface SDK zurückgegriffen werden. Die Wahl fiel hier auf die LibraryContainer-Klasse. Sie nimmt eine generische Collection an Items auf und kann diese Elemente dann in zwei umschaltbaren Ansichten darstellen – zum einen als Stapel (StackView) und zum anderen als Leiste mit nebeneinander angeordneten Elementen (BarView). Abbildung 10: Zwei Items in StackView-Ansicht (links) und fünf Items in BarView-Ansicht (rechts) Das Oberflächendesign beschränkt sich dabei, wie in den Design-Richtlinien gefordert, auf die Darstellung der wesentlichen Informationen und liefert ein konsistentes und einheitliches Erscheinungsbild. 4.2.2 Aktivierung des Widgets Ziel des Widgets ist es, in jedem Anwendungskontext eine Hilfestellung zu bieten. Eine Aktivierung soll also zu jeder Zeit möglich sein, sobald der Benutzer Elemente auf der Bildschirmfläche anordnet. Aus diesem Grund darf die Aktivierungsaktion nicht zu Konflikten mit gängigen Gesten oder Handhaltungen anderer Anwendungen führen. Daher habe ich mich dazu Entschlossen, eine Handhaltung mit fünf Fingern der linken Hand als Aktivierungshandlung zu verwenden (siehe Abbildung 11). Die Funktionalität des eigentlichen Widgets soll dann mit einem Finger der rechten Hand bewältigt werden. 45 4 Umsetzung eines eigenen Widgets Diese Rollenzuweisung der Hände im Rahmen der beidhändigen Interaktion wird bereits von Guiard vorgeschlagen. Während die nicht-dominante Hand den Rahmen der Handlung vorgibt, soll die dominante Hand die primäre Aktion ausführen (Guiard, 1987). Abbildung 11: Fünf-Finger-Handhaltung zur Aktivierung des Widgets Durch die Aktivierung über die Einbeziehung aller fünf Finger der linken Hand entsteht zugleich ein Platz unterhalb der Handfläche, der später für die organisierte Ablage der Elemente verwendet werden kann. Mit dem Anheben der linken Hand wird das Widget unmittelbar deaktiviert und unbeabsichtigte Eingaben werden verhindert. 4.2.3 Motion Design Bei der Ausführung einer bestimmten Geste sollen nun alle Elemente in mehreren Schritten langsam an den Interaktionspunkt der Geste herangeführt werden. Hierfür wurde eine Kreisgeste, die wahlweise im Uhrzeigersinn oder gegen den Uhrzeigersinn ausgeführt werden kann, ausgewählt. Diese Drehbewegung soll eine Analogie zur realen Welt, beispielsweise beim Einholen einer Angelschnur oder der Sogwirkung eines Wirbelsturms, wiederspiegeln. Denn die Akzeptanz einer Geste korreliert stark mit den mentalen Modellen auf Seiten der Benutzer und nicht unbedingt mit der Komplexität der Aktion oder der Anzahl der verwendeten Finger (Wobbrock et al., 2009). Daher sind Assoziationen zur realen Welt oder Metaphern ein geeignetes Mittel, um den Lernvorgang einer neuen Interaktionstechnik zu verbessern. 46 4.2 Gestaltung Abbildung 12: Drehbewegung im oder gegen den Uhrzeigersinn zum Heranziehen der Bildschirmelemente Zum Abschluss der Geste sollte es möglich sein, die nun herangezogenen Elemente in einen Container zu verschieben. An dieser Stelle wird die nicht dominante Hand, welche seit der Aktivierung des Widgets auf dem Touch-Display ruht, in die Aktion einbezogen. Über den Zeigefinger der rechten Hand muss dazu eine Wischbewegung vom Stapel der Elemente beginnend in die Handfläche der linken Hand hinein ausgeführt werden. Abbildung 13: Abschlussgeste zur Erstellung eines Containers mit den herangezogenen Elementen als Inhalt Diese Technik wurde von der Forschungsgruppe um Yoshikawa, Shizuki und Tanaka eingeführt und als Abschlussgeste in den Widgets HandyWidgets (2012) und HandyScope (2014) bereits erprobt. 47 4 Umsetzung eines eigenen Widgets 4.3 Architektur der Anwendung 4.3.1 Übersicht Das nachfolgende Klassendiagramm des „TidyUp“-Widgets bietet einen Einblick in die Architektur der Anwendung. Grün markierte Klassen wurden direkt aus dem Surface SDK 2.0 entnommen. Blau hinterlegte Klassen wurden eigenständig implementiert. Zur besseren Übersicht wurden Klassen und Attribute, die keinen direkten Bezug zur Problemstellung haben, ausgelassen. So kann detaillierter auf das Zusammenwirken der einzelnen Klassen eingegangen werden. 48 4.3 Architektur der Anwendung <<Enum>> TimedPoint SurfaceWindow MyGestureSet - touchID: int - p: Point - time: double + NONE + CIRCLE + FLICK_LEFT + TimedPoint(id: int, p: Point, time: double) + GetID(): int + GetPoint(): Point + GetTime(): double MainSurfaceWindow 0..* - isPosture: bool - isGestureReady: bool - AddItem(): void - ClearItems(): void - ShowPostureTooltip(): void posturePositions 0..5 holdPositions 0..* MyPostureRecognizer - isPosture: bool - DesiredFingers : int = 5 0..1 0..1 imagePool postureRecognizer MyImagePool - images: List<string> + GetImagePath(): string + GetPoolSize(): int + RemoveImagePath(imagePath: string): void MyGestureRecognizer ScatterViewItem targetArea + Content: object + TouchUp(sender: object, e: TouchEventArgs): void 0..* 0..1 0..1 gestureRecognizer 0..1 ScatterView 0..1 MyGestureHandler gestureHandler + TouchDown(sender: object, e: TouchEventArgs): void + TouchMove(sender: object, e: TouchEventArgs): void + TouchUp(sender: object, e: TouchEventArgs): void + HoldGesture(sender: object, e: TouchEventArgs): void + OnManipulationStarted(sender: object, args: RoutedEventArgs): void + OnCursorDrop(sender: object, args: SurfaceDragDropEventArgs): void - centerPosition: Point - points: List<Point> - referenceVector: Vector - circleProgress: Circle - lastAngle: double - isClockwise: bool + MyGestureRecognizer(center: Point): void + SetCenter(center: Point): void + AddPoint(p: Point): void + GetPointCount(): int + CheckGesture(): MyGestureSet + Reset(): void items DragDropScatterView + AddHoldPosition(fingerID: int, p: Point) : void + RemoveHoldPosition(fingerID int): void + IsPosturePerformed(): bool + GetHoldCount(): int + IsInsideHand(testPoint: Point): bool + Reset(): bool - CheckPosture(): bool + MyGestureHandler(scatterView, libraryContainer, targetArea) + HandleGesture(gesture: MyGestureSet, isPosture: bool, center: Point) + ItemsToPoint(p: Point): void + CreateLibraryContainer(itemsCenter: Point, Point desiredPosition): void 0..1 scatterView 0..1 scatterView libraryContainer 0..1 LibraryContainer 0..1 libraryContainer + ItemsSource: IEnumerable + Drop(sender: object, e: SurfaceDragDropEventArgs): void 49 4 Umsetzung eines eigenen Widgets 4.3.2 Beschreibung Die Klasse MainSurfaceWindow ist die Hauptklasse, welche beim Start die weiteren benötigten Komponenten initialisiert. Die Klasse selbst stellt mit dem Programmfenster den Anwendungsrahmen zur Verfügung. Der Grundaufbau der Anwendung besteht aus dem DragDropScatterView, welcher sich über das gesamte Programmfenster erstreckt. Dies ist eine Fläche, welche ScatterViewItems mit beliebigem Inhalt aufnehmen und darstellen kann. Die einzelnen ScatterViewItems besitzen auf diese Weise bereits grundlegende Multi-Touch-Funktionalitäten und können beispielsweise verschoben, gedreht oder vergrößert werden. Das „TidyUp“-Widget benötigt zwei zentrale Items, die bereits im Abschnitt Gestaltung und Design erklärt wurden. Dies ist zum einen der Kreis zum Anzeigen des Zielgebietes und zum anderen der LibraryContainer, welcher die herangezogenen Elemente übersichtlich darstellen soll. Zusätzlich lassen sich durch den Anwender weitere ScatterViewItems mit jeweils einem Bild als Inhalt hinzufügen. Diese Elemente sollen die Dokumente und Objekte symbolisieren, die für die unübersichtliche Arbeitsfläche verantwortlich sind. Nachfolgend werde ich die einzelnen Klassen näher beschreiben und einige Methoden, die für die Kernfunktionalität der Anwendung wichtig sind, erläutern. 4.3.3 MainSurfaceWindow Die Hauptklasse dient als Schnittstelle zwischen den Benutzereingaben und der Programmlogik. Events auf dem ScatterView oder dessen Items werden an die jeweiligen Klassen zur Gestenerkennung oder Gestenbehandlung weitergegeben. void AddItem(). Die Methode AddItem() fügt dem ScatterView ein neues ScatterViewItem an einer zufälligen Position hinzu. void ClearItems(). Über ClearItems() können alle hinzugefügten Elemente in einem Schritt wieder entfernt werden. 4.3.4 MyImagePool Die Klasse MyImagePool unterstützt das MainSurfaceWindow beim Hinzufügen neuer ScatterViewItems mit einem Bild als Inhalt. Bei ihrer Initialisierung lädt sie alle Bilddateien aus dem Ressourcen-Ordner der Anwendung und speichert sie in einer Collection. 50 4.3 Architektur der Anwendung string GetImagePath(). Nun kann über die Funktion GetImagePath() der Pfad eines der gespeicherten Bilder abgefragt werden. Die Klasse stellt dabei sicher, dass Bilder nicht doppelt verwendet werden können. int GetPoolSize(). Die Größe des verbleibenden Bilder-Pools kann über die Funktion GetPoolSize() geprüft werden. 4.3.5 DragDropScatterView Die Klasse DragDropScatterView erweitert die, im Surface SDK 2.0 integrierte, Klasse ScatterView um Drag&Drop-Funktionalitäten. Diese werden benötigt, um Elemente nach der vollständigen Ausführung der Geste aus dem LibraryContainer heraus wieder auf die Bildschirmoberfläche ziehen zu können. Zudem verarbeitet die Klasse weitere TouchEreignisse und stellt damit eine zentrale Komponente der Benutzerschnittstelle dar. OnCursorDrop. Das Ereignis OnCursorDrop wird ausgelöst, sobald ein Element aus einer anderen Quelle auf dem ScatterView abgelegt wurde. In diesem Fall wird das Element aus der ursprünglichen Quelle entfernt und als Inhalt eines neuen ScatterViewItems neu hinzugefügt. HoldGesture. Das Event HoldGesture ermöglicht die Erkennung der AktivierungsHandhaltung, da es ausgeführt wird sobald ein Benutzer seinen Finger für drei Sekunden an einer Position auf dem ScatterView hält. TouchDown, TouchMove und TouchUp. Die übrigen Ereignisse TouchDown, TouchMove und TouchUp geben jeweils Aufschluss darüber an welchen Positionen auf dem ScatterView Interaktionen stattfinden. Diese Positionen werden dann vom MyGestureRecognizer entgegengenommen und verwendet, um die Ausführung einer Geste zu erfassen. Jeder erkannte Finger bekommt dabei eine ID zugewiesen. Werden also Bewegungen oder Haltungen durch einen Finger ausgeführt, kann dieser in der Phase zwischen Berührung des Bildschirms und dem Anheben des Fingers eindeutig identifiziert werden. 4.3.6 MyPostureRecognizer Die Klasse MyPostureRecognizer nimmt Punkte entgegen, an denen Finger-Haltungen erkannt wurden. Diese Positionen werden dann bezüglich ihrer Entfernung und zeitlichen 51 4 Umsetzung eines eigenen Widgets Abfolge dahingehend untersucht, ob eine entsprechende Fünf-Finger-Haltung zur Aktivierung des Widgets ausgeführt wurde. void AddHoldPosition(int fingerID, Point p). Über die Methode AddHoldPosition(int fingerID, Point p) wird eine neue Halteposition innerhalb der Klasse registriert. Dazu wird eine Liste mit Elementen des Typs TimedPoint verwaltet, die neben der ID des Fingers und der Touch-Position auch den genauen Zeitpunkt der Berührung erfasst. void RemoveTouchPoint(int fingerID). Die Methode RemoveTouchPoint(int fingerID) ermöglicht es einen bereits gesetzten TimedPoint wieder aus der Liste zu entfernen, beispielsweise nach dem Anheben eines Fingers. bool IsPosturePerformed(). Die Funktion IsPosturePerformed() gibt zurück, ob zum aktuellen Zeitpunkt eine Fünf-Finger-Handhaltung ausgeführt wird. Dazu wird nach jeder Änderung an der Punktmenge über die private CheckPosture()Funktion überprüft, ob die gegenwärtigen Haltungs-Positionen sowohl von der Entfernung untereinander zu einer Handgröße passen, als auch in einem zeitlichen Rahmen von maximal 5 Sekunden erfolgten. bool IsInsideHand(Point testPoint). Diese Methode überprüft, ob der übergebene Punkt innerhalb der Handfläche liegt. Dies wird benötigt, um das Ziel der WischGeste zu prüfen und um den LibraryContainer nach erfolgreicher Ausführung des Widgets innerhalb der Handfläche anzeigen zu lassen. 4.3.7 MyGestureRecognizer Die Klasse MyGestureRecognizer arbeitet ähnlich, wie die zuvor beschriebene Klasse MyPostureRecognizer. Die Aufgabe der Klasse besteht darin, aus einer Menge an Interaktionspunkten zu ermitteln, ob eine vordefinierte Geste ausgeführt wurde. Für das „TidyUp“-Widget ist es lediglich nötig auf eine Kreisgeste in beliebiger Drehrichtung zu reagieren. Dazu wird die Hilfsklasse Circle benötigt, welche den Fortschritt der Kreisgeste speichert. void SetCenter(Point center). Die Methode SetCenter(Point center) wird aufgerufen, sobald ein Finger auf dem Touchscreen aufgesetzt wird. An dieser Stelle wird dann das Zielgebiet für die heranzuholenden Elemente positioniert. 52 4.3 Architektur der Anwendung void AddPoint(Point p). Sobald der zuvor aufgesetzte Finger Bewegungen auf der Touch-Oberfläche ausführt, werden die erreichten Positionen in regelmäßigen Abständen über die AddPoint(Point p)-Methode an die Klasse MyGestureRecognizer übermittelt. MyGestureSet CheckGesture(). Die CheckGesture()-Methode analysiert die aktuelle Punktmenge dahingehend, ob die einzelnen Punkte einer der vordefinierten Gesten entspricht. Falls eine entsprechende Geste erkannt wurde, wird ihr Wert über die Enumeration MyGestureSet zurückgegeben. 4.3.8 MyGestureHandler Die Klasse MyGestureHandler erhält über die zentrale Verwaltungsklasse MeinSurfaceWindow Zugriff auf die grafischen Elemente der Anwendung. Sie wird verwendet, um die Neuausrichtung dieser Elemente nach einer erkannten Geste vorzunehmen. Hierzu zählen beispielsweise das Einblenden des Zielgebiets an der gewünschten Position, das Heranziehen der Dokumente und die Erstellung des LibraryContainers. void ItemsToPoint(Point p). Die private Methode ItemsToPoint(Point p) wird bei einer erfolgreich abgeschlossenen Kreisgeste ausgeführt. Ziel ist es, die Elemente auf der Bildschirmoberfläche schrittweise näher an den übergebenen Zielpunkt zu bewegen. Dazu wird für jedes Element separat ein Zielpunkt abhängig zur Entfernung zum Kreismittelpunkt festgelegt. Über eine Animation gelangen die Elemente dann zu ihrem berechneten Zielpunkt. Falls sich ein Element bereits in unmittelbarer Nähe des Ablagestapels befindet, wird es direkt auf diesen Stapel bewegt. void CreateLibraryContainer(Point itemsCenter, Point desiredPosition). Die Methode CreateLibraryContainer behandelt den Abschluss des Widgets. Nach erfolgter Wischbewegung in die Handfläche der linken Hand müssen die Elemente auf dem Ablagestapel nun in einen Container verschoben werden. Um die Elemente des Ablagestapels identifizieren zu können, wird der Parameter itemsCenter übergeben. Alle Dokumente in unmittelbarer Entfernung zu dieser Position werden als Quellelemente innerhalb des LibraryContainers registriert. 53 4 Umsetzung eines eigenen Widgets Anschließend wird dieser an der desiredPosition innerhalb der linken Handfläche des Benutzers eingeblendet. void HandleGesture(MyGestureSet gesture, bool isPosture, Point center). Die Methode HandleGesture wird durch die Verwaltungsklasse aufgerufen und führt die internen Methoden ItemsToPoint oder CreateLibraryContainer abhängig von den übergebenen Parametern aus. 4.4 Beispielhafte Verwendung des Widgets Nachdem in den vergangenen Abschnitten sowohl auf das Design der Benutzerschnittstelle, als auch auf die technische Architektur des „TidyUp“-Widgets eingegangen wurde, wird nun ein beispielhafter Einsatz der Anwendung beschrieben. Die Ausgangssituation zeigt die Oberfläche eines Multi-Touch-Tisches nach einer gewissen Arbeitszeit mit vielen geöffneten und über den Bildschirm verteilten Elementen. Diese werden zur Veranschaulichung durch Bildelemente dargestellt. Abbildung 14: Ausgangssituation Zur Aktivierung des „TidyUp“-Widgets muss nun zuerst eine Fünf-Finger-Handhaltung mit der linken Hand ausgeführt werden. Diese Handhaltung wird während der gesamten Ausführungszeit beibehalten. Nach einer Verweildauer von drei Sekunden bestätigt eine Tooltip-Nachricht die korrekte Ausführung der Haltung und das Widget ist aktiviert. 54 4.4 Beispielhafte Verwendung des Widgets Abbildung 15: Aktivierung des Widgets über die Haltung der linken Hand Um nun die Bildschirmelemente schrittweise heranzuziehen, führt der Benutzer fortlaufende Kreisgesten mit der rechten Hand aus. Die Anwendung reagiert dabei sowohl auf Kreisbewegungen im Uhrzeigersinn, als auch gegen den Uhrzeigersinn. Die ursprünglich gewählte Richtung muss allerdings während der Ausführung beibehalten werden. Als Zielpunkt der herangezogenen Elemente wird der erste Berührungspunkt der Kreisgeste gewählt. Alternativ kann der Zielbereich auch vor Ausführung der Kreisgesten über eine einfache Berührung mit der rechten Hand explizit festgelegt werden. Die Elemente nähern sich mit jeder weiteren Kreisgeste erkennbar dem eigeblendeten Zielbereich an, welcher über einen Kreis mit hellblauem Rahmen dargestellt wird. Dies kann fortgesetzt werden, bis sich die gewünschte Anzahl an Objekten innerhalb des Zielgebiets befindet. 55 4 Umsetzung eines eigenen Widgets Abbildung 16: Ausführung von Kreisgesten der rechten Hand zum Heranziehen der Elemente Zum Abschluss der Geste hat der Benutzer nun zwei Optionen. Entweder er belässt die Objekte auf dem Ablagestapel oder er entscheidet sich dazu, die Elemente in einem Container übersichtlich abzulegen. Hierzu muss eine Wischgeste vom Stapel aus in die linke Handfläche ausgeführt werden. Dies erzeugt den zuvor beschriebenen LibraryContainer. Nun können die Finger angehoben werden und der Benutzer kann seine ursprüngliche Arbeit fortsetzen. Abbildung 17: Ergebnis nach dem Anheben der Hände. 56 4.5 Evaluierung des Widgets Der LibraryContainer wird standardmäßig als StackView dargestellt. Für eine bessere Übersicht über die enthaltenen Items lässt sich die Ansicht über den Button an der Unterseite des Containers auf die BarView-Darstellung umschalten. Abbildung 18: Darstellung der Container-Elemente als BarView. 4.5 Evaluierung des Widgets Anhand des zuvor angeführten Anwendungsbeispiels ist ersichtlich, dass das „TidyUp“Widget die gewünschte Hilfestellung für den ursprünglich ermittelten Problembereich bietet. Obwohl sich die Anwendung bei der prototypischen Umsetzung auf die wesentlichen Funktionalitäten beschränkt, kann sich der Benutzer ein Bild von der erzielten Veränderung nach der Reorganisation der Bildschirmelemente machen. Anstelle von realen Dokumenten werden in der prototypischen Version des Widgets einfache Bilddateien verwendet. Die Erkennungs-Algorithmen für die Aktivierungshaltung und die Kreisgeste arbeiten zuverlässig. Für die Gestenerkennung wurden verschiedene Lösungen erprobt. Die besten Ergebnisse hinsichtlich der Performance und Erkennungsrate wurden über regelmäßige Berechnungen des Winkels zwischen dem Startpunkt der Kreisgeste und dem aktuellen Touch-Punkt erzielt. Falls die Anwendung zu einem späteren Zeitpunkt um die Erkennung weiterer Gesten ergänzt werden sollte, ist der Einsatz einer eigenständigen Erkennungs-Bibliothek sinnvoll. Das Projekt „$1 Unistroke Recognizer“ ermöglicht die Aufzeichnung von beliebigen Formen und ermittelt zur Laufzeit aus einer 57 4 Umsetzung eines eigenen Widgets übergebenen Punktmenge diejenige Geste, welche die Größte Ähnlichkeit zu den aufgezeichneten Vorlagen aufweist (Wobbrock, Wilson & Li, 2007). Eine naheliegende Erweiterung wäre, die ursprüngliche Position der Elemente zum Zeitpunkt der unübersichtlichen Anordnung in den Zielcontainer zu übernehmen. Hierzu könnte beispielsweise die Funktion des LibraryContainers genutzt werden, eigene Untergruppen als GroupDescriptions zu erstellen. Auf diese Weise können eingelagerte Elemente leichter wiedergefunden werden, beispielsweise wenn sich ein Element, welches am linken Bildschirmrand abgelegt wurde, auch am linken Rand des erstellten LibraryContainers wiederfindet. 58 5 Fazit 5.1 Zusammenfassung Im Rahmen dieser Arbeit wurde in einem ersten Schritt eine Klassifizierung für Widgets, mit dem Fokus auf Widgets für interaktive Tabletop-Systeme, erarbeitet. In diesem Zusammenhang wurde gezeigt, dass die Anwendungsdomänen von Widgets stark mit den entstandenen Problemfeldern der Interaktion mit interaktiven TabletopSystemen verknüpft sind. Diese Tatsache bestimmt maßgeblich ihren Charakter als Problemlöser. Die anschließende Klassifizierung erfolgte anhand des Interaktionsziels, welches der Anwender mithilfe des Widgets erreichen will. Als Hauptkategorien der Klassifikation wurden die Objektselektion, die Anwendungskontrolle und die kooperative Arbeit ermittelt. Die einzelnen Unterkategorien entsprechen dann den zuvor beschriebenen Problemfeldern, wie beispielsweise Distanzselektion oder MenüNavigation. Begleitend zur Klassifizierung wurde auf die Aktivierungsmöglichkeiten der Widgets eingegangen. Diese lassen sich im Wesentlichen in zwei Kategorien einteilen – die automatische, anwendungsgesteuerte Aktivierung und die benutzergesteuerte Aktivierung. In die Kategorie der manuellen Aktivierung fallen einfache Handhaltungen, dynamische Gesten oder auch die Verwendung von externen physischen Interaktionselementen in Form von Tangible User Interfaces. Der erste Abschnitt dieser Arbeit wurde schließlich durch einen Leitfaden komplettiert, in welchem auf die Herausforderungen bei der Entwicklung eines Widgets eingegangen wird. Hier wurde besonders der Stellenwert einer flüssigen Interaktion und einem reduzierten Design hervorgehoben, um eine breite Akzeptanz auf der Seite der Anwender zu erreichen. In einem zweiten Schritt erfolgte die Entwicklung des prototypischen „TidyUp“-Widgets. Mit diesem Widget lassen sich Bildschirmoberflächen aufräumen, die durch viele gleichzeitig geöffnete Elemente unübersichtlich geworden sind. Es wurde als SurfaceAnwendung umgesetzt und auf dem Multi-Touch-Tisch Mister T. der Universität Paderborn getestet. Insgesamt leistet es die gewünschte Hilfestellung für die ermittelte 59 5 Fazit Problemstellung und kann gegenwärtigen Lösungen, die auf die Positionierung einzelner Elemente abzielen, vorgezogen werden. 5.2 Diskussion und Ausblick Die Ergebnisse meiner Arbeit dienen einer grundlegenden Übersicht und Einordnung bereits geleisteter Forschung. Da es bis dato keine Einteilungsvorgaben und auch keine global gültigen Standards bei der Entwicklung von Widgets gibt, ist es schwer einen Überblick über die große Zahl von Forschungsarbeiten zu erlangen. Sowohl für Anwender, Forscher, als auch für Entwickler ist es interessant zu sehen, welche Ergebnisse es bereits in der Forschung gibt. Anwender können auf diese Weise erfahren, welche Hilfestellungen durch den Einsatz von Widgets bereits angeboten werden und benutzt werden können. Forschungsteams bekommen einen Einblick in welchen Bereichen und Anwendungsfeldern noch keine ausreichenden Problemlösungen entworfen wurden. Als Ansatz für zukünftige Arbeiten ist eine detailliertere Betrachtung und Ausweitung der Problemfelder, die für Klassifizierung zugrunde gelegt wurden, sinnvoll. Diese Erhöhung des Detailgrades würde ein noch größeres Spektrum der verfügbaren Widgets abdecken, als es im Rahmen dieser Arbeit möglich war. Außerdem erscheint eine grundlegende Standardisierung von Widgets, gerade im Anbetracht der wachsenden Beliebtheit von Multi-Touch-Systemen, zweckmäßig. Dies könnte hin zu einem zentralen Verzeichnis für Widget-Benutzungsschnittstellen führen. In dieses könnten dann neu erscheinende Forschungsergebnisse mit Kategorien und Eigenschaften eingetragen werden. Auf diese Weise ließen sich Hindernisse beim Entwurf neuer Widgets, wie der Abgleich der nebeneinander existierenden Aktivierungs- und Interaktionsgesten, verringern. 60 6 Literaturverzeichnis Abednego, M., Lee, J.-H., Moon, W. & Park, J.-H. (2009). I-Grabber: Expanding Physical Reach in a Large-Display Tabletop Environment Through the Use of a Virtual Grabber. In G. Morrison, S. Subramanian, S. Carpendale, M. Haller & S. Scott (Hrsg.), the ACM International Conference (S. 61–64). Ahlström, D., Cockburn, A., Gutwin, C. & Irani, P. (2010). Why it’s Quick to be Square: Modelling New and Existing Hierarchical Menu Designs. In E. Mynatt, D. Schoner, G. Fitzpatrick, S. Hudson, K. Edwards & T. Rodden (Hrsg.), the 28th International Conference (S. 1371–1380). Albinsson, P.-A. & Zhai, S. (2003). High Precision Touch Screen Interaction. In G. Cockton & P. Korhonen (Hrsg.), the Conference (S. 105–112). Arfman, J. M. & Roden, P. (1992). Project Athena: Supporting distributed computing at MIT. IBM Systems Journal, 31 (3), 550–563. Bachl, S., Tomitsch, M., Wimmer, C. & Grechenig, T. (Hrsg.). (2010). Challenges for Designing the User Experience of Multi-touch Interfaces. Benko, H., Morris, M. R., Brush, A. B. & Wilson, A. D. (2009). Insights on Interactive Tabletops: A Survey of Researchers and Developers. Microsoft Research. Blank, C. (2013). Gesten im dreidimensionalen Raum. Hamburg: HAW Hamburg. Bollhoefer, K. W., Meyer, K. & Witzsche, R. (2009, 04. Februar). Microsoft Surface und das Natural User Interface (NUI). Berlin: Technical report, Pixelpark. Bonnet, D. & Appert, C. (2011). SAM: The Swiss Army Menu. In M. Riveill (Hrsg.), 23rd French Speaking Conference (S. 1). Bott, E. (CBS Interactive, Hrsg.). (2012). Microsoft delivers OneNote MX, first Metro style Office 2013 app. Verfügbar unter http://www.zdnet.com/microsoft-delivers-onenotemx-first-metro-style-office-2013-app-7000001050/ Buxton, B. (2007). Multi-Touch Systems that I Have Known and Loved. Microsoft Research, 56, 1–11. 61 6 Literaturverzeichnis Buxton, B. (2010). Natural User Interfaces: Voice, Touch and Beyond. Zugriff am 01.10.2014. Verfügbar unter https://www.microsoft.com/enus/news/features/2010/jan10/01-06cesnui.aspx Dachselt, R. (2004). Eine deklarative Komponentenarchitektur und Interaktionsbausteine für dreidimensionale multimediale Anwendungen. Dissertation, Technische Universität Dresden. Tönning. Derboven, J., Roeck, D. de & Verstraete, M. (2012). Semiotic analysis of multi-touch interface design: The MuTable case study. International Journal of Human-Computer Studies, 70 (10), 714–728. Derene, G. (Hearst Communication Inc., Hrsg.). (2007). Microsoft Surface: Behind-theScenes First Look. Verfügbar unter http://www.popularmechanics.com/technology/gadgets/news/4217348 Dietz, P. & Leigh, D. (2001). DiamondTouch: A Multi-User Touch Technology. In J. Marks & E. Mynatt (Hrsg.), the 14th Annual ACM Symposium (S. 219–226). Furumi, G., Sakamoto, D. & Igarashi, T. (2012). SnapRail: A Tabletop User Interface Widget for Addressing Occlusion by Physical Objects. In O. Shaer, C. Shen, M. R. Morris & M. Horn (Hrsg.), the 2012 ACM International Conference (S. 193–196). Gelineck, S., Andersen, J. & Büchert, M. (2013). Music Mixing Surface. In A. Quigley, G. Jacucci, M. Horn & M. Nacenta (Hrsg.), the 2013 ACM International Conference (S. 433– 436). Google Inc. (Google Inc., Hrsg.). (2012). Developer Docs: Widgets. Verfügbar unter http://developer.android.com/design/patterns/widgets.html Grossman, L. (Time Inc., Hrsg.). (2007). Invention Of the Year: The iPhone. Zugriff am 01.10.2014. Verfügbar unter http://content.time.com/time/specials/2007/article/0,28804,1677329_1678542_16 77891,00.html Guiard, Y. (1987). Asymmetric Division of Labor in Human Skilled Bimanual Action. The Kinematic Chain as a Model. Journal of Motor Behavior, 19 (4), 486–517. Hassenzahl, M., Beu, A. & Burmester, M. (2001). Engineering Joy. IEEE Software, 18 (1), 70–76. 62 6 Literaturverzeichnis Hill, J. & Gutwin, C. (2003). Awareness Support in a Groupware Widget Toolkit. In K. Schmidt, M. Pendergast, M. Tremaine & C. Simone (Hrsg.), the 2003 International ACM SIGGROUP Conference (S. 258–267). Hinrichs, U., Schmidt, H., Isenberg, T., Hancock, M. & Carpendale, S. (2008). BubbleType: Enabling Text Entry within a Walk-Up Tabletop Installation. Computer Science: University of Calgary. Hülsmann, A. (2011). Multitouch-enabled Widget Library and Programming Framework for Tangible User Interaction Development on LLP-based Tabletop Surfaces. Unveröffentlichte Masterarbeit, Universität Paderborn. Janssen, J.-K. (Heise Zeitschriften Verlag, Hrsg.). (2009). Fass mich an! Microsofts Multitouch-Tisch Surface startet in Deutschland, Heise Zeitschriften Verlag. Zugriff am 01.10.2014. Verfügbar unter http://heise.de/-291980 Johnson, E. A. (1965). Touch Display — A Novel Input/Output Device for Computers. Electronics Letters, 1 (8), 219–220. Kin, K. (2012). Investigating the Design and Development of Multitouch Applications. Verfügbar unter http://www.escholarship.org/uc/item/0c0871cf Koch, P.-P. (2009). Introduction to W3C Widgets - QuirksBlog. Zugriff am 01.10.2014. Verfügbar unter http://www.quirksmode.org/blog/archives/2009/04/introduction_to.html Kuribara, T., Yoshikawa, T., Shizuki, B. & Tanaka, J. (2014). HandyScope: A Remote Control Technique Using Circular Widget on Tabletops. In M. Jones, P. Palanque, A. Schmidt & T. Grossman (Hrsg.), the Extended Abstracts of the 32nd Annual ACM Conference (S. 175–176). Malik, S. & Laszlo, J. (2004). Visual Touchpad: A Two-handed Gestural Input Device. In R. Sharma, T. Darrell, M. Harper, G. Lazzari & M. Turk (Hrsg.), the 6th International Conference (S. 289–296). Mankoff, J. & Abowd, G. D. (1998). Cirrin: A Word-Level Unistroke Keyboard For Pen Input. In E. Mynatt & R. J. K. Jacob (Hrsg.), the 11th Annual ACM Symposium (S. 213– 214). Mehta, N. (1982). A flexible machine interface. MA Sc. Thesis. 63 6 Literaturverzeichnis Microsoft Corporation, Maki, J. (Mitarbeiter) (Microsoft Corporation, Hrsg.). (2011). Microsoft® Surface® 2.0 Design and Interaction Guide. Principles & Guidelines for Designing and Developing Surface Applications, Microsoft Corporation. Morris, M. R., Paepcke, A., Winograd, T. & Stamberger, J. (2006). TeamTag: Exploring Centralized versus Replicated Controls for Co-located Tabletop Groupware. In G. Olson & R. Jeffries (Hrsg.), the SIGCHI Conference (S. 1273). Morris, M. R., Ryall, K., Shen, C., Forlines, C. & Vernier, F. (2004). Beyond “Social Protocols”: Multi-User Coordination Policies for Co-located Groupware. In J. Herbsleb & G. Olson (Hrsg.), the 2004 ACM Conference (S. 262–265). Müller-Tomfelde, C. (2010). Tabletops - Horizontal Interactive Displays (Humancomputer interaction series). London: Springer-Verlag London Limited. Nacenta, M. A., Pinelle, D., Gutwin, C. & Mandryk, R. (2010). Individual and Group Support in Tabletop Interaction Techniques. In C. Müller-Tomfelde (Hrsg.), Tabletops - Horizontal Interactive Displays (Human-computer interaction series, S. 303–333). London: Springer London. Oxford Dictionaries. (2014). "widget". Oxford Dictionaries, Oxford University Press. Zugriff am 01.10.2014. Verfügbar unter http://www.oxforddictionaries.com/definition/english/widget Raskin, J. (2000). The Humane Interface. New Directions for Designing Interactive Systems. Reading, Mass.: Addison-Wesley. Rettig, M. (1991). Nobody Reads Documentation. Communications of the ACM, 34 (7), 19– 24. Ryall, K., Esenther, A., Everitt, K., Forlines, C., Morris, M. R., Shen, C. et al. (2005). iDwidgets: Parameterizing Widgets by User Identity. In D. Hutchison, T. Kanade, J. Kittler, J. M. Kleinberg, F. Mattern, J. C. Mitchell et al. (Hrsg.), Human-Computer Interaction - INTERACT 2005 (Lecture Notes in Computer Science, Bd. 3585, S. 1124– 1128). Berlin, Heidelberg: Springer Berlin Heidelberg. Ryall, K., Forlines, C., Chia Shen, Morris, M. R. & Everitt, K. (2006). Experiences with and Observations of Direct-Touch Tabletops. In First IEEE International Workshop on Horizontal Interactive Human-Computer Systems (TABLETOP '06) (S. 89–96). 64 6 Literaturverzeichnis S-Bahn Berlin GmbH (S-Bahn Berlin GmbH, Hrsg.). (2012). Web-Widgets. Fahrplanauskunft und Fahrplanänderungen auf Ihrer Internetseite. Verfügbar unter http://www.s-bahn-berlin.de/web-widgets Shen, C., Ryall, K., Forlines, C., Esenther, A., Vernier, F. D., Everitt, K. et al. (2006). Informing the Design of Direct-Touch Tabletops. IEEE Computer Graphics and Applications, 26 (5), 36–46. Shen, C., Vernier, F. D., Forlines, C. & Ringel, M. (2004). DiamondSpin: An Extensible Toolkit for Around-the-Table Interaction. In E. Dykstra-Erickson & M. Tscheligi (Hrsg.), the 2004 Conference (S. 167–174). Shneiderman, B. & Plaisant, C. (2010). Designing the User Interface. Strategies for Effective Human-Computer Interaction (5. ed., internat. ed). Upper Saddle River: Addison-Wesley. Spath, D., Weisbecker, A., Laufs, U., Block, M., Link, J., Ardilio, A. et al. (2009). Studie: Multi-Touch. Technologie, Hard-/Software und deren Anwendungsszenarien (Weisbecker, A., Hrsg.). : Fraunhofer IAO. Zugriff am 01.10.2014. Verfügbar unter http://wiki.iao.fraunhofer.de/index.php/Studie:_Multi-Touch_-_Technologie,_Hard/Software_und_deren_Anwendungsszenarien Swick, R. R. & Ackerman, M. S. (1988). The X Toolkit: More Bricks for Building UserInterfaces or Widgets for Hire. In Usenix Winter (S. 221–228). Citeseer. Vogel, D. & Baudisch, P. (2007). Shift: A Technique for Operating Pen-Based Interfaces Using Touch. In M. B. Rosson & D. Gilmore (Hrsg.), the SIGCHI Conference (S. 657– 666). Wellner, P. (1991). The DigitalDesk calculator: tangible manipulation on a desk top display. In Proceedings of the ACM Symposium on User Interface Software and Technology (S. 27–33). Wigdor, D. & Wixon, D. (2011). Brave NUI World. Designing Natural User Interfaces For Touch and Gesture. Burlington, MA: Elsevier Inc. Wixon, D. (Adaptive Path, Hrsg.). (2008). UX Week 2008 - The Challenge of Emotional Innovation. Zugriff am 01.10.2014. Verfügbar unter http://vimeo.com/2893051 65 6 Literaturverzeichnis Wobbrock, J. O., Morris, M. R. & Wilson, A. D. (2009). User-Defined Gestures for Surface Computing. In D. R. Olsen, R. B. Arthur, K. Hinckley, M. R. Morris, S. Hudson & S. Greenberg (Hrsg.), the SIGCHI Conference (S. 1083–1092). Wobbrock, J. O., Wilson, A. D. & Li, Y. (2007). Gestures without Libraries, Toolkits or Training: A $1 Recognizer for User Interface Prototypes. In C. Shen, R. Jacob & R. Balakrishnan (Hrsg.), the 20th Annual ACM Symposium (S. 159–168). World Wide Web Consortium (Hrsg.). (2012). Packaged Web Apps (Widgets) - Packaging and XML Configuration (Second Edition). W3C Recommendation 27 November 2012. Zugriff am 01.10.2014. Verfügbar unter http://www.w3.org/TR/widgets/ Yoshikawa, T., Shizuki, B. & Tanaka, J. (2012). HandyWidgets: Local Widgets Pulled-out from Hands. In O. Shaer, C. Shen, M. R. Morris & M. Horn (Hrsg.), the 2012 ACM International Conference (S. 197–200). Ziegler, J. (1996). Interactive Techniques. ACM Computing Surveys, 28 (1), 185–187. 66 7 Anhang 7.1 Inhalt der CD-ROM Auf dem beigefügten Datenträger befinden sich folgende Dateien: - Digitale Form dieser Ausarbeitung /Ausarbeitung/BA-fmense.pdf - Online verfügbare Quellen der Ausarbeitung /Ausarbeitung/Quellen/ - Vorausgesetzte Software /Software/ - Ausführbare Version des „TidyUp“-Widgets /TidyUpWidget/ 7.2 Systemvoraussetzungen für das Widget Bedingt durch den Einsatz des Surface SDK 2.0 werden Endgeräte mit den folgenden Systemumgebungen unterstützt: Eine 32-bit oder 64-bit Edition eines der folgenden Windows® 7 Betriebssysteme: - Windows 7 Home Premium Windows 7 Professional Windows 7 Ultimate Zusätzliche Anforderungen: - Microsoft Visual C#® 2010 Express Edition oder Microsoft Visual Studio® 2010 .NET Framework 4.0 (in Visual C# 2010 und Visual Studio 2010 enthalten) Microsoft XNA® Framework Redistributable 4.0 7.3 Ausführung des Widgets auf Mister T. 1. Starten Sie die Anwendung Community Core Vision (CCV), welche TouchEingaben erkennt und als TUIO-Daten verarbeitet. 2. Starten sie den BSQSimulator und verbinden Sie ihn mit dem Port 3334. Somit werden die TUIO-Daten in Windows-Touch-Events übersetzt. 3. Starten Sie die Widget-Anwendung, indem Sie die Datei \TidyUpWidget\bin\Release\TidyUpWidget.exe auf der CD ausführen 67 7 Anhang 7.4 Ausführung des Widgets auf PCs ohne Touch-Interface Anmerkung: Zur Ausführung der Anwendung auf einem Endgerät ohne Touch-Interface wird der Microsoft Input Simulator aus dem Surface SDK 2.0 zur Simulation von TouchEingaben vorausgesetzt. 1. Stellen Sie sicher, dass die Software aus den Systemvoraussetzungen vollständig installiert wurde. 2. Starten Sie den Microsoft Input Simulator. Und stellen Sie ihn auf Finger-Eingabe ein. 3. Starten Sie die Widget-Anwendung, indem Sie die Datei \TidyUpWidget\bin\Release\TidyUpWidget.exe auf der CD ausführen 68