In vielen Arbeitsbereichen ist die Produktivitätssteigerung durch den Tablet PC enorm. Bei der Arbeit mit dem Tablet PC fällt aber doch sehr schnell auf, dass die Oberflächen der meisten Anwendungen nicht für die Arbeit mit dem Stift und den Fingern entworfen wurden. OK, es gibt einige Anwendungen, die speziell für den Tablet PC entwickelt wurden. Neben doch eher speziellen Lösungen für bestimmte Branchen, beispielsweise für die Medizin, sind hier vor allem die alternative Bildschirmtastatur Fitaly, das Journal von Windows sowie InkSeine zu nennen, das Forschungsprojekt von Microsoft Research. Ich wurde aber immer das Gefühl nicht los, dass das noch nicht alles sein kann, auch wenn ich nicht speziell sagen konnte, wo das schlechte Gefühl herkam. Auch intensive Suchen im Web blieben lange Zeit erfolglos. Niemand scheint sich um die User Experience bei der Arbeit mit dem Tablet PC zu kümmern oder die Beiträge sind für einen “normalen Menschen” ohne akademische Vorbildung in Design nicht verständlich. Nun bin ich eher durch Zufall über den von Ulf Schubert betriebenen User Experience Blog gestolpert. In seinem Blog schreibt Ulf Schubert über User Experience Design, Produktinovationen, User Centered Design, Interaction Design und User Interface Design. Dass er sich dabei nicht auf marktreife Technologien oder eine spezielle Hardware beschränkt, sondern auch über die unterschiedlichsten Versuche im Bereich User Experience schreibt, macht den Blog noch interessanter, manchmal auch unterhaltsam.
von Michael A. Narayan, Jian Chen und Manuel A. Pérez-Quiñones
Computer Science and Center for Human-Computer Interaction
Virginia Tech, Blacksburg, VA 24060, USA
Die Interaktion mittels Multi-Plattform-Benutzeroberflächen (MPUIs) wird in realen Anwendungen vermehrt eingesetzt, besonders in der Telemedizin, der universitären Bildung, sowie in Anwendungen für die ingenieurmäßige Entwicklung. Ein Teil der Alleinstellungsmerkmale dieser nicht-traditionellen Benutzeroberflächen liegt in der Aufteilung von Informationen zwischen mehreren Anzeigemechanismen, sowie in der Fernsteuerung der Information (z.B. indem ein Computer verwendet wird, um eine remote Anzeige zu steuern). Wir haben eine Studie mit drei Szenarien durchgeführt: mit einem Tablet PC gemeinsam mit einem traditionellen Desktop, mit einem Tablet PC zusammen mit einer großen Darstellung (LSD = Large Screen Display) sowie mit einem Desktop-Rechner. Die Ergebnisse zeigten, dass viele Anwender die vertraute Oberfläche von Microsoft Windows auf dem Tablet PC bevorzugten. Häufig hatten die Anwender Probleme, ihre Erfahrungen einzusetzen, wenn sie mit dem Tablet PC arbeiteten und die Form des Tablet PC funktionierte je nach Bedingung für oder gegen den Anwender. Unsere Ergebnisse legen nahe, dass noch viele Probleme zu lösen sind, dass aber tragbare Geräte grundsätzlich eine hoch effektive Steuerung virtueller Umgebungen ermöglichen.
Einführung
In den vergangenen Jahren hat die Biomedizin großartige Fortschritte gemacht, von denen viele mit den großen Verbesserungen zusammenhängen, die die auf dem Feld der Bildverarbeitung gemacht wurden. Ärzte können über das Internet eine detaillierte Analyse von MRI- und CT-Aufnahmen durchführen, die es ihnen ermöglichen, die Gesundheit älterer Patienten mit Diabetes zu beurteilen. In der Biomedizin müssen große Datenmengen visualisiert werden, zu denen die elektronische Datenakte des Patienten, die Behandlungsrichtlinien sowie Systeme zur Entscheidungsfindung gehören können. Die Präsentation dieser Informationen auf einem Anzeigegerät kann unübersichtlich sein. Die Aufteilung der Informationen auf unterschiedliche Anzeigegeräte kann helfen, dieses Problem zu lösen.
Aufgrund der schnellen Verbreitung mobiler Geräte können die Menschen immer und überall bequem auf Informationen zugreifen. In diesem Artikel erkunden wir, wie einfach es ist, auf solche Informationen zuzugreifen und sie zu steuern. Auf der Oberfläche generieren Multi-Plattform-Benutzeroberflächen eine Umgebung mit mehreren Blickwinkeln auf die Daten. Das wirft die Frage ob, ob es möglich ist, ein tragbares Gerät effektiv als remotes Steuergerät für eine Umgebung mit mehreren Anzeigegeräten zu verwenden und welche Hürden wir überwinden müssen, um ein solches Szenario in der Realität nutzen zu können.
Zunächst untersuchen wir die Verwendung eines Tablet PCs als remotes Steuergerät für die Arbeit mit dreidimensionalen biomedizinischen Daten in einer Umgebung mit vielen Informationen, in der verschiedene Körperteile präsentiert werden. Dabei untersuchten wir sowohl horizontale als auch vertikale Probleme in den Bereichen Kontextumschaltung, Portierbarkeit, Aufmerksamkeit und Lernfähigkeit. Die Untersuchung wurde durch eine vergleichende Studie dreier Paradigmen der Interaktion durchgeführt: ein Desktop, ein Monitor, der mit einem Tablet PC verbunden ist sowie ein Großbildschirm, der mit einem Tablet PC verbunden ist. Alle Paradigmen wurden unter Beachtung verschiedener Suchaufgaben analysiert.
Diese drei Konfigurationen verfügen über unterschiedliche Oberflächen. Wir bezeichnen die unterschiedlichen Konfigurationen als traditionell (Desktop), Klassenraum (Monitor und Tablet PC) und Großraum (Tablet PC und großer Bildschirm). In der traditionellen Konfiguration imitiert die Oberfläche die Interaktion, die in der Regel auf einem Desktop-Computer anzutreffen ist. Die Oberfläche der Klassenraumkonfiguration steuert der Anwender über den Tablet PC als Fernsteuerung, die aber auch die genauere Untersuchung der Situation auf dem Bildschirm ermöglicht. Das Großraumszenario enthält ein Beispiel für Oberflächen, die durch Weisers Vision des Computers des 21. Jahrhunderts inspiriert ist, in dem der Tablet PC durch einen Anwender herumgetragen wird, der seinen Standort wechseln und den Rechner nutzen kann, welcher mit einem festen großen Bildschirm oder einem 3D Stereoskopie-Anzeigegerät zusammenarbeitet, damit der Anwender auf die ihn interessierenden Informationen zugreifen kann.
Erforderliche Arbeiten
Oquist und seine Koautoren präsentierten ein Framework für die Sicherstellung der Usability in Multi-Plattform-Oberflächen. In ihrem Framework wird die Usability mobiler Geräte in vier Kategorien eingeteilt: Portabilität, Aufmerksamkeit, Verwaltbarkeit und Erlernbarkeit. Der Verwendungskontext ist in vier Situationen aufgeteilt, als stationär, im Sitzen, Stehen und in Bewegung bezeichnet. Anschließend werden die Stufe der Aufmerksamkeit/des Abfalls der Aufmerksamkeit, Verwaltbarkeit und Erlernbarkeit mit diesen vier Bedingungen im Hinterkopf bewertet. Wir haben aber festgestellt, dass dieses Framework uns zu sehr einschränkt, wenn die Aufgabe darin besteht, komplexe Szenarien bei der Nutzung eines einzelnen Geräts zu beobachten. Unter verschiedenen Umständen kann die visuelle Aufmerksamkeit auf eine einzelne Anzeige beschränkt sein, auch wenn mehrere Anzeigen präsentiert werden. Ist eine Oberfläche gut designt, kann die Stufe der Aufmerksamkeit erhöht oder verringert werden, je nach den Anforderungen der Aufgabe.
Die Probleme der Usability auf dem Tablet PC als Fernsteuerung wurden im Klassenraum [1] sowie beim heimischen Webzugang [9] erforscht. Die Arbeit an diesen Projekten berührt einige Usabilityprobleme, die auftauchen können, wenn der Tablet PC als Gerät für die Fernsteuerung eingesetzt wird. Wir haben diese Arbeit bei der Betrachtung der Usability beim Umgang mit einer Anwendung für die Visualisierung dreidimensionaler biomedizinischer Daten weitergeführt, die mit großen Mengen interdisziplinärer Daten arbeitet. In diesem Fall musste keine Kontextumschaltung erfolgen, sondern das zusätzliche Anzeigegerät wurde für die Präsentation von Informationen verwendet, nicht für die Anzeige von Informationen, auf die die Anwender konstant Zugriff haben.
Der Schwerpunkt der Arbeit lag in der Verwendung von MPUIs für die Interaktion mit virtuellen Umgebungen (VEs = Virtual Environments) [3, 7, 13]. Dabei wurde besonders auf die Probleme des Aufbaus geachtet, vor denen ein Designer stehen kann, wenn er diese Systeme erstellt, nicht auf die Probleme, mit denen sich ein Anwender konfrontiert sehen könnte, wenn er ein solches System verwendet. Damit wollten wir eine Lücke in der früheren Forschung füllen, indem wir weiter untersucht haben, welche Probleme für einen Anwender auftauchen könnten, wenn er mit einer VE mittels eines kleineren Handheld-Geräts arbeitet.
In der Terminologie der dreidimensionalen Anzeige und Informationsvisualisierung wurde viel Forschungsarbeit investiert, um festzustellen, wie Informationen effektiv angezeigt werden können. In [2] untersuchen die Autoren den Einsatz mehrerer Anzeigegeräte für die Anzeige von Daten, die eine große Anzahl Komponenten enthalten und kommen zu dem Schluss, dass die Verwendung mehrerer Anzeigegeräte den Anwender beim Verständnis der Information unterstützen kann. Bowman und seine Koautoren [4] präsentierten Ergebnisse des Designs von Anwendungen für die Visualisierung von 3D-Informationen sowie auch einige Aspekte bei der Verwendung dieser Anwendungen.
Umfang und Ziel der Anwendung
Wir haben hier eine Umgebung untersucht, die eine biomedizinische 3D-Ansicht erstellt. In dieser Umgebung können wir die Informationen in zwei Haupttypen aufteilen – räumlich und symbolisch. Die räumliche Information ist die 3D-Darstellung des relevanten Bereichs der menschlichen Anatomie, während die symbolische Information aus verschiedenen Attributen besteht, die anzeigen, welcher Körperteil angezeigt wird und welche Labels angezeigt werden.
Um die Usabilityprobleme studieren zu können, die in Multi Plattform-Oberflächen auftauchen, mussten wir zunächst eine Multi Plattform-Oberfläche designen. Wir haben hauptsächlich zwei Plattformen verwendet, zunächst eine SGI Workstation, die eine große Anzeige steuern konnte, und anschließend einen Tablet PC. Die Oberfläche der großen Anzeige haben wir zum großen Teil aus einem bestehenden System entwickelt, das es Medizinstudenten ermöglicht, die menschliche Anatomie zu studieren. Unser Ziel war, den Anwender in die Lage zu versetzen, mit der Anwendung über den Tablet PC als eine Art Fernbedienung zu arbeiten. Wir wollten, dass diese Interaktion weitgehend auf die gleiche Weise geschah wie der Anwender mit einer Anwendung arbeiten würde, wenn er mit einer normal großen Anzeige mit einer Maus und einer Tastatur als Eingabegerät arbeiten würde.
Die logischen Grundlagen und der Design-Prozess
Wir haben unsere Oberfläche in zwei Phasen designt. Um eine Oberfläche zu erstellen, die so realistisch wie möglich ist, haben wir zunächst die Anwender befragt, wie sie einen Tablet PC verwenden würden, um eine große Anzeige für biomedizinische Visualisierung zu steuern. Aufgrund der Ergebnisse der Befragung haben wir iterativ die Oberfläche für die Fernsteuerung durch den Tablet PC entworfen und geprüft. Unser Ziel war, die Anwender in die Lage zu versetzen, mit dem Tablet PC die Anwendung möglichst so zu steuern, wie sie es bei der Verwendung einer normal dimensionierten Anzeige mit einer Maus und einer Tastatur erledigen würden.
Während der ersten Phase haben wir sechs medizinische Experten interviewt, davon fünf Mitglieder der Fakultät sowie einen graduierten Studenten mit umfangreicher klinischer Erfahrung. Diese Auswahl spiegelte unser Ziel wider, die potentielle Verwendung des Tablet PCs sowie der Oberflächentypen den Anforderungen der Anwender bei einer Anwendung zur Darstellung der menschlichen Anatomie anzupassen.
Wir haben aus der Umfrage drei Erkenntnisse gezogen:
- Bereits bevor wir Hinweise darauf gegeben hatten, welches Projekt angedacht war, waren viele Teilnehmer der Meinung, dass der Tablet PC für remote Steuerungsoperationen hilfreich sei. Als Beispiel präsentierte ein Teilnehmer ein Szenario, in dem ein Radiologe auf Abbildungen auf einer remoten Site zugriff und diese mit den Bildern verglich, die er von einem Server empfing.
- In dieser Anwendung wurden zwei Informationstypen verwendet, räumliche (3D-Darstellungen) und symbolische (Beschriftungen verschiedener Körperteile). Alle Teilnehmer bevorzugten eine strukturierte Hierarchie der angezeigten Informationen im Vergleich zur reinen alphabetischen Reihenfolge, wenn die Struktur der Information der anatomischen Struktur entspricht.
- Die Teilnehmer bevorzugten es, die Steuerung von einer Stelle aus vorzunehmen, statt die symbolischen Daten von einer Stelle aus zu steuern und die räumlichen Daten von einer anderen Stelle aus. Zusätzlich wollten die Anwender viele der symbolischen Daten an der gleichen Stelle sehen wie die räumlichen Daten.
Ursprünglich hatten wir geplant, die symbolische Information auf dem kleineren Gerät anzuzeigen, während die räumliche Information auf dem großen Bildschirm präsentiert werden sollte. Die Anwenderbefragungen zeigten aber, dass es eine schlechte Lösung ist, die Informationen auf die beiden Geräten aufzuteilen. Obwohl diese Aufteilung der Informationen vom Konzept her einfach ist, haben wir erkannt, dass die Anwender eine Stelle für die Steuerung bevorzugen und dass Sie einen Großteil der symbolischen Daten an der gleichen Stelle wie die räumlichen Daten sehen möchten. Aus diesem Grund haben wir unsere Informationsaufteilung geändert, so dass alle biomedizinischen Informationen (z.B. Bilder und Beschriftungen) auf dem großen Gerät angezeigt wurden, während alle Steuerungsinformationen und Eingaben auf dem kleineren Gerät verarbeitet wurden.
Das Design und die Implementierung des Systems
Mit diesen Einsichten im Hinterkopf haben wir die Anwendung MoVE (Multiplatform Visible human Explorer) designt, die die plattformübergreifende Interaktion zwischen einem Tablet PC und einer SGI Origin 10000 Workstation (Abbildung 1) unterstützt. Die SGI wurde für die Anzeige der 3D-Volumendaten verwendet, die auf einer IRIX6.5 lagen und der Tablet PC (ein Toshiba Portégé) wurde als Fernsteuerung verwendet. Durch diese Kommunikation konnte keine merkbare Verzögerung festgestellt werden (weniger als 1 ms).
Abbildung 1. Der Versuchsaufbau. Links: Nur Monitor, Mitte: der Tablet PC steuert den Monitor, rechts: der Tablet PC steuert die Projektion an der Wand.
Die Oberfläche
Das Ergebnis unseres Oberflächendesigns sehen Sie in den Abbildungen 2 und 3. Die Anwender konnten den menschlichen Körper durch die Kombination der 2D- und 3D-Oberflächen auf eine natürliche und intuitive Weise untersuchen. Eine explizite Verbindung zwischen den räumlichen und symbolischen Daten wurde entsprechend dem Klick der Anwender auf der Struktur des Tablet PCs auf der Anzeige präsentiert, die mit dem SGI verbunden war. Mit unserem System können die Anwender folgende Aktionen ausführen:
- Umschalten für die Oberflächen für Transparenz, Ausschneiden und rotieren, indem auf dem Tablet PC auf einen Tab getippt wird.
- Tippen auf ein Element in der hierarchischen Struktur auf dem Tablet PC, um die dazugehörige Struktur auf der SGI-Anzeige anzuzeigen.
- Verschieben eines Reglers, um die Transparenz eines Elements zu ändern.
- Verwenden einer Geste mit dem Stift auf dem Tablet PC, um ein Objekt zu rotieren.
Die Oberflächen im WIMP-Stil boten den Anwendern eine vertraute Methode der Interaktion.
Abbildung 2. Die Benutzeroberfläche auf dem Tablet PC.
Abbildung 3. Die dreidimensionale Visualisierung der Daten.
Die Architektur der Software
Auf dem Tablet PC wurde die Programmierung mit Microsoft .NET und C# auf der Grundlage einer TCP Client-Server-Architektur implementiert. Die SGI, die mit IRIX arbeitete, führte mehrere Threads aus und verwendete eine Architektur mit gemeinsam genutztem Speicher. Ein Thread überwachte die Daten, die durch den Tablet PC gesendet wurden und schrieb in den gemeinsam genutzten Speicher; der andere Thread behandelte die Visualisierung der Daten mit X Windows und OpenGL VolumizerTM. Er wurde in Echtzeit aktualisiert, wenn der gemeinsam genutzte Speicher aktualisiert wurde.
Für die Kommunikation mit der SGI Workstation wurden standardmäßige TCP/IP Sockets verwendet. Dadurch war es uns möglich, für die Verbindung mit der Workstation eine standardmäßige drahtlose Verbindung zu verwenden. Obwohl auf beiden Plattformen die gleiche Funktionalität ausgeführt wurde unterschied sich das Look and Feel der beiden Anwendungen aufgrund der Unterschiede zwischen den beiden Betriebssystemen substantiell. Auf dem Tablet PC wurden die Standardelemente von Windows einschließlich von Fenstern mit Tabs und aufklappbaren Menüs verwendet. Auf der SGI-Maschine wurden die Oberflächenelemente mit Motif designt. Aus diesem Grund erscheint die Oberfläche auf der SGI als ein Satz von Schaltflächen und Schiebereglern. Zusätzlich zu den Unterschieden auf der Oberfläche durch die unterschiedlichen Plattformen unterschied sich die Methode für die Rotation der Darstellung auf den beiden Geräten. Bei der Arbeit mit dem Monitor über Tastatur und Maus konnte der Anwender direkt auf die 3D-Darstellung klicken und sie rotieren, indem er die Maus bewegte. Da der Anwender nicht direkt mit der Darstellung arbeitete, wenn er den Tablet PC als Fernsteuerung für die Rotation benutzte, wurde ein Standbild der Darstellung an den Tablet PC gesendet. Dieses Bild wurde in einem kleinen Fenster angezeigt, das der Anwender ziehen konnte, um die Darstellung zu rotieren.
Das Design des Experiments
Für unser Experiment verwendeten wir zwei Anzeigearten. Die erste Anzeige war ein Standardmonitor mit einer Bildschirmdiagonalen von 21 Zoll und die zweite war eine Projektion des Bildschirms an eine Wand (CAVE = Automatic Virtual Environment). Die Software, die auf der SGI-Maschine lief, war in der Lage, eine stereoskopische 3D-Simulation an der Wand zu erzeugen, allerdings waren wir nicht in der Lage, dieses Feature zu nutzen, da die Stereoskopiebrillen, die für die Ansicht der 3D-Darestellung erforderlich sind, mit der Refreshrate des Tablet PCs in Konflikt gerieten, was zu einem unangenehmen Flackern bei der Ansicht des Tablet PCs führte. Dieses Problem könnte durch passive Gläser gelöst werden, die aber leider im Labor nicht vorhanden waren. Wir waren der Ansicht, dass die Ansicht der Daten in einer vollständigen 3D-Darstellung einen besseren Eindruck vermitteln und eine schnellere Performance bei der Suche nach den Informationen ermöglichen würde.
Der Tablet PC, der als Fernsteuerung für die SGI Workstation verwendet wurde, war ein Toshiba Portègè 3505, auf dem Windows XP Tablet PC Edition ausgeführt wurde und der mit einem 1,33 GHz Pentium III Prozessor und einer 12,1 Zoll- Anzeige ausgestattet war. Der Anwender arbeitete mit dem Tablet PC mit Hilfe des Stylus, was es ihm ermöglichte, den Tablet PC wie einen normalen Block aus Papier zu halten. Das primäre Ziel dieses Designs war, dem Anwender zu ermöglichen, während der Arbeit mit dem Gerät zu stehen und sich zu bewegen.
Wir haben das Experiment in zwei Schritten durchgeführt. Im ersten Schritt führten wie eine qualitative Analyse im Hinblick auf die Aufgabe unserer Anwendung durch (z.B. biomedizinische Visualisierung). Für diesen Schritt haben wir sechs fachliche Experten eingesetzt, fünf Mitglieder der Fakultät, sowie einen graduierten Studenten (der über zwei Jahre klinischer Erfahrung verfügte, bevor er die medizinische Schule besuchte). In dieser Stufe verwendeten wir ein Laut-Denken-Protokoll, um die Reaktionen der Anwender auf das Oberflächendesign zu beobachten, sowie um festzustellen, welche Verbesserungen für die Anwender hilfreich wären. In diesem Schritt ermöglichten wir den Anwendern, die Anwendung auf beliebige Weise zu erkunden. Wir wollten in erster Linie feststellen, welche realistischen Einsatzgebiete zu erwarten sind und sicherstellen, dass wir keine Anwendung erstellen, die sich auf die Verwendung der MPUI konzentriert und dabei die fachliche Verwendung vernachlässigt.
Im zweiten Schritt haben wir uns primär auf das MPUI der Anwendung konzentriert. Für diesen Schritt haben wir sechs Teilnehmer im Alter zwischen 22 und 30 Jahren rekrutiert, fünf Männer und eine Frau. Fünf Teilnehmer waren graduierte Studenten der Computer Science Fakultät und ein Teilnehmer kam vom Systems Engineering Department. Wir ließen sie alle drei Methoden der Interaktion ausprobieren und änderten dabei die Reihenfolge, in der die Teilnehmer diese Methoden sahen. Die Teilnehmer erhielten jeweils etwa fünf Minuten, um sich mit der Oberfläche vertraut zu machen. Anschließend erhielten sie zwei Aufgaben, die darin bestanden, Informationen zu finden. Zur Lösung dieser Aufgaben mussten sie alle Features der Anwendung einsetzen. Wir beobachteten die Teilnehmer sowohl bei der Lösung der Aufgaben als auch bei der Erforschung der Oberflächen. Nachdem sie mit allen Konfigurationen gearbeitet hatten, baten wir sie, einen kurzen Fragebogen auszufüllen und uns ihre Eindrücke im Hinblick auf die Oberflächen mitzuteilen.
Die Ergebnisse des Experiments
Während der ersten Phase des Experiments kamen wir zu einem interessanten Ergebnis aufgrund einer Komplikation im Zusammenhang mit der MPUI. Viele der Fachleute bevorzugten die Arbeit mit dem Tablet PC gegenüber der direkten Arbeit mit der normalen GUI, da sie mit der Oberfläche des Tablet PCs besser vertraut waren. Grund dieser Vorliebe war zweifelsfrei, dass die Oberfläche auf dem Tablet PC die bekannten Steuerelemente von Microsoft Windows verwendete, mit denen die Anwender vertrauter sind als mit den eher exotischen Steuerelementen des UNIX-Systems.
Die erste Phase diente uns in erster Linie, sicherzustellen, dass das Experiment eine Aufgabe der realen Welt repräsentiert. Bevor wir zur zweiten Phase übergingen, änderten wir unsere Oberfläche auf der Basis der Informationen, die uns die Anwender mit Fachkenntnissen mitteilten und aus denen wir erfuhren, was bei dieser Art der Anwendung erforderlich ist. Auf diese Weise konnten wir während der zweiten Phase unseres Experiments unseren Fokus exklusiv auf das MPUI der Anwendung richten und dadurch zu einigen interessanten Resultaten gelangen.
Probleme mit der Interaktion
Die Teilnehmer bewerteten die Interaktion mit dem Monitor, der durch den Tablet PC gesteuert wurde als schlechtesten Versuchsaufbau (3,7), die Kontextumschaltung als nächstbesseres Vorgehen (3,8) und die Fernsteuerung am besten (5,2 für das LSD und 4 für den Monitor) auf einer Skala von 1 bis 7, wobei 1 die schlechteste Wertung war, 4 neutral und 7 die beste Wertung. Siehe dazu Tabelle 1.
Tabelle 1. Zusammenfassung der Ergebnisse der Befragung.
Die Frustration der Anwender mit der Interaktion lässt sich durch die fehlende Erfahrung der meisten Teilnehmer mit der Stifteingabe erklären. Sie hatten daher Probleme im Umgang mit der Kombination aus Tippen und dem Wechsel Cursorposition. Dieses Ergebnis legt nahe, dass der Tablet PC für Anfänger in dieser Art der Anwendung nicht geeignet ist. Dies hat Einfluss auf die Bedingungen, unter denen der Tablet PC für die Ausleihe in einer Bibliothek oder in einem anderen öffentlichen Bereich eingesetzt werden könnte.
Unsere Beobachtungen zeigten, dass die meisten Teilnehmer keine Probleme bei der Interaktion mit der „Touch-Pad“-Oberfläche hatten, mit der sie die Rotation steuerten. Sie konzentrierten sich nicht auf den Tablet PC (der für sie weitgehend unsichtbar wurde), sondern auf die Darstellung auf dem primären Anzeigegerät. Andererseits lenkten die Anwender ihre volle Aufmerksamkeit auf den Tablet PC, wenn sie andere Elemente der Oberfläche verwendeten. Die Aufmerksamkeit der Anwender galt dem Gerät, das das Ergebnis der durchgeführten Manipulation enthielt. Wir vermuten, eine Interaktion, in der die Anzeige des Ergebnisses zwischen den beiden Geräten aufgeteilt ist, eine schlechte Usability aufweist, da auf diese Weise die Aufmerksamkeit häufiger zwischen den beteiligten Geräten wechselt.
Probleme mit dem Wechsel der Aufmerksamkeit zwischen den Geräten
Die Teilnehmer bewerteten die Desktop-Oberfläche als die Oberfläche, die am einfachsten zu bedienen ist (6,2 auf der 7er Skala). Diese Oberfläche erforderte keinen Wechsel der Aufmerksamkeit zwischen zwei Geräten, da sich die Anzeige wie auch die Steuerung auf der gleichen Oberfläche befanden. Interessant war, dass die Teilnehmer aussagten, dass die Darstellung durch die Projektion weniger Probleme mit dem Aufmerksamkeitswechsel hervorrief als der Wechsel zwischen einem Monitor und dem Tablet PC als Fernsteuerung.
Während der Verwendung des Tablet PCs mit dem Monitor platzierte ein Teilnehmer den Tablet PC in die Nähe des regulären Monitors, um den Aufwand des Wechsels der Aufmerksamkeit zwischen den Geräten zu verringern.
Obwohl das LSD als auch die monitorbasierte Oberfläche die gleiche Anzahl Aufmerksamkeitswechsel erforderten, wenn ein Tablet PC als Fernsteuerung eingesetzt wurde, hatten die Anwender mit dem LSD weniger Probleme, was durch die periphere Verarbeitung erklärt werden kann, in der die Oberfläche versucht, die Aufmerksamkeit der Benutzer nur am Rande auf sich zu ziehen, wie es Ullmer und Ishii [12] empfehlen. Die periphere Verarbeitung, die das LSD anbot, ermöglichte es den Anwendern, ihre Aufmerksamkeit auf die unterschiedlichen Geräte zu lenken, ohne dafür die Blickrichtung ändern zu müssen [14]. Bei der Verwendung der monitorbasierten Oberfläche musste der Anwender meist seinen Kopf hin und her bewegen, wenn er seine Aufmerksamkeit von einem Gerät auf das andere lenkte. Die Ausnahme war der Anwender, der den Tablet PC neben dem Monitor platzierte, eine Strategie, die die Aufmerksamkeitswechsel verringerte. Wir sind der Meinung, dass dieses Ergebnis nahelegt, dass das Studium der Blickrichtungen eine interessante Aufgabe für die Zukunft darstellt.
Probleme mit dem Large Screen Display
Wir haben die Teilnehmer beobachtet, während sie sich mit den Oberflächen vertraut machten. Dabei haben wir festgestellt, dass diejenigen Teilnehmer, die zunächst die Oberfläche des Tablet PCs verwendet haben, das System genauso schnell erlernten wie diejenigen, die zunächst die Maus und die Tastatur als Eingabegeräte verwendeten. Sie waren auch in der Lage, die erste Aufgabe in etwa der gleichen Zeit zu erledigen. Interessant war aber, dass unabhängig von der Tatsache, dass die zweite Aufgabe funktional mit der ersten identisch war, diejenigen Teilnehmer, die als erstes Gerät den Tablet PC verwendet haben, häufig für die Erledigung der zweiten Aufgabe fast so viel Zeit benötigten wie für die Erledigung der ersten Aufgabe. Dieses Ergebnis änderte sich auch nicht, wenn sie zur Oberfläche mit der Maus- und Tastaturbedienung wechselten. Diejenigen Teilnehmer, die als erste Eingabegeräte die Maus und Tastatur verwendeten, benötigten für die Erledigung der ersten Aufgabe etwa 40 Sekunden und circa 10 Sekunden für die zweite Aufgabe. Die Teilnehmer, die als erste Oberfläche den Tablet PC verwendeten, benötigten für beide Aufgaben etwa 10 Sekunden. Aufgrund der geringen Anzahl der Teilnehmer an unserem Experiment können wir nicht entscheiden, ob dies eine allgemeingültige Beobachtung ist oder lediglich eine Besonderheit der Teilnehmer an diesem Experiment. Wir vermuten aber, dass die Teilnehmer Probleme mit der Koordination ihrer Aktionen auf der remoten und der primären Anzeige hatten, wenn sie Prozesse mit mehreren Schritten ausführten. Obwohl die Anwender auf einfache Weise herausfinden konnten, wie sie mit einem Schieberegler arbeiten mussten, um die Transparenz zu erhöhen oder zu vermindern, können sie die Koordination zwischen ihrer Aktion und dem daraus resultierenden Ergebnis verlieren, wenn sie mit ihrem Blick zwischen den Ansichten wechseln müssen. Ohne diese Koordination könnte der Anwender Probleme haben, zu beobachten, wie seine Aktion sich auf den aktuellen Status ausgewirkt hat und aus diesem Prozess zu lernen. Dieses Problem könnte aufgrund der zusätzlichen Belastung entstehen, da der Anwender mit zwei Geräten parallel umgeht und aufgrund einer vererbten Schwierigkeit der Menschen, einen Status über mehrere Geräte hinweg zu verfolgen.
Probleme mit dem Formfaktor
Obwohl viele Anwender das Gefühl hatten, dass der Tablet PC zu schwer sei, um im Stehen verwendet zu werden, fanden gerade diese Anwender häufig interessante Möglichkeiten, von der Mobilität des Tablet PCs zu profitieren. Die eventuell interessanteste Verwendung der Mobilität war, als einer der Anwender den Tablet PC unterhalb des Monitors platzierte und dadurch den Monitor vergrößerte. Dadurch konnte der Anwender mit der Oberfläche arbeiten, als würde er mit einem Tablet PC mit zwei Anzeigen umgehen. Gleichzeitig platzierte der Anwender die Steuerungsinformationen an der Stelle, an der er sie für am bequemsten hielt. Durch die Möglichkeit des Anwenders, nicht nur die Art anzupassen, auf die die Information angezeigt wird, sondern auch die Anzeige selbst, bietet der Tablet PC eine interessante Erweiterung der Anpassbarkeit einer Anwendung, die unserer Meinung nach einer weiteren Untersuchung wert ist.
Wie bereits ausgeführt, bedienen die meisten Anwender den Tablet PC bevorzugt im Sitzen. Während uns einer der Anwender mitteilte, dass er kein Problem damit habe, den Tablet PC im Stehen zu verwenden, teilten die anderen mit, dass er zu schwer sei, um effektiv in einer Hand gehalten zu werden. Wenn wir davon ausgehen, dass der Tablet PC für ein Gerät seiner Größe extrem leicht ist, scheint diese Aussage darauf hinzuweisen, dass viele Anwender sich nicht damit anfreunden können, ein moderat großes Gerät im Stehen zu verwenden. Wir sollten noch bemerken, dass keiner der Anwender, die diese Beobachtung gemacht hatten, Erfahrungen mit der Verwendung von Handheld-Geräten hat, so dass anzunehmen ist, dass sie mit den Möglichkeiten, ein solches Gerät zu halten, nicht vertraut sind.
Auf die Frage nach der bevorzugten Größe für das Handheld-Gerät antwortete keiner der Teilnehmer, dass das Gerät größer sein sollte, während einige Teilnehmer sich dringend ein kleineres Gerät wünschten. Sie hatten das Gefühl, dass ein kleineres Gerät einfacher zu halten sein würde und dass der Tablet PC mehr als ausreichend Raum bereitstellte, um alle erforderlichen Informationen anzuzeigen. Wäre es erforderlich, eine größere Informationsmenge anzuzeigen, wären die Anwender nicht willens, ein kleineres Gerät zu akzeptieren. Aufgrund der Klagen über das Gewicht des Tablet PCs ist es unwahrscheinlich, dass viele Anwender bereit wären, ein größeres Gerät zu akzeptieren, unabhängig von der Informationsmenge, die angezeigt werden muss.
Ursprünglich waren wir davon ausgegangen, dass einige Anwender versuchen könnten, den Tablet PC auf eine Weise zu halten, die den Blick auf den Bildschirm verstellt. Wir haben aber festgestellt, dass dies nicht der Fall war. Die Anwender hielten den Tablet PC automatisch so, dass er ihre Sicht nicht beeinträchtigte. Das bedeutet nicht, dass sie keine Probleme mit der Positionierung des Tablet PCs hatten. Die Hälfte der Anwender hatte das Gefühl, dass es extrem unkomfortabel war, den Tablet PC in der Position zu halten, in der sie ihn hielten. Interessant war, dass die andere Hälfte der Anwender die Halteposition als sehr bequem empfand; die Frage brachte nur extreme Antworten ohne unentschiedene Antworten. Dies könnte ein Zeichen dafür sein, dass einige Anwender die Verwendung eines Handheld-Geräts insgesamt als nicht akzeptabel empfanden oder es könnte bedeuten, dass einige Anwender nicht ausreichend vertraut mit diesen Geräten sind, um sie bequem bedienen zu können.
Einfache Anwendung
Wenn wir den Schwierigkeitsgrad der Bedienung der drei unterschiedlichen Konfigurationen vergleichen, stellen wir fest, dass die Anwender die Verwendung von Maus und Tastatur als am Einfachsten empfanden und die Verwendung des Tablet PCs zusammen mit dem Standard-Monitor als am Schwierigsten. Dazu ist anzumerken, dass alle Teilnehmer an dem Test überdurchschnittliche Erfahrung im Umgang mit dem Computer und daher auch mit der Maus und der Tastatur haben und daher diese Methode der Bedienung eher bevorzugen als es eine Gruppe tun würde, die weniger Verständnis im Umgang mit dem Rechner hat. Obwohl die Anwender sich vertrauter im Umgang mit Maus und Tastatur fühlten, berichteten sie über keine besonderen Probleme im Umgang mit dem Tablet PC.
Die Ergebnisse
Die Ergebnisse unserer Experimente wiesen auf einige Probleme des MPUI-Designs für virtuelle Umgebungen hin. Eines der ersten Dinge, das wir festgestellt haben, war, dass unerfahrene Anwender es als einfacher empfinden, mit den Standardelementen von Microsoft Windows zu arbeiten, mit denen sie vertraut sind. Es ist zwar möglich, die vertrauten Elemente auch in anderen Systemen zu erstellen, allerdings bedeutet dies einen erheblichen Mehraufwand. Aus diesem Grund ist es sinnvoll, eine Plattform zu nutzen, mit der die Anwender bereits vertraut sind. So kann die Möglichkeit der Anwender verbessert werden, mit der Anwendung komfortabel und effektiv zu arbeiten. Zusätzlich haben wir festgestellt, dass Anwender, die im Umgang mit dem Computer nicht so vertraut sind, sich mit dem Tablet PC sicherer fühlten als Anwender, die vertrauter mit dem Computer sind, wobei die Anwender, die mit dem Tablet PC am besten zurechtkamen, diejenigen waren, die bereits Erfahrungen mit anderen Handheld-Geräten vorweisen konnten. Daraus können wir schließen, dass Nutzer, die bereits mit Tastatur und Maus vertraut sind, weniger bereit sind, zu einer anderen weniger vertrauten Eingabemethode zu wechseln als Anwender, die nicht an die Eingaben mit Tastatur und Maus gewöhnt sind.
Wie wir bereits weiter oben ausgeführt haben, hatten wir den Eindruck, dass die Anwender Probleme hatten, ein effektives mentales Modell für die Anwendung zu entwickeln, wenn die beiden Geräte in Kombination verwendet wurden. Obwohl sie in der Lage waren, problemlos einfache Aufgaben zu erlernen und mit wenigen Problemen auch erweiterte Aufgaben erledigten, hatte es den Anschein, dass Aufgaben, die mehrere aufeinanderfolgende Aktionen erforderten, schwierig effektiv durchzuführen waren. Dieses Problem zu lösen scheint besonders wichtig zu sein, auch wenn wir nicht wissen, wie es am besten angegangen werden sollte. Eine mögliche Lösung könnte sein, die Anzahl der Aktionen mit mehreren Schritten einzuschränken, die ein Anwender ausführen muss. Alternativ könnte der Anwender zunächst eine Kombination aus Standardtastatur und Maus verwenden, um ein effektives mentales Modell der Anwendung zu entwickeln, und anschließend zu einer 3D-Darstellung weiterzugehen, wenn der Anwender vertrauter mit den Möglichkeiten der Anwendung ist.
Außerdem haben wir festgestellt, dass viele Anwender den Tablet PC als zu schwer oder zu unpraktisch empfanden, um ihn in stehender Position zu verwenden. Dies scheint darauf hinzuweisen, dass viele Anwender für diese Art der Anwendung kleinere Geräte bevorzugen würden. Obwohl ein PDA zu klein sein könnte, um eine sinnvolle Menge an Informationen anzuzeigen, könnte ein kleinerer Tablet PC genau richtig sein. Zusätzlich hat es den Anschein, dass viele Menschen die Verwendung eines Tablet PCs als unkomfortabel empfinden. Es könnte also einige Zeit in Anspruch nehmen, die Anwender mit dem Gebrauch von Handheld-Geräten anzufreunden.
Letztendlich haben wir festgestellt, dass die Anwender am meisten über die Mobilität des Tablet PCs erstaunt waren. Dies könnte in Widerspruch mit dem Widerwillen einiger Anwender stehen, das Gerät im Stehen zu verwenden, allerdings empfanden die Anwender, die entweder vertraut oder zumindest teilweise vertraut mit dem Gebrauch eines Tablet PCs waren, die Möglichkeit, das Gerät während der Benutzung herumzutragen, als großen Vorteil. Ein Anwender hob hervor, dass es bei der Verwendung eines Tablet PCs möglich wäre, zwischen verschiedenen Anzeigen hin und her zu wechseln und sie alle mit dem gleichen Gerät zu steuern. Diese Mobilität war eines der wichtigsten Features, die die Anwender an dem Gerät mochten. Ein Designer ist gut beraten, wenn er den Anwendern die Möglichkeit gibt, von dieser Fähigkeit effektiven Gebrauch zu machen, wenn er ein ähnliches MPUI-System entwirft.
Künftige Forschungen
Unsere Studie identifizierte verschiedene interessante Forschungslinien, die wir gerne weiter verfolgen würden. Die interessanteste Richtung wäre die weitere Untersuchung der Lernschwierigkeiten, die wir festgestellt haben, wenn die Anwender den Tablet PC als Fernsteuerung nutzten. Wir würden gerne nachweisen, dass diese Lernschwierigkeiten durch den Einsatz des Tablet PCs als Fernsteuerung hervorgerufen werden und nicht ein anormales Ergebnis durch die unterschiedlichen Lernstrategien der Testteilnehmer darstellen. Wenn diese Lernschwierigkeiten das Ergebnis der Verwendung einer Fernsteuerung darstellen, wäre es interessant, zu versuchen, festzustellen, weshalb dieses Problem auftritt und was getan werden könnte, um es zu lösen. Außerdem würden wir gerne weiter untersuchen, wie gut sich eine Fernsteuerung in einer stereoskopischen dreidimensionalen Umgebung verwenden lässt. Wie bereits weiter oben bemerkt, hatten wir Probleme mit den unterschiedlichen Refreshraten auf dem Tablet PC und den wechselnden Bildern, die durch das stereoskopische Projektionssystem verwendet wurden. Wir hoffen, dass wir durch Experimente mit den unterschiedlichen Wiederholungsraten versuchen können, diesen Konflikt zu lösen und Informationen zu erlangen, wie sich ein Tablet PC als Fernsteuerung in einer echten 3D-Umgebung verwenden lässt.
Zusammenfassung
In diesem Artikel haben wir einige der Probleme im Zusammenhang mit der Usability erkundet, vor denen ein Designer steht, wenn er eine Multi-Plattform Benutzeroberfläche für eine Anwendung erstellen soll, die eine dreidimensionale Anzeige umfasst. Um diese Probleme zu erkunden, haben wir mit einer SGI Workstation und einem Tablet PC eine MPUI erstellt. Wir untersuchten diese Integration mit Hilfe einer biomedizinischen Anwendung, die wir mit typischen Fachbenutzern getestet haben, um sicherzustellen, dass die Anwendung ein gültiges und realistisches Beispiel darstellt und nicht nur eine Spielzeuganwendung ist, die nur für den Gebrauch in einer MPUI verwendet wird. Anschließend haben wir diese Oberfläche mit externen Experten getestet, um Informationen mit direktem Fokus auf die Aspekte der MPUI zu erhalten, nicht einfach über die fachspezifischen Aspekte. Wir fanden einige interessante Probleme im Design von MPUI-Schnittstellen in VEs wie auch verschiedene Bereiche, die noch erkundet werden müssen. Wir glauben, dass die Verwendung von Handheld-Geräten als Fernsteuerung für großformatige Anzeigen und virtuelle Umgebungen eine sinnvolle Möglichkeit darstellt. Obwohl wir einige wenige Probleme mit dieser Anwendung gefunden haben, hoffen wir, dass diese Schwierigkeiten zukünftig überwunden werden können, so dass wir von den vielen Vorteilen profitieren können, die wir beim Einsatz eines Handheld-Geräts als Fernsteuerung identifiziert haben.
Referenzen
-
Anderson, R., Anderson, R., Simon, B., Wolfman, S.A., VanDeGrift, T. und Yasuhara, K., Experiences with a Tablet PC Based Lecture Presentation System in Computer Science Courses, SIGCSE, 56-60, 2004.
-
Baldonado, M.Q., Woodruff, A., und Kuchinsky, A., Guidelines for Using Multiple Views in Information Visualization, Proc. of AVI, 110-119, 2000.
-
Benini, L., Bonfigli, M.E., Calori, L., Farella, E., und Ricco, B., Palmtop Computers for Managing Interaction with Immersive Virtual Heritage, EUROMEDIA2002, 183-189, 2002.
-
Bowman, D.A., North, C., Chen, J., Polys, N.F., Pyla, P.S. und Yilmaz, U., Information-Rich Virtual Environment: Theory, Tools, and Research Agenda, ACM VRST, 81-90, 2003.
-
Garrett, N., Kun, L. und Yasnoff, W., A Just-in-time Delivery of Prevention Guidelines to Improve Compliance, APHA, 2000.
-
Grimes, S.L., Security: A New Clinical Engineering Paradigm, IEEE Engineering in Medicine and Biology Magazine(July/August): 80-82, 2004.
-
Hartling, P., Bierbaum, A. und Cruz-Neira, C., Tweek: Merging 2D and 3D Interaction in Immersive Environments, 6th World Multiconference on Systemics, Cybernetics, and Informatics, 2002.
-
Lin, C.-y., Chen, D.T., Loftin, R.B., Chen, J. und Leiss, E.L., Interacting with Visible Human Data Using an ImmersaDesk, IEEE Virtual Reality, 267-268, 2002.
-
McClard, A. und Somers, P., Unleased: Web Tablet Integration into the Home, ACM CHI, 1-8, 2000.
-
Satava, R., Virtual Reality Surgical Simulator: The First Steps, Surg. Endoscopic, 7(3): 203-205, 1993.
-
Starren, K., in IEEE Conf. on ITAB-IT IS, Washington DC., 2000.
-
Ullmer, B. und Ishii, H., Emerging Frameworks for Tangible User Interfaces, IBM Systems Journal, 39(34): 915-931, 2000.
-
Watsen, K., Darken, R. und Capps, M., A Handheld Computer as an Interaction Device to a Virtual Environment, Interactional Projection Technologies Workshop, 1999.
-
Wickens, C.D. und Hollands, J., Engineering Psychology and Human Performance, Prentice hall, 1999.
Wie bereits in den letzten beiden Jahren wird es auch in diesem Jahr einen OpenSpace in Leipzig geben. Es steht zu erwarten, dass die Veranstaltung auch 2010 schnell ausgebucht sein wird. Damit Sie einen Platz ergattern können, ist es empfehlenswert, dass Sie sich in die Mailingliste für den OpenSpace eintragen, damit Sie informiert werden, wenn die Registrierung geöffnet wird. Ich werde auf jeden Fall wieder dabei sein.
von Ulrich Schrader
Ich verwende Screencasting, um meine Vorlesungen aufzuzeichnen und den Studenten zur Verfügung zu stellen. Hierbei handelt es sich um ein Projekt, das von der FH Frankfurt am Main im Rahmen des eLearning-Angebotes unterstützt und evaluiert wird. Ich möchte hier die von mir verwendete Ausstattung beschreiben. Dabei handelt es sich um eine sehr leistungsfähige Ausstattung; nicht immer ist so viel wirklich erforderlich.
Verwendete Ausstattung zur Vorlesungsaufzeichnung
Hardware
- TabletPC: Fujitsu Siemens Stylistic ST5032D
- Mikrophon: Sony Electret Condenser Microphone ECM-T6
- optional: Minitastatur: Keysonic Minikeyboard
Software
- Aufzeichnungssoftware: Camtasia Studio 4
- Präsentationssoftware: vorwiegend Microsoft PowerPoint 2003
- ansonsten Browser und thematisch bezogene Anwendungen
Erfahrungen im Einsatz bei der Vorlesungsaufzeichnung
Tablet PC
Bei dem verwendeten Tablet PC handelt es sich um ein high-end Gerät ohne Tastatur. Es verfügt über eine Vielzahl von Schnittstellen und Anschlussmöglichkeiten, die es sehr universell im Einsatz machen. Der Stylistic Tablet PC zeichnet sich durch sein geringes Gewicht aus, wodurch es sich sehr leicht und angenehm mitnehmen lässt. Dieses ist von Bedeutung, da ich die Aufzeichnungen zu Hause begutachte und ggf. nachträglich bearbeite.
Im praktischen Einsatz in Vorlesungen gibt es eigentlich nur einen Nachteil. Es fehlen Füßchen, damit der Bildschirm leicht zum sitzenden Betrachter hin geneigt werden kann. Besonders störend kann dieser Mangel sein, wenn sich die Deckenbeleuchtung im Bildschirm wiederspiegelt. Der Hersteller scheint hier am falschen Ort gespart zu haben. Ich lege meistens dicke Filzstifte unter das Gerät, um es zu neigen.
Die Unterseite ist teilweise stoffähnlich beschichtet, wodurch er auf Kleidung nur wenig rutscht. Sehr angenehm, wenn das Gerät auf den Oberschenkeln liegt, etwa bei einer Zugfahrt. Allerdings heizt es sich relativ stark auf, so dass dieses wahrscheinlich nur im Winter angenehm ist.
Mikrophon
Das eingebaute Mikrophon ist eine gute Basislösung, hat aber den Nachteil, dass es etwas empfindlich auf Drehen des Kopfes oder Veränderungen des Abstands zum Gerät reagiert. Hier hat sich der Anschluss eines externen Mikrophons bewährt, da damit eine gleichbleibende Qualität sichergestellt werden kann. Es kann sein, dass das eingebaute Mikrophon sich bei der Aufzeichnung von Gesprächsrunden bewährt. Dieses ist noch zu überprüfen. Das verwendete externe Mikrophon Sony ECM-T6 ist mittels eines Kabels mit dem Tablet PC verbunden. Dadurch ist man bei einem Vortrag gezwungen, sich in der unmittelbaren Umgebung des Rechners zu befinden. In der Regel sitzt man davor, sofern kein Pult zur Verfügung steht. Da eine Bluetooth-Schnittstelle verfügbar ist, müsste es möglich sein, ein Bluetooth-kompatibles Funkheadset anzuschließen. Auch dieses müsste getestet werden. Allerdings verhindert wahrscheinlich die geringe Kapazit des Akkus eines solchen Funkheadsets, dass zuverlässig die 90 Minuten bis 3 Stunden eines Vorlesungsblockes abgedeckt werden können.
Netzwerkanschlüsse
Die Verfügbarkeit von W-Lan und herkömmlichen Anschlüssen eröffnet alle Möglichkeiten, so dass auf die jeweiligen Gegebenheiten leicht eingegangen werden kann.
Bildschirm
Der Bildschirm ist gut von der Seite lesbar, so dass er auch flach auf dem Tisch liegend, sitzend oder herumlaufend gut gelesen werden kann. Die Standardschrift ist aus der Entfernung manchmal schwer zu lesen, kann aber größer gestellt werden (Eigenschaft des Betriebssystems oder der Anwendung). Die zum Schutz der Bildschirmoberfläche erforderliche Schutzfolie vermeidet aber Reflexionen nicht zur Gänze. Dieses kann bei Oberlichtern unangenehm werden. Allerdings lassen sich so durch das notwendige Berühren der Oberfläche entstehende Flecken sehr leicht beseitigen. Schreibt man mit dem Stift auf der Oberfläche, so hat man eine papierähnliche Reibung. Hierdurch ist das Schreiben sehr angenehm und führt zu guten Resultaten. Die Schutzfolie erlaubt es auch den Handballen beim Schreiben auf dem Bildschirm abzulegen, was der Schriftqualität zu gute kommt. Hier liegt auch ein kleines Problem. Legt man das Handgelenk am unteren Bildschirmrand ab (ich benutze immer Querformat), so wird manchmal ein zu starker Druck auf die dort befindlichen Tasten ausgeübt. Dieses kann dazu führen, dass der Tablet PC ungewollt in den Sleep-Modus versetzt wird, oder aber die Bildschirmorientierung sich von Quer- auf Hochformat ändert. Während eines Vortrags oder einer Vorlesung kann das durchaus störend sein.
Stift
Der Stift liegt angenehm in der Hand, könnte aber für mein Gefühl etwas schwerer sein. In wie weit das geringe Gewicht technisch erforderlich ist, kann ich nicht beurteilen. Da der Stift selber anscheinend aktive Komponenten enthält, ist er relativ teuer. Er ist aber unerlässlich, um das Gerät ohne zusätzliche Komponenten bedienen zu können. Einfacher mechanischer Druck ist hierfür nicht ausreichend. Sollte man keinen Ersatzstift dabei haben, gibt es die Möglichkeit den Stift mit einer mitgelieferten Schnur am Gerät festzumachen. Nachteilig ist, dass sich zumindest bei mir im Verlauf der Bedienung die Schnur immer wieder um den Stift wickelt, so dass man sie wiederholt entwirren muss. Eventuell könnte hier ein kleiner Wirbel im Stift dieses vereinfachen.
Der Stift ist in Vorträgen genial, um schnelle Skizzen und Zeichnungen zu erstellen. Wird ein Beamer verwendet, so sind diese für alle Teilnehmer während der Entstehung sichtbar. Daher hat es sich als sehr praktisch erwiesen, an alle Powerpoint-Präsentationen mehrere Leerfolien anzuhängen, die ggf. notwendige Skizzen aufnehmen können. Bei einer Vorlesungsaufzeichnung werden diese dann automatisch Bestandteil der Aufzeichnung. Das heißt, die Kombination Tablet PC und Beamer kann ein Whiteboard, eine Tafel oder ein Flipchart einfach ersetzen. Hinzu kommt, dass ggf. alle Freihandzeichnungen, -Skizzen, etc. von vielen Anwendungen (PowerPoint) mit aufgezeichnet werden, und später etwa zur Nachbearbeitung zur Verfügung stehen. Insbesondere dann auch, wenn die Vorlesung aufgezeichnet wird.
Schrifterkennung
Die Schrifterkennung bietet mehrere Modi, wobei insbesondere die freie Texteingabe durch ihre hohe Trefferrate überrascht, was die Texteingabe im Groben auch für längere Passagen angenehm macht. Diesen Beitrag habe ich komplett mit dem Stift geschrieben. Für die exakte Eingabe steht eine buchstabenweise Erfassung, bei der die geschriebenen Zeichen einzeln (anscheinend ohne Rechtschreibprüfung) erkannt werden. Dieses ist hilfreich etwa bei mnemonischen Dateinamen. Im Rahmen eines Vortrags unter Verwendung eines Beamers hat die Eingabe über einen Stift allerdings eine prinzipielle Problematik. Soll ein Kennwort eingegeben werden, so ist dieses im Klartext für alle Teilnehmer lesbar. D.h. man muss daran denken, kurzfristig den Beamer wegzuschalten.
Fehlende Tastatur
Solange keine langen Texte erfasst werden sollen, kommt man in Lehrveranstaltungen wunderbar ohne Tastatur aus. Sollte dennoch zuweilen eine Tastatur gewünscht werden, so sind relativ kleine Tastaturen preiswert erhältlich, die etwa über einen USB-Port problemlos angeschlossen werden können. Der Hersteller des Tablet PC bietet darüber hinaus auch eine Tastatur an, die im Design zu dem Gerät passt. Da diese über eine Infrarot-Schnittstelle mit dem Tablet PC kommuniziert, sind zum Anschluss auch keine Kabel erforderlich. Allerdings ist diese Tastatur deutlich teurer.
Soll im Rahmen des Vortrags öfter zwischen Anwendungen gewechselt werden, so empfiehlt sich ein großer Arbeitsspeicher, da ansonsten der Wechsel zwischen den Anwendungen recht lange dauert. Hier hatte ich bei dem davor verwendeten Notebook mit nur 256 MB deutliche Pausen, manchmal schwer zu überbrücken sind, da die Zuhörer meist gebannt auf das Erscheinen der neuen Anwendung warten. Der in diesem Tablet PC eingebaute Arbeitsspeicher von 1 GB reicht gut aus, um bei laufender Aufzeichnungsanwendung (Camtasia Studio 4) zwischen PowerPoint und dem Browser zu wechseln.
Fazit
Der Stylistic TabletPC ist sehr gut für die Lehre geeignet. Insbesondere kann in Verbindung mit einem Beamer auf eine Tafel oder ein Flipchart oder einen Overhead-Projektor verzichtet werden. Dabei hat man bei gleichzeitiger Aufnahme den Vorteil, dass spontan entstehende Skizzen mit aufgezeichnet werden. Das Fehlen einer Tastatur spielt nur dann eine Rolle, wenn viel Text zu erfassen ist. Ansonsten kann man sich gut mit dem Stift behelfen. In der Lehre wird dieser Nachteil aber mehr als aufgewogen durch die Möglichkeit schnell auf wichtige Aspekte auf dem Bildschirm aufmerksam machen zu können und kleine Skizzen einfügen zu können. In Verbindung mit der Aufzeichnung von Wort und Bildschirm zum Erzeugen eines Screencasts (Beispiel) hat sich das Gerät als ideal erwiesen. Ich möchte es nicht mehr missen!
Über den Autor
Ulrich Schrader unterrichtet an der FH Frankfurt in den Studiengängen Pflege, Pflegemanagement und Allgemeine Informatik das Fach “Informatik im Gesundheitswesen”. Seine Website finden Sie unter http://info.ulrich-schrader.de und seinen Blog unter http://ulrichs-blended-learning.blogspot.com. Sie erreichen ihn unter mail(at)ulrich-schrader.de.
von Markus Egger
Wenn Sie mit Microsofts Werkzeugen für die Entwicklung auf dem PC vertraut sind, verfügen Sie bereits über den Großteil der Kenntnisse, die Sie für die Anwendungsentwicklung für den Tablet PC benötigen. Hauptsächlich kommen noch die digitale Tinte sowie die mit ihr zusammenhängenden Features wie die Collection Ink hinzu. Zusätzlich müssen Sie noch einige weitere kleinere Dinge beachten, beispielsweise Überlegungen zur neuen Benutzeroberfläche sowie die Arbeit mit dem Tablet PC im Hochformat.
Aus diesem Grund konzentriert sich diese Website auf die Entwicklung für den Tablet PC und für den mobilen PC. Sie soll Sie mit allen Informationen versorgen, die Sie benötigen, um erfolgreich Anwendungen zu implementieren, die die Features von mobilen Rechnern und Tablet PCs ausnutzen. Die Artikel führen Sie zur Lösung von Problemen, die bei dieser Entwicklung auftauchen. Wenn Sie die Artikel gelesen haben, sollten sie den Überblick haben, welche Themen bei der Entwicklung eine Rolle spielen und was Sie bedenken müssen.
In diesem Artikel betrachten wir die Entwicklung für den Tablet PC als Ganzes und sehen, wie die einzelnen Themen miteinander harmonieren. Er bildet einen schnellen Überblick. Detaillierte Beschreibungen der unterschiedlichen Themen entnehmen Sie bitte den anderen Artikeln dieser Website.
Möglichkeiten und Vorteile
Tablet PCs sind reguläre PCs. Einige Entwickler und Anwender sind nach wie vor der Meinung, dass sie mit einem speziellen Betriebssystem wie Windows CE laufen, was nicht der Fall ist (glücklicherweise scheint diese Gruppe aber kleiner zu werden). Die erste Generation der Tablet PCs (vor Windows Vista) führte eine spezielle Version von Windows XP Professional aus, Windows XP Tablet PC Edition genannt. Dabei handelt es sich um eine Erweiterung von Windows XP Professional, was bedeutet, dass alle Features von Windows XP auch auf dem Tablet PC zur Verfügung stehen. Zusätzlich enthält diese Edition Features, die nur auf dem Tablet PC zur Verfügung stehen, beispielsweise die Komponenten der Collection Digital Ink, sowie einige speziell für den Tablet PC entwickelte Anwendungen wie das Windows Journal.
Mit Erscheinen von Windows Vista wurde die Tablet PC-Funktionalität in das reguläre Betriebssystem mit aufgenommen. Aus diesem Grund sagen einige, dass jede Version von Windows Vista ein Tablet PC-Betriebssystem ist. Das ist im Grunde wahr, obwohl es technisch betrachtet nach wie vor eine spezielle Version von Windows Vista für den Tablet PC gibt, die Komponenten wie den TIP (Tablet PC Input Panel = Eingabebereich für den Tablet PC) umfasst, welche auf einem anderen Rechner als dem Tablet PC schlicht und einfach keinen Sinn machen. Diese Komponenten fallen generell in den Bereich des Zubehörs. Die grundlegenden Funktionalitäten des Tablet OCs, beispielsweite die digitale Tinte, stehen aber in allen Versionen von Windows Vista zur Verfügung.
Das wichtigste Feature der Tablet PCs ist die Unterstützung der digitalen Tinte. Die Anwender können mit einem speziellen Stylus (dem Stift) auf das Gerät schreiben. Die Bewegungen des Stylus werden durch einen elektromagnetischen Digitizer erkannt. Diese Informationen werden mit einer sehr hohen Auflösung und einer sehr hohen Samplingrate erkannt. Sie umfassen neben den X- und Y-Koordinaten des Stifts zu einem gegebenen Zeitpunkt Informationen wie den Druck sowie in Abhängigkeit von der aktuellen Hardware und der Wahl durch den Entwickler die Drehung des Stifts und anderes.
Die Daten des Stylus werden durch das Betriebssystem empfangen und können auf unterschiedliche Arten interpretiert werden. So können die Stiftinformationen immer als Mauseingaben angesehen werden. In vielen Szenarien wird eine Serie von Stift-Datenpaketen (einzelnen Messungen) als digitale Tinte interpretiert – in Form einer Linie oder Kurve auf der Basis verschiedener Punkte. Die Stiftbewegungen werden generell auf den Bildschirm gezeichnet, in der Regel in Echtzeit und schaffen damit die Illusion von Tinte, die aus dem Stift fließt oder des Schreibens auf den Monitor.
Diese digitale Tinte kann auf unterschiedliche Arten genutzt werden. Die Anwender können mit der Hand geschriebene Notizen so speichern, wie sie sie geschrieben haben. Obwohl diese Nachrichten lediglich aus einer Reihe von Linien bestehen, kann der Tablet PC Ink Recognizer diese Linien analysieren und sie in sinnvolle Daten umwandeln, beispielsweise in Text. Dadurch sind die Anwender in der Lage, innerhalb ihrer Notizen zu suchen oder sie in regulären Text umzuwandeln.
Digitale Tinte ist auch in Verbindung mit anderen Daten hilfreich, beispielsweise mit Textdokumenten oder Grafiken. Die Anwender können ihren Dokumenten mit Hilfe der Tinte Notizen hinzufügen. Alle neuen Produkte in Microsoft Office sind gute Beispiele für solche Szenarien.
Die digitale Tinte wird nicht immer als Handschrift interpretiert. Eventuell zeichnet der Anwender Linien, Rechtecke oder Dreiecke, um ein Diagramm zu erstellen. Oder wie sieht es mit der Erkennung handgeschriebener Musiknoten in einer entsprechenden Anwendung aus?
Ein vollständig anderer Blickwinkel auf die Stifteingabe ist, sie als Gesten zu interpretieren. Der Anwender könnte einen Kreis, eine kurze Linie oder eine andere Figur auf der rechten Seite zeichnen, die als eine bestimmte Aktion interpretiert wird. Oder eventuell streicht der Anwender einen Bereich des Bildschirms aus (mit einer Zickzacklinie über vorhandenem Inhalt vor und zurück), was als Löschoperation interpretiert wird.
Die Möglichkeiten sind nur durch Ihre Phantasie begrenzt. Letztendlich besteht das Ziel darin, nicht nur die Erfahrung des Anwenders beim Schreiben auf Papier zu reproduzieren, sondern in der Erweiterung seiner Erfahrungen, indem Funktionalitäten und Features hinzugefügt werden, über die der Anwender beim Schreiben auf Papier nicht verfügt.
Fangen wir an
Um mit der Entwicklung für den Tablet PC zu beginnen, benötigen Sie entweder eine auf COM (Visual FoxPro oder Visual Basic 6) oder auf .NET basierende Entwicklungsumgebung. In diesen Artikeln werden wir für die Beispiele in erster Linie Visual Studio (.NET) verwenden. Außerdem benötigen Sie das Tablet PC SDK, das Sie kostenfrei vom Tablet PC Developer Center ( http://msdn.microsoft.com/TabletPC) herunterladen können. Sie benötigen für die Entwicklung von Tablet PC-Anwendungen nicht zwingend einen Tablet PC, da Sie die Maus verwenden können, um Stifteingaben zu emulieren. Wenn Sie aber eine größere Tablet PC-Anwendung entwickeln, ist es doch sehr empfehlenswert, einen eigenen Tablet PC zur Verfügung zu haben, da Sie vermutlich selbst die User Experience sowie die Qualität überprüfen wollen. Am Beginn können Sie aber alle Tablet PC-Komponenten auf Ihrem Desktop installieren.
Vermutlich werden Sie überrascht sein, zu erfahren, wie einfach es ist, mit dem Tablet PC SDK Anwendungen zu erstellen. Features wie die Handschrifterkennung, die die Grenzen dessen verschiebt, die der IT heute gesetzt sind, sind aus der Sicht des Entwicklers her sehr einfach zu implementieren.
Beachten Sie, dass auf einem Tablet PC-Betriebssystem alle Anwendungen digitale Tinte unterstützen, indem dafür Technologien wie der Eingabebereich verwendet werden, die die digitale Tinte auch für Anwendungen verfügbar machen, die die Tinte nicht nativ unterstützen (Abbildung 1).

Abbildung 1. Mit Hilfe des Tablet PC-Eingabebereichs können auch Anwendungen mit digitaler Tinte arbeiten, die dies nativ nicht unterstützen.
Optionen für die Collection Ink und das Rendering
Für das Einsammeln digitaler Tinte stehen verschiedene Optionen zur Verfügung. Zunächst einmal wird das Tablet PC SDK mit verschiedenen Steuerelementen wie dem Steuerelement InkEdit ausgeliefert, das Sie einfach auf ein Formular ziehen können. Es stellt eine Textbox bereit, die Sie sowohl für die Eingabe mit Standardtastaturen als auch für die Eingabe handgeschriebener Tinte verwenden können. Die Tinte kann wahlweise als Tinte gespeichert oder automatisch in regulären Text umgewandelt werden. InkEdit ist eine Erweiterung des Steuerelements RichTextBox.
Dementsprechend gibt es auch das Steuerelement InkPicture, das eine besondere Version des Steuerelements Picture darstellt. Wie Sie vermutlich erwarten, kann dieses Steuerelement eine Grafik anzeigen und ermöglicht dem Anwender, darüber zu schreiben oder zu zeichnen.
Diese Steuerelemente stellen eine schnelle Möglichkeit dar, Ihren Anwendungen den Umgang mit der digitalen Tinte zu ermöglichen. Allerdings ist die User Experience durch diese Steuerelemente (besonders von InkEdit) nicht wirklich gut. Wir sollten diese Steuerelemente wohl eher als Vorlage betrachten, nicht als Steuerelemente für Produktionsanwendungen. Für Anwendungen im wahren Leben wären intelligentere Lösungen sinnvoll, die uns aber auch auf unterschiedliche Arten zur Verfügung stehen.

Abbildung 2. Fügen Sie Ihren Verweisen die die Microsoft Tablet PC API hinzu (Microsoft.Ink). Sollten Sie die API neu installiert haben müssen Sie Visual Studio neu starten, damit die API in der Liste erscheint.
Die Standardlösung ist der Einsatz der Klassen InkCollector und InkOverlay. Diese Klassen können jedem regulären Steuerelement hinzugefügt werden, wodurch das Steuerelement auch mit digitaler Tinte umgehen kann. Um diese Klassen in Aktion zu sehen, erstellen Sie eine neue Anwendung bzw. ein neues Projekt in der .NET-Sprache Ihrer Wahl. Fügen Sie den Assembly-Referenzen Ihres Projekts das Assembly Microsoft Tablet PC API hinzu (Abbildung 2). Anschließend ziehen Sie ein Steuerelement Ihrer Wahl auf das Formular. In meinem Beispiel verwende ich das Steuerelement Panel mit weißem Hintergrund, um einen weißen Schreibbereich zu simulieren. Anschließend instanziieren Sie ein Objekt Inkcollector und fügen es dem Panel hinzu. Dafür sollten Sie auf dem Formular zunächst ein Feld erstellen, das die Instanz enthalten kann. In C# geschieht dies folgendermaßen:
public class Form1 : System.Windows.Forms.Form
{
private Microsoft.Ink.InkCollector collector;
// default form code continues here...
Die Version in Visual Basic ist ähnlich:
Public Class Form1 Inherits System.Windows.Forms.Form Private collector As Microsoft.Ink.InkCollector ' default form code continues here...
Anschließend instanziieren Sie im Constructor des Formulars das Objekt InkCollector und fügen es dem Steuerelement hinzu, das die Tinte verarbeiten soll. Dies funktioniert mit jedem Steuerelement, beispielsweise einem Panel oder einer Textbox wie auch mit dem gesamten Formular. In meinem Beispiel füge ich den Collector dem Steuerelement Panel hinzu. Hier die Version in C#:
public Form1()
{
InitializeComponent();
this.collector = new
Microsoft.Ink.InkCollector(this.panel1);
this.collector.Enabled = true;
}
Auch hier ist die Version in Visual Basic .NET sehr ähnlich:
Public Sub New() MyBase.New() InitializeComponent() Me.collector = _ New Microsoft.Ink.InkCollector(Me.Panel1) Me.collector.Enabled = True End Sub
Das war’s. Ihre erste Windows-Anwendung, die Tinte verarbeiten kann, ist fertig. Das Ergebnis sehen Sie in Abbildung 3.

Abbildung 2. Dies ist eine einfache Anwendung mit einem Panel und einer Klasse InkCollector, die mit digitaler Tinte umgehen kann.
Viele Anwendungen, die mit digitaler Tinte arbeiten, verwenden dieses Vorgehen als Basis für alle Features der Tinte. Die Klasse InkCollector stellt umfangreiche Funktionalitäten bereit. Sie sammelt die Tinte, speichert sie im Objekt Ink und rendert die Tinte, um auf diese Weise sicherzustellen, dass sie immer korrekt neu gezeichnet wird, wenn dies erforderlich ist. Beachten Sie, dass das Rendern der Tinte in einer sehr hohen Qualität geschieht, indem die Renderingengine verschiedene Techniken verwendet, um die Linienränder glatt darzustellen.
Die Verwendung von Ink-Sammlungen erleichtert auch das Ändern der Attribute der Tinte, beispielsweise der Farbe. Der folgende C#-Code legt für zukünftige Eingabe über Tinte die Standardfarbe Rot fest:
collector.DefaultDrawingAttributes.Color = Color.Red;
Entfernen Sie das Semikolon am Ende der Zeile und schon haben Sie die Visual Basic .NET-Version für die gleiche Operation.
Die Tinteninformationen, die im InkCollector hinzugefügten Objekt Ink gesammelt wurden, bieten auch den Zugriff auf ein sehr mächtiges Feature: die Schrifterkennung. Das folgende C#-Codesnippet zeigt Ihnen, wie Sie Handschrift in regulären Text umwandeln:
MessageBox.Show( this.collector.Ink.Strokes.ToString());
Hier die Version in Visual Basic .NET:
MsgBox(Me.collector.Ink.Strokes.ToString())
So einfach ist es wirklich! Wenn Sie es wünschen, können Sie vom Recognizer noch erheblich mehr Informationen beziehen, beispielsweise weitere Optionen, Vertrauensstufen und vieles mehr. Sie könnten auch die Bedeutung von Formen sowie von Leerräumen in der Tinte erkennen. Oder eventuell wollen Sie die Erkennung asynchron als Hintergrundprozess durchführen. Weitere Informationen über die Auswertung der Tinte entnehmen Sie bitte dem Artikel „Erkennung und Analyse digitaler Tinte“.
Im Objekt Ink sind alle Informationen über die digitale Tinte gespeichert. Die Tinte ist in einzelne Linien aufgeteilt, die sich ihrerseits aus einzelnen Punkten zusammensetzen. Mit Hilfe dieses Objekts können Entwickler die digitale Tinte im Speicher manipulieren. So kann die Tinte beispielsweise auf einfache Weise in einer Datei gespeichert werden:
byte[] inkBytes = this.collector.Ink.Save(); FileStream strm = File.Open(@"c:\test.isf", FileMode.Create); strm.Write(inkBytes,0,inkBytes.Length); strm.Close();
Hier die gleiche Aufgabe in Visual Basic:
Dim inkBytes As Byte() = Me.collector.Ink.Save()
Dim strm As FileStream = _
File.Open("c:\test.isf", FileMode.Create)
strm.Write(inkBytes, 0, inkBytes.Length)
strm.Close()
Die Schlüsselzeile in diesem Snippet ist der Aufruf der Methode Ink.Save(). Save() wandelt die digitale Tinte automatisch in ein serielles Format um und gibt sie als Byte-Array zurück. Dieses Array können Sie an beliebiger Stelle speichern, beispielsweise wie in diesem Beispiel in einer Datei oder in einer Datenbank.
Das Laden digitaler Tinte geschieht auf ähnliche Weise, allerdings mit einem kleinen Stolperstein: Ink-Objekte verfügen über die Methode Load(). Diese Methode arbeitet nur dann verlässlich, wenn sie die Tinte in ein leeres Ink-Objekt lädt. Daher ist es erforderlich, dass Sie ein neues Ink-Objekt erstellen und dessen Methode Load() aufrufen, nicht die gleiche Methode eines vorhandenen Objekts. Hier ein funktionierendes Beispiel in C#:
FileStream strm = File.OpenRead(@"C:\test.isf"); FileInfo info = new FileInfo(@"C:\test.isf"); byte[] inkBytes = new byte[info.Length]; strm.Read(inkBytes,0,(int)info.Length); strm.Close(); Ink newInk = new Ink(); newInk.Load(inkBytes); this.collector.Enabled = false; this.collector.Ink = newInk; this.collector.Enabled = true;
Und hier die Version in Visual Basic .NET:
Dim strm As FileStream = _
File.OpenRead("C:\test.isf")
Dim info As FileInfo = New FileInfo("C:\test.isf")
Dim inkBytes(info.Length) As Byte
strm.Read(inkBytes, 0, info.Length)
strm.Close()
Dim newInk As New Microsoft.Ink.Ink
newInk.Load(inkBytes)
Me.collector.Enabled = False
Me. collector.Ink = newInk
Me.collector.Enabled = True
Beachten Sie, dass Sie den Collector ausschalten, bevor ein neues Ink-Objekt angelegt wird, da andernfalls ein Fehler generiert wird.
Nähere Informationen zum Speichern der Tinte entnehmen Sie bitte dem Artikel „Digitale Tinte und die Datenbank“.
Mehr Power mit der Klasse InkOverlay
Neben der vollständigen Funktionalität von InkCollector enthält sie zusätzliche Methoden, beispielsweise für die Auswahl und Manipulation von Tinte. Sie können einfach in unserem oben stehenden Beispiel die Referenzen auf InkCollector gegen Referenzen auf InkOverlay austauschen und alles funktioniert wie vorher. Ihnen stehen aber zusätzlich neue Features zur Verfügung, beispielsweise die Möglichkeit, das Overlay in den Auswahlmodus umzuschalten:
this.overlay.EditingMode = Microsoft.Ink.InkOverlayEditingMode.Select;
Die Version in Visual Basic .NET ist praktisch identisch:
Me.overlay.EditingMode = _ Microsoft.Ink.InkOverlayEditingMode.Select
Abbildung 4 zeigt Ihnen ein Beispiel für den Auswahlmodus von InkOverlay (den Auswahlmodus) in Aktion.

Abbildung 4. Die Klasse InkOverlay unterstützt im Gegensatz zur Klasse InkCollector den Auswahlmodus.
Sowohl InkCollector als auch InkOverlay lösen aufgrund der Eingabe digitaler Tinte Ereignisse aus. Als Beispiel können Sie das Ereignis CursorInRange verwenden, um festzustellen, wann der Stift bis auf einen Zentimeter an die Bildschirmoberfläche herangeführt wurde (elektromagnetische Digitizer können einen Stift erkennen, während er sich noch in der Luft befindet). Dieses Ereignis können Sie einsetzen, um festzustellen, ob die Stiftspitze oder das stumpfe Stiftende an den Bildschirm geführt wird und um aufgrund dessen die Overlayklasse in den Editier- oder Löschmodus zu schalten. Um dieses Ereignis in C# zu verwenden, müssen Sie einen Eventhandler einsetzen:
this.overlay.CursorInRange += new InkCollectorCursorInRangeEventHandler( overlay_CursorInRange);
Im Anschluss müssen Sie den Code schreiben, der dieses Ereignis behandelt:
private void overlay_CursorInRange(object sender,
InkCollectorCursorInRangeEventArgs e)
{
if (e.Cursor.Inverted)
{
this.overlay.EditingMode =
InkOverlayEditingMode.Delete;
}
else
{
this.overlay.EditingMode =
InkOverlayEditingMode.Ink;
}
}
In Visual Basic müssen Sie darauf achten, dass das Overlay mit WithEvents definiert ist:
Private WithEvents overlay _ As Microsoft.Ink.InkOverlay
Anschließend können Sie das Ereignis auf folgende Weise behandeln:
Private Sub overlay_CursorInRange( _ ByVal sender As Object, ByVal e _ As InkCollectorCursorInRangeEventArgs) _ Handles overlay.CursorInRange If e.Cursor.Inverted Then Me.overlay.EditingMode = _ InkOverlayEditingMode.Delete Else Me.overlay.EditingMode = _ InkOverlayEditingMode.Ink End If End Sub
Damit wird das Löschen mit dem Stiftende implementiert. Selbstverständlich können Sie das gleiche Ereignis auch für andere Zwecke verwenden. Sehen Sie sich auch einige der anderen verfügbaren Ereignisse an.
Alternativen für die Arbeit mit der digitalen Tinte
Die Objekte InkCollector und InkOverlay sammeln die Eingabeinformationen des Stifts und interpretieren diese als digitale Tinte oder als Gesten. In manchen Fällen wollen Sie digitale Tinte nicht einfach sammeln, sondern Sie wollen die Stiftdaten auf andere Weise interpretieren. Oder es ist eventuell erforderlich, die Stiftdaten zu manipulieren, bevor sie als digitale Tinte interpretiert werden. Eventuell hat die Performance allerhöchste Priorität oder Sie wollen eine nicht übliche Methodik implementieren, um die digitale Tinte in Echtzeit zu rendern. In solchen Fällen verwenden Sie die unter dem Namen „Real Time Stylus API“ bekannte API. Im Artikel „Verbessern Sie die Kontrolle und Performance mit der Real Time Stylus API“ erhalten Sie tiefgehende Informationen zu diesem Thema.
In Windows Vista ist die Unterstützung der digitalen Tinte Teil des Betriebssystems, anders als unter Windows XP, wo die digitale Tinte in einer Erweiterung des Betriebssystems verarbeitet wurde. Die neue Technologie WPF (Windows Presentation Foundation) für die Erstellung und Anzeige von Benutzeroberflächen unterstützt digitale Tinte nativ in allen Versionen von Windows. Das zentrale Objekt ist hier InkCanvas, das wir in einem anderen Artikel untersuchen werden.
Zusammenfassung
Die Entwicklung für den Tablet PC ist erheblich einfacher als es die meisten Entwickler vermuten, die sich mit dieser Umgebung noch nicht vertraut gemacht haben. Sie enthält viele Vorteile und Bereiche, die uns viele neue Funktionalitäten bereitstellen. Nutzen wir sie.
Dieser Artikel ist eine Übersetzung aus dem CoDe Magazine ( http://www.code-magazine.com). Auf dieser Website dürften für Sie besonders die Seite http://www.code-magazine.com/focus/tabletpc/ sowie die auf dieser Seite verlinkten Artikel interessant sein.
Laden Sie die Begleitdateien hier herunter: IntroToTabletPC
Über den Autor:
Markus ist ein internationaler Sprecher und hat Sessions auf zahlreichen Konferenzen in Nord- und Südamerika sowie in Europa gehalten. Zusätzlich hat er viele Artikel für verschiedene Publikationen geschrieben, darunter CoDe Magazine, Visual Studio Magazine, MSDN Brasilien, ASP.NET Pro, FoxPro Advisor, Fuchs, FoxTalk sowie das Microsoft Office & Database Journal verfasst. Er ist Herausgeber des CoDe Magazine.
Außerdem ist er President und Chief Software Architect bei EPS Software Corp. in Houston, Texas, ein Unternehmen, das individuelle Programmierung und Beratung anbietet. Er ist auf die Beratung für objektorientierte Entwicklung, die Internetentwicklung, B2B und Webdienste spezialisiert. EPS erledigt einen Großteil seiner Entwicklung mit Microsoft Visual Studio .NET und hat an Softwareprojekten für die 500 größten Unternehmen mitgearbeitet, unter anderem für Philip Morris, Qualcomm, Shell und Microsoft. Zusätzlich hat Markus als externer Mitarbeiter im Microsoft Visual Studio-Team mitgearbeitet, wo er hauptsächlich für die Objektmodellierung und andere Technologien im Zusammenhang mit Objekten und Komponenten verantwortlich war.
Seit 1996 ist Markus für seine Mitarbeit in der Entwicklercommunity Microsoft MVP (Most Valuable Professional). LandPro, eine der Anwendungen, für die Markus verantwortlich war, wurde dreimal für den Microsoft Excellence Award nominiert. Sie erreichen ihn unter megger(at)eps-software.com.
von Mike Stewart
Visual FoxPro-Team
Microsoft Corporation
Einführung
Die Steuerelemente und APIs, die erforderlich sind, um viele der Ink-Features der Microsoft Windows® Tablet PC Edition nutzen zu können, finden Sie im Tablet PC Platform SDK. Das Tablet PC Platform SDK können Sie von http://www.microsoft.com/windowsxp/tabletpc/developers/default.asp herunterladen. Es stellt die Ink-Objekte auf zwei Arten bereit: über die Component Object Model (COM) Automation, sowie über die Common Language Runtime (CLR) des Microsoft .NET Frameworks über managed APIs. Da Visual FoxPro nicht in die CLR kompiliert, konzentriert sich dieser Artikel auf die COM Automation APIs.
Der Tablet PC betrachtet Ink anders als frühere Geräte, die ebenfalls Ink als Funktionalität umfassten. Bei früheren Geräten wie dem Apple Newton oder Microsoft Windows CE/Pocket PC-Geräten lag der Schwerpunkt auf der Erkennung von Ink als Handschrift. Beim Tablet PC hat sich diese Philosophie geändert, so dass Ink jetzt als Dateneingabe betrachtet wird, die Umwandlung in Text wird als zweiter Schwerpunkt betrachtet. Beispielsweise können Sie Notizen im Windows Journal, da im Tablet PC und Microsofts OneNote enthalten ist, erfassen, ohne dass es erforderlich ist, diese Notizen in Text umzuwandeln. Das bedeutet, dass die Erkennungsfähigkeiten des Tablet PCs sehr gut sind, und dass für den Fall, dass Sie Ink in Text umwandeln müssen, eine sehr hohe Erkennungsquote erreicht wird.
Die für VFP-Entwickler interessanten Objekte sind InkEdit, InkPicture und InkOverlay. Das Steuerelement InkEdit entspricht der Editbox von VFP. Der Unterschied besteht darin, dass InkEdit digitale Tinte akzeptiert und erkennt. Das Steuerelement InkPicture ist genau das, was Sie erwarten: in diesem Steuerelement kann ein Bild platziert werden und der Anwender kann mit der digitalen Tinte auf diesem Bild malen. Das Steuerelement liegt unsichtbar über einem Fenster und kann Ink annehmen und verarbeiten.
Anforderungen an das System
- Microsoft Tablet PC Platform SDK
- Microsoft Windows XP. Sie können das Tablet PC Platform SDK auch auf Microsoft Windows XP einsetzen, aber die Microsoft XP Tablet PC Edition ist dringend empfohlen.
- Microsoft Visual FoxPro 8.0 oder höher. Es ist auch mit früheren Versionen von VFP möglich, nahezu alle Funktionalitäten des Tablet PC Platform SDK zu nutzen. Allerdings sind in VFP 8.0 verschiedene Bugs, die die Zusammenarbeit mit der Microsoft XP Tablet PC Edition betreffen, beseitigt worden.
- Digitizer. Verschiedene Hersteller bieten Digitizer für die USB-Schnittstelle an, beispielsweise Wacom (http://www.wacom.com) oder es können Anwendungen entwickelt werden, die den eingebauten Digitizer eines Tablet PCx einsetzen.
Nur auf einem Tablet PC?
Das Tablet PC Platform SDK erfordert lediglich Microsoft Windows XP. Allerdings wird die Funktionalität der Steuerelemente durch den Einsatz von Windows XP Tablet PC Edition signifikant erweitert. Ist das SDL nicht auf einem Tablet PC installiert, ist keine Erkennungsengine vorhanden und einige Steuerelemente akzeptieren kein Ink. Es ist also ratsam, wenn Sie zumindest zum Testen und Debuggen Zugriff auf einen Tablet PC haben.
Im Idealfall können Sie Ihre Anwendungen auf einem Tablet PC codieren und debuggen. Aber wer will schon Code mit einem Stift schreiben? Auch die Tastaturen, über die einige Tablet PCs verfügen, haben nicht die volle Größe. Es gibt verschiedene Möglichkeiten, um dieses Problem zu umgehen. Eine Möglichkeit besteht darin, eine USB-Tastatur und -Maus einzusetzen (oder Sie nutzen eine Dockingstation, falls für Ihren Tablet PC eine solche verfügbar ist). Eine andere Möglichkeit besteht darin, das Feature Remote Desktop von Windows XP zu verwenden, um mit einem Desktop-Rechner auf den Tablet PC zuzugreifen.
Entscheidungen zum Design
Eine häufig gestellte Frage lautet: „Woher weiß ich, ob meine Anwendung auf einem Tablet PC ausgeführt wird?“ Die Antwort erhalten Sie durch einen Aufruf der Win32®-Funktion GetSystemMetrics mit dem Parameter SM_TABLETPC(86). Ein Rückgabewert ungleich 0 zeigt an, dass Windows XP Tablet PC Edition ausgeführt wird; der Rückgabewert 0 zeigt an, dass dies nicht der Fall ist.
#define SM_TABLETPC 86 Declare Integer GetSystemMetrics in Win32API Integer retVal = GetSystemMetrics(SM_TABLETPC) If retVal <> 0 Wait Window "Running on a Tablet PC" Else Wait Window "*Not* running on a Tablet PC" Endif
Ein Rückgabewert ungleich 0 zeigt allerdings noch nicht an, ob alle Komponenten des Tablet PC installiert sind und funktionieren. Um festzustellen, ob eine Komponente installiert ist, versuchen Sie, eine Instanz der Komponente zu erstellen und prüfen Sie dabei auf Fehler während der Erstellung.
Ein Beispiel:
Try
oInkEdit = Newobject("InkEd.InkEdit.2")
Catch To oException
Wait Window "InkEdit control is not installed!"
Endtry
Ein Tablet PC kann über zwei Anzeigemodi verfügen: Quer- und Hochformat. Meist wird das Querformat genutzt, wenn der Tablet PC angedockt ist oder als Standard-Laptop eingesetzt wird; im Hochformat wird er genutzt, wenn er als Tablet eingesetzt wird.
Es kann vorkommen, dass Ihre Anwendung feststellen muss, ob der Tablet PC des Anwenders im Hoch- oder im Querformat ausgeführt wird, damit die Größe der Bildschirmelemente entsprechend angepasst wird. Durch den Einsatz der Funktion SYSMETRIC() von VFP mit den Parametern 1 oder 2 können Sie die Breite und Höhe der Anzeige feststellen. Ist die Breite geringer als die Höhe, befindet sich der Tablet PC im Hochformat.
Sie müssen beim Design Ihrer Anwendung noch weitere Entscheidungen treffen. Lesen Sie in der Hilfedatei des Tablet PC SDKs den Eintrag „Planning Your Application“.
Digitale Tinte sammeln
Die einfachste Möglichkeit, Eingaben per Stift entgegenzunehmen, ist der Einsatz des Objekts InkCollector, das durch das Tablet PC Platform SDK zur Verfügung gestellt wird. Es ist extre
m einfach einzusetzen und erfordert lediglich drei einfache Schritte zum Einrichten und Aktivieren. InkCollector wird einem Formular über das Windows-Handle (hWnd) des Formulars hinzugefügt und ermöglicht dem gesamten Formular die Eingabe per Stift.
Ink Collection auf einem Formular ermöglichen
- Erstellen Sie ein neues Objekt mit dem InkCollector.
- Fügen Sie dem Windows-Handle des Formulars den InkCollector hinzu.
- Aktivieren sie den InkCollector, indem Sie dessen Eigenschaft Enabled auf .T. setzen.
Führen Sie den folgenden Code aus und starten Sie die Eingabe per Stift.
Local oInkCollector as MSINKAUT.inkcollector.1
Local oForm1 as Form
oForm1 = NewObject("form")
*-- Erstellen Sie einen neuen InkCollector und stellen Sie das
*-- Fensterhandle auf das Formular ein, auf dem wir
*-- mit dem InkCollector arbeiten wollen.
oInkCollector = NewObject("msinkaut.inkcollector.1")
oInkCollector.hWnd = oForm1.HWnd
*-- Das war es, wir haben alles eingerichtet. Aktivieren
*-- Sie den InkCollector, damit wir ihn verwenden können.
oInkCollector.Enabled = .t.
*-- Der InkCollector ist aktiv, zeigen wir das Formular an.
oForm1.Show
Read Events
Der folgende Code ist der Tablet PC-spezifische:
oInkCollector = NewObject("msinkaut.inkcollector.1")
oInkCollector.hWnd = oForm1.HWnd
Wenn Sie das Windows Journal eingesetzt haben, werden Sie eventuell erwarten, dass Sie in einer Tablet PC-Anwendung die Möglichkeit haben, Ink zu markieren, zu ändern und zu löschen. Wenn Sie das Objekt InkCollector einsetzen, können Sie auf Ihrem Formular zeichnen, das Geschriebene akzeptieren und die Ink anschließend löschen. Allerdings können Sie die Methode InkCollector in Ihrer VFP-Anwendung nicht einsetzen, um Ink zu markieren, zu ändern oder zu löschen. Dafür setzen Sie die Klasse InkOverlay ein. InkOverlay ist ein erweitertes InkCollector, so dass Sie über die vollständige Funktionalität verfügen.
Die Klasse InkOverlay
Der Einsatz der Klasse InkOverlay ist so einfach wie der Einsatz der Klasse InkCollector. Aufgrund der zusätzlichen Funktionalitäten ist aber bei dieser Klasse einiges mehr zu beachten. Beginnen wir mit einem einfachen Formular, das InkOverlay enthält und das die Möglichkeit hinzufügt, festzustellen, was der Anwender schreibt. Beachten Sie, dass Sie, um die Schaltfläche Recognize zu betätigen, Alt-R betätigen müssen. Gleich erfahren Sie, weshalb dies so ist.
*-------------------------------------
*-- Program: InkOl1.prg
*--
*-- Author: Mike Stewart
*-- Comments: Simple InkOverlay demo using an
*-- InkOverlay class with a recognizer
*-- button.
*-------------------------------------
PUBLIC oform1
oform1=NEWOBJECT("InkOverlayDemo1")
oform1.Show
RETURN
DEFINE CLASS InkOverlayDemo1 AS form
Top = 0
Left = 0
Height = 416
Width = 659
DoCreate = .T.
Caption = "Form1"
Name = "Form1"
ADD OBJECT inkRecognize AS Commandbutton WITH ;
Top = 368, ;
Left = 20, ;
Caption = "\<Recognize ", ;
Name = "Inkbutton1"
ADD OBJECT edtrecognized AS editbox WITH ;
Height = 121, ;
Left = 20, ;
Top = 236, ;
Width = 589, ;
Name = "edtRecognized"
PROCEDURE Init
PUBLIC oink As msinkaut.inkoverlay.1
oInk = NEWOBJECT("msinkaut.inkoverlay.1")
WITH oInk
*-- Point it to the window for which you
*-- want to capture ink. Because VFP does
*-- not have hWnds for individual controls,
*-- this can only be done at the form level.
.hwnd = thisform.HWnd
*-- The Attachmode property
*-- determines whether the
*-- InkOverlay sits in front
*-- or behind the controls on
*-- the form.
.AttachMode = 0 && IOAM_Behind
*-- Set everything before enabling,
*-- or else error occurs.
.enabled = 1
*-- Set to collect both ink and gestures
.CollectionMode = 2 && ICM_InkAndGesture
ENDWITH
ENDPROC
PROCEDURE inkRecognize.Click
thisform.edtRecognized.value = ;
oInk.ink.strokes.tostring
ENDPROC
ENDDEFINE

Abbildung 3. Das Formular mit der Klasse InkOverlay, nachdem auf die Schaltfläche Recognize geklickt wurde.
Mit nur 38 Zeilen Code verfügen wir über ein funktionierendes Formular, das Ink akzeptiert und das die Fähigkeit besitzt, die Eingabe zu erkennen und sie in ein Steuerelement von VFP zu schreiben, das an ein Feld gebunden ist und dessen Wert in eine Tabelle geschrieben werden kann.
Wenn Sie den oben stehenden Code ausführen, werden Sie festgestellt haben, dass es schwierig war, mit dem Stift oder der Maus auf die Schaltfläche Recognize zu klicken. Dies liegt daran, dass das gesamte Formular umfasst wird, wenn Sie ihm das Objekt InkOverlay hinzufügen. Dieses Verhalten entspricht dem der Klasse InkCollector. Offensichtlich klappt dies bei den meisten Anwendungen nicht, da der Großteil der Formulare Textboxen und andere Steuerelemente enthält, in denen die Eingaben der Benutzer aufgenommen werden.
Für dieses Problem gibt es eine einfache Lösung. Sie besteht darin, für InkOverlay ein Rechteck zu definieren. Das Tablet PC Platform SDK stellt für genau diesen Zweck das Objekt InkRectangle und die Methode InkOverlay.SetWindowInputRectangle bereit. Die Änderungen am oben stehenden Code sind minimal. Zunächst einmal erstellen Sie mit dem folgenden Code die Methode SetRectangle.
Procedure SetRectangle
LOCAL oInkRectangle as MSINKAUT.inkrectangle
oInkrectangle = NEWOBJECT("msinkaut.inkrectangle")
*-- Den Fuß des Rechtecks
*-- über die Editbox setzen.
*-- Dadurch überlappt das InkOverlay
*-- nicht die Steuerelemente.
oInkRectangle.Bottom = thisform.edtRecognized.Top
*-- Die anderen Ausdehnungen des Rechtecks
*-- entsprechen denen des Formulars
oinkrectangle.Top = thisform.Top
oinkrectangle.Left = thisform.Left
oinkrectangle.Right = thisform.Width - thisform.Left
*-- Aufruf der Methode, wobei InkRectangle
*-- übergeben wird, und das war's auch schon.
ThisForm.InkOverlay.SetWindowInputRectangle(oInkRectangle)
Anschließend rufen Sie diese Methode aus der Methode Init des Formulars heraus auf:
.AttachMode = 1 && IOAM_InFront this.setrectangle this.setrectangle
Führen Sie den Code aus und Sie werden feststellen, dass der Eingabebereich für den Stift jetzt auf den Bereich der Editbox beschränkt ist.
Eine andere Lösung besteht darin, die Eigenschaft InkOverlay.AttachMode auf 0 (IOAM_Behind) zu setzen. Damit wird InkOverlay hinter den Steuerelementen auf dem Formular platziert, so dass Sie die Steuerelemente wie normal nutzen können. Ein Problem dieser Lösung besteht darin, dass der Anwender zwischen den Steuerelementen schreiben kann, aber nicht auf ihnen. Eine mit der Methode SetInputWindowTectangle gut definierte Inking-Oberfläche könnte für Ihre Anwender die bessere Lösung sein.
Auswählen und Löschen digitaler Tinte
Der folgende Code zeigt, wie eine Combobox für die Auswahl zwischen drei Cursorn hinzugefügt wird:
- Ink Cursor – für Zeichnen und Schreiben.
- Selection Lasso – eingesetzt für die Markierung von Ink.
- Eraser – eingesetzt für das Löschen von Ink.
Zunächst fügen Sie der Klassendefinition eine Combobox hinzu:
ADD OBJECT inkPenType AS combobox WITH ; RowSourceType = 1, ; RowSource = "Ink,Select,Delete", ; Height = 24, ; Left = 36, ; Top = 428, ; Width = 168, ; Name = "inkPenType"
Jetzt fügen Sie dem Ereignis InteractiveChange der Combobox den folgenden Code hinzu, um die Eigenschaft EditingMode auf der Basis der Auswahl des Anwenders einzustellen:
PROCEDURE inkPenType.InteractiveChange DO Case CASE this.Value = "Ink" thisform.inkoverlay.EditingMode = 0 && IOEM_Ink CASE this.Value = "Select" thisform.inkoverlay.EditingMode = 2 && IOEM_Select CASE this.Value = "Delete" thisform.inkoverlay.EditingMode = 1 && IOEM_Delete *-- Letztendlich stellen Sie den EraserMode ein, *-- je nachdem, ob die gesamte Linie gelöscht *-- werden soll, wenn der Stift den Monitor berührt, *-- oder ob nur einzelne Pixel gelöscht werden: *-- Set EraserMode to 0 to erase strokes, *-- or 1 to erase pixels *-- thisform.inkoverlay.EraserMode = 0 thisform.Inkoverlay.EraserMode = 1 ENDCASE ENDPROC
Durch eine Auswahl der entsprechenden Option in der Combobox kann der Anwender jetzt das Verhalten des Stifts ändern.
Speichern und Laden von Digitaler Tinte
Vermutlich will der Anwender das von ihm Geschriebene speichern und zu einem späteren Zeitpunkt neu laden.
Zunächst einmal lassen Sie uns der Klassendefinition des Formulars einige Schaltflächen hinzufügen, eine für das Speichern des Inks und eine, um Ink in das Formular zu laden:
ADD OBJECT cmdSave AS commandbutton WITH ; Top = 360, ; Left = 357, ; Height = 27, ; Width = 84, ; Caption = "\<Save", ; Name = "cmdSave"
ADD OBJECT cmdLoad AS commandbutton WITH ; Top = 360, ; Left = 456, ; Height = 27, ; Width = 84, ; Caption = "L\<oad", ; Name = "cmdLoad"
Nun fügen Sie dem Ereignis Save der Schaltfläche Code hinzu:
PROCEDURE cmdSave.Click
lsInk = ThisForm.inkoverlay.Ink.Save()
STRTOFILE(lsInk, GETFILE("isf"))
ENDPROC
Das Ink-Objekt des InkOverlay nutzt seine Methode Save, um ein Byte-Array zurückzugeben, das das Ink auf dem InkOverlay repräsentiert. Mit Hilfe von FoxPros Funktion STRTOFILE() kann dieses Byte-Array (das FoxPro als String behandelt) anschließend auf der Festplatte gespeichert werden.
Um das gespeicherte Ink-Objekt über die Schaltfläche Load neu zu laden, nutzen Sie die Methode Ink.Load:
PROCEDURE cmdLoad.Click
lsInk = CREATEBINARY(FILETOSTR(GETFILE("isf")))
thisform.inkoverlay.Enabled = 0
thisform.inkoverlay.ink.Load(lsInk)
thisform.inkoverlay.Enabled = 1
*-- Weisen Sie das Steuerelement an, sich neu zu zeichnen, *-- oder die Änderungen werden nicht angezeigt. *-- Verwenden Sie während des Init des Formulars *-- das von uns erstellte Objekt InkRectangle. ThisForm.inkoverlay.Draw(ThisForm.InkRectangle) ENDPROC
Beachten Sie den Einsatz der Funktion CREATEBINARY(), wenn die Ink-Datei in eine FoxPro-Variable eingelesen wird. Dies ist erforderlich, um sie in ein Format zu bringen, die das Objekt InkOverlay akzeptiert. Beachten Sie auch, dass das InkOverlay zunächst deaktiviert werden muss, bevor das Ink geladen wird. Andernfalls würde ein Fehler auftreten.
Versuchen Sie folgendes: Speichern Sie etwas Ink in einer Datei, beenden Sie das Formular, führen es erneut aus und laden Sie das von Ihnen erstellte Ink. Jetzt klicken Sie auf die Schaltfläche Recognize. Das InkOverlay erkennt das Ink! Dies liegt daran, dass das InkOverlay nicht nur die Position der Pixel speichert, so dass es später erneut angezeigt werden kann, sondern es werden auch die Metadaten gespeichert, die für die Erkennung erforderlich sind.
Was ist in diesen Metadaten enthalten? Die Metadaten der Datei enthalten Informationen wie das Datum und den Zeitstempel sowie auch eine eindeutige Identifizierung für jeden Stich.
Das Steuerelement InkEdit
Das Steuerelement InkEdit ist ein erweitertes RichText-Steuerelement. Es wurde entworfen, um eine einfache Möglichkeit zu schaffen, Ink zu akzeptieren, anzuzeigen und zu erkennen. Um ein Steuerelement InkEdit auf einem VFP-Formular zu implementieren, ziehen Sie ein ActiveX-Steuerelement von der Steuerelemente-Toolbar des Formulars. Wenn Sie danach gefragt werden, markieren Sie das InkEdit-Steuerelement.
Da das Steuerelement InkEdit auf dem Steuerelement RichText basiert, können die Anwender Eingaben im Steuerelement InkEdit vornehmen, genau wie sie es von der Standard-Textbox oder -Editbox gewohnt sind. Durch den Einsatz des Steuerelements InkEdit können Sie Anwendungen erstellen, die dem Anwender die Option eröffnen, Daten wahlweise mit der Tastatur oder mit dem Stift einzugeben.
Das Steuerelement InkPicture
Das Steuerelement InkPicture kombiniert die meisten der Attribute des Steuerelements InkOverlay mit der Fähigkeit, Ink über eine Grafikdatei zu legen. Der folgende Code demonstriert, wie ein Formular mit einem InkPicture-Steuerelement erstellt wird und gibt dem Anwender die Möglichkeit, die Grafik auszuwählen, die geladen werden soll. Das Steuerelement InkPicture kann auch genau wie ein InkEdit-Steuerelement auf ein Formular gezogen werden. In Abbildung 4 ist es das Steuerelement direkt unter dem InkEdit.
PUBLIC ofrminkpicture
ofrminkpicture=NEWOBJECT("frminkpicture")
ofrminkpicture.Show
RETURN
DEFINE CLASS frminkpicture AS form
Top = 0
Left = 0
Height = 460
Width = 469
DoCreate = .T.
Caption = "InkPicture Form"
AllowOutput = .F.
Name = "frmInkPicture"
ADD OBJECT olecontrol1 AS olecontrol WITH ;
Top = 12, ;
Left = 7, ;
Height = 444, ;
Width = 360, ;
OleClass = "msinkaut.inkpicture.1"
OleLCID = "1033"
Name = "Olecontrol1"
ADD OBJECT cmdload AS commandbutton WITH ;
Top = 24, ;
Left = 374, ;
Height = 27, ;
Width = 84, ;
Caption = "\<Load Image", ;
Name = "cmdLoad"
ADD OBJECT cmdcolor AS commandbutton WITH ;
Top = 60, ;
Left = 374, ;
Height = 27, ;
Width = 84, ;
Caption = "\<Color", ;
Name = "cmdColor"
PROCEDURE cmdLoad.Click
WITH thisform.olecontrol1
Try
.Picture =;
LoadPicture;
(GetFile("bmp;jpg;jpeg;gif",;
"Graphics files"))
Catch To oException
MessageBox("No file selected")
Endtry
ENDWITH
ENDPROC
PROCEDURE cmdcolor.Click
thisform.olecontrol1.DefaultDrawingAttributes.Color =;
GetColor()
ENDPROC
ENDDEFINE
Das OleControl ist in folgendem Codeteil definiert:
OleClass = "msinkaut.inkpicture.1" OleLCID = "1033"
Nachdem das Steuerelement definiert ist, gibt es dem Anwender die Möglichkeit, eine Grafikdatei in die Methode Click der Schaltfläche Load zu laden. Dafür ist nur eine Zeile Code erforderlich. Selbstverständlich können Sie in den Code auch eine Fehlerbehandlung aufnehmen.
PROCEDURE cmdLoad.Click
WITH thisform.olecontrol1
Try
.Picture =;
LoadPicture;
(GetFile("bmp;jpg;jpeg;gif",;
"Graphics files"))
Catch To oException
MessageBox("No file selected")
Endtry
ENDWITH
ENDPROC
Sie können auch noch eine Schaltfläche Color hinzufügen, um dem Anwender die Möglichkeit zu geben, die Farbe des Ink zu ändern. Diese Fähigkeit steht auch im Steuerelement InkOverlay zur Verfügung.
PROCEDURE cmdcolor.Click thisform.olecontrol1.DefaultDrawingAttributes.Color =; GetColor() ENDPROC
Die Collection DefaultDrawingAttributes bietet eine Vielzahl an Möglichkeiten, die Art zu ändern, in der das Ink gezeichnet wird. In diesem Beispiel ist Color das einzige Element der Collection und der Code ruft einfach FoxPros Funktion GETCOLOR() auf, um die Farbwahl des Anwenders entgegenzunehmen.
Wie schon das Steuerelement InkOverlay kann auch das Steuerelement InkPicture Ink erkennen, speichern und laden. Der Code für die Erledigung dieser Aufgabe mit dem Steuerelement InkOverlay führt direkt über das Steuerelement InkPicture.
Zusammenfassung
Dies sind lediglich einige der Dinge, die Sie mit dem Tablet PC SDK und Visual FoxPro auf dem Tablet PC erledigen können. Der Artikel hat die Aufgabe, Sie auf die Möglichkeiten aufmerksam zu machen, die Ihnen beim Schreiben von Anwendungen für den Tablet PC zur Verfügung stehen. Eine vollständige Liste der Eigenschaften, Ereignisse und Methoden der hier behandelten Steuerelemente finden Sie in der Hilfedatei des Tablet PC SDK.
Als ich auf der Website der CeBIT 2009 nach Tablet PCs gesucht habe, wurde ich nicht fündig. Die Suchmaschine gab mir keinen einzigen Treffer zurück. Zwar wurden auch im letzten Jahr einige Tablet PCs auf der Messe gezeigt, aber die waren der Messe wohl damals noch keine Erwähnung wert.
In diesem Jahr sieht es etwas anders aus. Die Suche nach dem Tablet PC ergibt immerhin 49 Treffer. Das ist ja schon mal beeindruckend und ich habe einige Hersteller auf ihren Ständen besucht. Teilweise sind kleine Hersteller dabei, die nur einen Tablet PC im Angebot haben, der entweder eine Produktpalette aus Handhelds ergänzt oder es handelt sich um sehr spezielle Geräte, beispielsweise einen Tablet PC, der speziell für den Einsatz in infektiösen Bereichen von Krankenhäusern entwickelt wurde. Besonderheiten dieses Geräts namens Elmi Mobile Tablet PC ET 10 Digital Twinhead ist neben der Sicherung gegen Stöße die Resistenz gegen Desinfektionsmittel. Es handelt sich also keinesfalls um ein Gerät für den Massenmarkt.
Aber auch große Hersteller wie Fujitsu stellen den Tablet PC an prominenter Stelle aus. Das Unternehmen steht mit vier Convertibles auf einem Stand, der in der Halle 15 teilweise im Bereich Planet Reseller und teilweise im öffentlich zugänglichen Bereich liegt. Die Tablet PCs im öffentlich zugänglichen Bereich waren die Geräte, die bei meinem Besuch am meisten umlagert waren. Der Mitarbeiter, der mir die Geräte zeigte, hatte Probleme, überhaupt an den Tisch zu kommen. Er äußerte die Meinung, dass die Tablet PCs in den nächsten ein bis zwei Jahren erhebliche Marktanteile erobern werden. Diese Hoffnung begründete er einerseits mit der Multitouchfähigkeit von Windows 7 und andererseits mit dem Aufsehen, das Apple mit seinem iPad erregt hat bzw. noch erregen wird. Dadurch würde die Aufmerksamkeit auf den Formfaktor Tablet PC gelenkt und jeder, der sich für ein solches Gerät interessiert und der nicht nur ein Lifestyle-Gerät sucht, sondern damit auch arbeiten möchte, kann sich eigentlich nur für einen Tablet PC entscheiden.
Microsoft stellt auf der CeBIT ein digitales Klassenzimmer vor. In diesem Klassenzimmer können die Schüler rechnergestützt unterrichtet werden. Eigentlich ist der Zugang zu diesem Klassenzimmer nur Lehrern in Begleitung ihrer angemeldeten Klasse gestattet oder man muss schon Angela Merkel heißen. Obwohl ich beide Zugangsvoraussetzungen nicht erfülle, hatte ich heute trotzdem einmal die Möglichkeit, mir die Ausstattung des Klassenzimmers aus der Nähe anzusehen, nicht nur durch eine Glasscheibe und ich konnte auch einige Fragen stellen.
Microsoft hat einen Raum aufgebaut, in dem in jeder Stunde eine andere Klasse unterrichtet wird. Die jüngsten Schüler besuchen die dritte Klasse, die ältesten befinden sich gerade im Prozess der Berufsfindung. Entsprechend der Altersstruktur werden den Schülern unterschiedliche Inhalte vermittelt. Die Themenbereiche reichen von Datensicherheit im Netz über Astronomie bis hin zur Klärung der Frage, wie viel IT in den unterschiedlichen Berufen steckt. Die Schüler sind sehr konzentriert und mit Begeisterung bei der Sache, was aber wohl auch daran liegt, dass die Lernmethoden neu und daher spannend sind.
Das Klassenzimmer besteht aus zwei Bereichen – einem Bereich, in dem die Schüler an einem Tisch sitzen und jeweils ein Netbook vor sich haben, auf dem die Programme, mit deren Hilfe sie lernen, installiert sind. Das ist so weit noch nicht allzu spannend und dürfte in etwa der Ausstattung in Schulen entsprechen, die das Glück haben, über ein IT-Bugdet zu verfügen. Interessanter ist die “Tafel”. Sie besteht aus einem Whiteboard, das gleichzeitig ein Monitor ist. Die Oberfläche ist mit Teflon überzogen, so dass sie nicht nur als berührungsempfindlicher Monitor verwendet sondern auch mit beliebigen Stiften beschrieben werden und wieder gereinigt werden kann. Vor allem verfügt sie über die Bildschirmtastatur sowie über die Schrifterkennung von Windows 7, so dass handschriftliche Notizen auf dem Whiteboard sowohl als Grafik gespeichert als auch in Text umgewandelt werden können.
Im zweiten Teil des Raumes sind zwei Surface-Tische aufgebaut, so dass auch ein gemeinsames Lernen in Kleingruppen möglich ist. Auch für diese Geräte wurde spezielle Lernsoftware entwickelt, die die Schüler nutzen können. Verständlich, dass die Schüler begeistert von dieser Lernmethode sind, die Surface-Tische sind auch auch für Erwachsene ein echter Eyecatcher.
Microsoft stellt auf diese Weise verschiedene Möglichkeiten vor, wie heute ein IT-unterstütztes Lernen möglich ist. Allerdings stehen einem verbreiteten Einsatz dieser Technologien doch etliche Probleme entgegen. Zunächst einmal fehlt es der öffentlichen Hand verbreitet an den notwendigen finanziellen Mitteln, die derzeit lieber für die Rettung maroder Banken oder für die massenhafte Verbreitung von Beton (Beispiel dafür ist der Um- bzw. Neubau des Stuttgarter Bahnhofs) ausgegeben werden. Außerdem fehlt es noch an der erforderlichen Software, für deren Planung die althergebrachten Lehrmethoden über den Haufen geschmissen werden müssen. Letztendlich stellt sich noch die Frage, ob die Lehrer in der Lage sind, sich an die neuen und flexibleren Lernmethoden einzulassen. Allgemein gelten die Lehrer ja doch eher als unflexibel, aber vielleicht hat die öffentliche Wahrnehmung wie so häufig nicht viel mit der Realität zu tun.
Leider kann ich im Moment noch keine Bilder liefern, da ich leider eine Kamera ohne Mini-USB-Anschluss mithabe und daher die Bilder nicht auf den Rechner bekomme. Ich werde die Bilder aber nachliefern und dann ggf. auch diesen Artikel noch ergänzen. Es lohnt sich also, noch einmal hier reinzusehen.
Und hier noch eine Pressemitteilung von Microsoft:
Kleine und mittelständische Unternehmen (KMU), die IT-Anwendungen hosted oder über die Cloud beziehen, sind wirtschaftlich besonders erfolgreich. Mehr als 40 Prozent dieser Unternehmen erzielten in den vergangenen zwölf Monaten Umsatzsteigerungen von 30 Prozent oder mehr. Damit liegen KMUs, die auf Cloud- oder Hosted-Dienste vertrauen, deutlich über ihren Pendants, die keine solchen Services nutzen: 90 Prozent davon mussten im gleichen Zeitraum Umsatzeinbußen hinnehmen. Dies ist eine der Kernaussagen einer weltweit durchgeführten Untersuchung unter mehr als 3.000 KMUs, die von Microsoft in Auftrag gegeben wurde. Der “SMB IT and Hosted IT Index 2010″ betrachtet, wie kleine und mittelständische Firmen die Wirtschaftskrise gemeistert haben und welchen Einfluss dabei Informationstechnologien hatten.
Zusammengefasst: KMUs sind mit einem blauen Auge durch die weltweite Rezession gekommen. 52 Prozent der befragten Unternehmen konnten in den vergangenen zwölf Monaten sogar Umsatzsteigerungen erzielen. (Ergebnisse in 2008: 38 Prozent). Noch deutlicher ist die Situation in Deutschland. Hier berichten zwei Drittel der kleinen und mittelständischen Unternehmen von Umsatzsteigerungen im letzten Jahr. Damit lagen deutsche KMUs weltweit auf Platz 2. Nur chinesische Firmen konnten das Ergebnis noch überbieten.
”Ein zentraler Faktor für diesen Unternehmenserfolg war dabei die Nutzung von Informationstechnologien,” erläutert Martin Berchtenbreiter, Senior Direktor Mittelstand & Partner und Mitglied der Geschäftsleitung, Microsoft Deutschland. “Von den Unternehmen, die IT als geschäftskritisch identifiziert hatten, konnten sich 60 Prozent über Umsatzsteigerungen freuen. Firmen, für die Informationstechnologien keine besondere Rolle spielen, hatten es da schon schwieriger. Nur knapp ein Drittel von ihnen erzielte steigende Umsätze”.
Relevanz der Wolke wächst
Für kleine und mittelständische Firmen gewinnt das Trendthema “Cloud” zunehmend an Bedeutung. 35 Prozent der befragten Unternehmen bezeichnen das Geschäftsmodell, Informationstechnologien nach Bedarf anzumieten, als “attraktiv” für ihre individuellen Anforderungen. Was die tatsächliche Nutzung von Cloud Computing anbetrifft, besteht jedoch noch viel Raum für Engagement: Nur ein Fünftel aller KMUs setzt derzeit auf diese Art der Nutzung von IT. Deutsche Unternehmen liegen dabei mit 21 Prozent knapp unter dem Durchschnitt.
Anders der Bereich des Hostings. Hier ist die Bereitschaft von KMUs, solche Dienste einzusetzen, deutlich stärker ausgeprägt. Derzeit verwenden bereits 65 Prozent aller KMUs gehostete IT-Anwendungen. Von den Unternehmen, die bislang noch keine “Hosted Services” nutzen, spielen 73 Prozent mit dem Gedanken, dies in Zukunft zu tun. 2008 lag dieser Wert nur bei 44 Prozent.
”Unsere Auswertung der Befragung lässt den Schluss zu, dass es eine Korrelation zwischen dem wachsenden Focus auf IT und dem guten wirtschaftlichen Abschneiden von Unternehmen gibt – ungeachtet ihrer Größe und dem Land, in dem sie tätig sind”, erläutert Dale Vile, Research Director von Freeform Dynamics. Das Analystenhaus hat die erhobenen Daten der Studie einer genauen Prüfung unterzogen. “Die Ergebnisse untermauern die Ansicht, dass Technologien und gehostete Dienste selbst kleineren Firmen einen messbaren wirtschaftlichen Vorteil bringen. Es erstaunt mich nicht, dass Investitionen in IT beziehungsweise Hosting Hand in Hand mit guter ökonomischer Performanz gehen.”
Deutschland führt bei Collaboration-Tools
Im Ländervergleich zeigen sich recht deutliche Unterschiede, was das Vertrauen in Hosted- oder Cloud-Services im Vergleich zu lokal installierter IT anbetrifft. Deutsche KMUs sind besonders vorsichtig, wenn es um Backup-Daten geht. 78 Prozent halten diese Daten “on-premise” also im eigenen Unternehmen vor. In den USA sowie Asien liegt dieser Wert deutlich unter 70 Prozent. Gleiches gilt für die eigene Webseite. Deutsche Firmen betreiben ihre Unternehmensseite gerne im eigenen Unternehmen (61 Prozent), wohingegen Britische KMUs diese Aufgaben zum gleichen Maß auslagern (66 Prozent). Collaboration-Tools werden in Deutschland dagegen gerne gehostet oder über die Cloud genutzt (27 Prozent). Im Hinblick auf die Nutzung von Werkzeugen zur Team-Zusammenarbeit über das Internet liegen Deutsche Firmen damit deutlich über dem Durchschnitt.
Die Untersuchung “SMB IT and Hosted IT Index 2010″ wurde zwischen November 2009 und Januar 2010 durch die Vanson Bourne Ltd. durchgeführt. Befragt wurden 3.193 kleine und mittelständische Unternehmen mit bis zu 500 Mitarbeitern in Frankreich, Deutschland, den Niederlanden, Norwegen, Polen, Südafrika, Spanien, UK, USA, Australien, China, Indien, Japan, Südkorea und Singapur über unterschiedliche Wirtschaftszweige hinweg.
Auch wenn ich die Euphorie nicht so recht teilen kann (die Gefahren und vor allem der Datenschutz werden werden gerne ausgeklammert) dürfte eines wohl klar sein: die Zukunft liegt in der Cloud, besonders von mobilen Anwendern und damit schwerpunktmäßig von Anwendern der Tablet PCs und Laptops.
Mit einer ungewöhnlichen Veranstaltung macht das Center for Geoinformation auf der CeBIT 2010 auf seine Branche aufmerksam: Es lädt Interessierte am Mittwoch, 3. März, um 17 Uhr zum Speed Dating GeoBusiness ein.
Die Veranstaltung bietet Besuchern in kompakter und unterhaltsamer Form die Gelegenheit, mehr über Geoinformationen und ihre Nutzung zu erfahren. Nach der Themeneinführung anhand eines Praxisbeispiels folgt ein Rundgang, bei dem drei bis fünf Geodaten-Services vorgestellt werden. Neben einem allgemeinen Geoinformationsbereich stehen Themen wie GeoWeb-Services, Sicherheit und Katastrophenschutz oder Stadtmarketing auf dem Programm. Beim anschließenden Get-together besteht die Möglichkeit, Themen aus den Führungen aufzugreifen und sich umfassender zu informieren.
Das dürfte sicher ein interessanter Termin für morgen sein. Ich würde ihn gern wahrnehmen, doch ich bin ja auch morgen noch auf dem Microsoft-Stand engagiert, so dass dieser Termin leider ohne mich stattfinden muss.








