Multitouch-Entwicklung mit MT4j

[toc]Dieser Artikel stellt den Auftakt einer Serie weiterer Berichte zu „ersten Schritten“ mit aktuell verfügbaren Multitouch-Entwicklungsumgebungen dar. Innerhalb dieser Serie liefert der vorliegene Bericht einen Überblick über die Entwicklung von Multitouch-Anwendungen mit Multitouch for Java (MT4j). Das Framework bietet umfangreiche Funktionalität für das Arbeiten mit Multitouch-Hardware und einfach adaptierbare Konzepte zur Entwicklung eigener Anwendungen. Im Folgenden wird nach einer kurzen Einführung die Einrichtung mit Eclipse erläutert, einige Beispielanwendungen vorgestellt sowie ein Minimal-Beispiel implementiert.

Einführung

  • Java-Framework zur Entwicklung von Multitouch-Anwendungen
  • Verwendung verschiedener Komponenten (Bilder, Videos, 3D-Objekte)
  • Anbindung unterschiedlicher Hardware und Protokolle
  • 10 vorhandene Multitouch-Gesten sowie Möglichkeit zur Erstellung von eigenen Gesten
  • Performante Darstellung durch OpenGL

Demo

Um vor der Vorstellung der technischen Details einen ersten Eindruck zu schaffen, demonstriert das folgende Beispielvideo die Funktionalität der mitgelieferten Kartenapplikation:

Historie

Das MT4j-Framework wird vom Fraunhofer-Institut für Arbeitswirtschaft und Organisation (IAO) entwickelt und basiert (wie der Name schon sagt) auf der weit verbreiteten objektorientierten Programmiersprache Java. Im Herbst 2009 wurde das Framework unter Open Source-Lizenz veröffentlicht und wird seitdem durch die OpenSource-Gemeinde weiterentwickelt. Die Multitouch-Plattform übernimmt alle benötigten Aufgaben, wie beispielsweise die Erkennung von Multitouch-Gesten, deren Umsetzung in Events sowie die erforderliche Grafikausgabe. Es bietet eine umfangreiche Bibliothek mit vorgefertigten Grafiken, Gesten und Schriften und ist sehr generisch implementiert, sodass eigene Gesten und Grafiken problemlos hinzugefügt werden können. Das Framework ist prinzipiell kompatibel zu allen Multitouch Geräten, da es die Inputs der Hardware abstrahiert.  Als Grundlage hierfür wird die Anbindung an verschiedene APIs (z.B. TUIO) bereitgestellt, welche die Eingaben des Touchscreens interpretieren. Die Darstellung erfolgt über die Grafikschnittstelle OpenGL, sodass die Anwendungen auf entsprechender Hardware sehr performant sind.

Komponenten und Aufbau

Die nachfolgende Tabelle gibt einen Überblick über die technischen Eigenschaften sowie bereitgestellten Gesten und Komponenten des Frameworks:

Eigenschaft Ausprägung bei MT4j
Programmiersprache
  • Java
Rendering
  • OpenGL
  • Software-Rendering
Hardware-Anbindung
  • Hardwareabstraktion und Input Abstraktion
  • Es können beliebige Eingabegeräte integriert werden
  • Native Unterstützung von Windows 7 Multitouch-Features
  • Unterstützung des TUIO-Protokolls
Multitouch-Gesten
  • Drag
  • Rotate
  • Scale
  • Tap
  • Double Tap
  • Tap and Hold
  • Arcball Rotate
  • Lasso Select
  • Flick
  • Gesture Draw
  • Eigene Gesten können definiert werden
Bereitgestellte Komponenten
  • Primitive Vektorgrafiken [ref]Vierecke, Ellipsen, Polygone, etc. .[/ref]
  • Schriften [ref]Standardschriftarten (True Type) und Vektor-basierte Schriftarten.[/ref]
  • Bilder [ref]Unterstützung gängiger Formate (.jpg, .png, .bmp).[/ref]
  • 3D-Objekte [ref].3ds und .obj Dateien mit Texturen.[/ref]
  • Videos [ref]Unterstützung gängiger Formate.[/ref]

Installation

Das MT4j Framework steht als quelloffener Download, derzeit in Version 0.95 zur Verfügung und ist bereits als ein Eclipse-Projekt strukturiert.

MT4j läuft derzeit nur mit der 32bit-Variante von Java. Soll ein 64bit System eingesetzt werden, muss trotzdem der 32bit JDK installiert werden. Unter Eclipse muss entsprechend die 32bit Variante von Java zum Ausführen der MT4j Anwendungen ausgewählt werden!

  1. Java Development Kit 32bit (gekennzeichnet als x86) herunterladen und installieren
  2. Die heruntergeladene ZIP-Datei entpacken (MT4j 0.95 full release)
  3. Im Paketexplorer von Eclipse mit Rechtsklick importieren wählen
  4. In dem Importfenster ein „bereits existierendes Projekt“ auswählen
  5. Den unter 2. entpackten Ordner auswählen und importieren

[nggtags gallery=MT4j+Installation]

Mitgelieferte Beispiele

Das MT4j-Paket enthält 19 einfache Beispielanwendungen. Diese sind unterteilt in die Pakete „basic“ und „advanced“ und sind im Ordner „examples“ zu finden. Die Basic Examples dienen zum Verstehen und Testen der grundlegenden Techniken in sehr einfach gehaltenen Applikationen. Die Advanced Examples demonstrieren die Leistungsfähigkeit des Frameworks, indem beispielsweise 3D Modelle verwendet werden. Jede Anwendung befindet sich in einem eigenen Paket. Es ist keine weitere Konfiguration erforderlich, da das Framework alle benötigte Komponenten automatisch sucht und auswählt. Zum Starten ist jeweils eine „Start…Example.java“ Datei hinterlegt, die als „Java Application“ in Eclipse ausgeführt werden kann. Nach dem Start öffnet sich ein neues Fenster innerhalb dessen die Multitouch-Interaktion möglich ist.

Basic-Anwendungen

[nggtags gallery=MT4j+Beispielanwendung+basic]

Advanced-Anwendungen

[nggtags gallery=MT4j+Beispielanwendung+advanced]

Minimalimplementierung

Eine Multitouch-Anwendung mit MT4j zu schreiben ist denkbar einfach, da sie nur zwei Klassen (Scene und MTApplication) benötigt. Die folgenden beiden Abschnitte geben einen Überblick über die Implementierung eine einfachen Applikation zur Bildmanipulation. Die Anwendung, die zum Selbsttest ebenfalls als Download verfügbar ist, ermöglicht es, ein Bild anzuzeigen und dieses mit Standard-Multitouch-Gesten zu manipulieren.

Scene

Eine „Scene als erste benötigte Bestandteil der Anwendung muss die abstrakte Klasse „AbstractScene“ erweitern. In dieser Klasse wird festgelegt, welche Komponenten angezeigt werden. Es gibt viele vorgefertigte Elemente, die insbesondere Standard-Multitouch-Gesten bereits beherrschen. Hierzu gehören beispielsweise Grafiken, Textfelder und Rahmen für verschiedene andere Objekte. Für unser Minimalbeispiel benötigen wir folgenden Code für die Scene-Klasse:

package MinimalExample;

import org.mt4j.MTApplication;
import org.mt4j.components.TransformSpace;
import org.mt4j.components.visibleComponents.widgets.MTImage;
import org.mt4j.input.gestureAction.InertiaDragAction;
import org.mt4j.input.inputProcessors.componentProcessors.dragProcessor.DragProcessor;
import org.mt4j.sceneManagement.AbstractScene;
import org.mt4j.util.math.Vector3D;

import processing.core.PImage;

public class PictureScene extends AbstractScene
{
  private String picturePath =  "MinimalExample" + MTApplication.separator + "data" + MTApplication.separator;

  public PictureScene (MTApplication mtApplication, String name)
  {
    super(mtApplication, name);

    MTApplication app = mtApplication;
    PImage img = app.loadImage(picturePath + "pic.jpg");
    MTImage image = new MTImage(img,app);
    image.setUseDirectGL(true);
    image.setPositionGlobal(new Vector3D(400,400,0));
    image.scale(0.2f, 0.2f, 0.2f, image.getCenterPointLocal(), TransformSpace.LOCAL);
    image.addGestureListener(DragProcessor.class, new InertiaDragAction());
    this.getCanvas().addChild(image);
  }

  @Override
  public void init() {}

  @Override
  public void shutDown() {}
}

Datei ist zu beachten, dass sich das entsprechende Bild im Paket „MinimalExample.data“ (gekennzeichnet als „picturePath“) befinden muss, damit es geladen werden kann!

MTApplication

Die „Application“-Klasse dient zum Starten der Anwendung und muss die abstrakte Klasse „MTApplication“ erweitern. Die vorher beschriebene Scene wird lediglich hinzugefügt. Anschließend wird die Anwendung mit dem Methodenaufruf „initialize()“ gestartet. Dazu sind lediglich die Folgenden Codezeilen erforderlich:

package MinimalExample;

import org.mt4j.MTApplication;

public class StartMinimalExample extends MTApplication
{
  private static final long serialVersionUID = 1L;

  public static void main(String args[])
  {
    initialize();
  }

  @Override
  public void startUp()
  {
    this.addScene(new PictureScene(this, "Picture scene"));
  }
}

Marktübersicht zu Outdoor-Touchscreen-Terminals

[toc]Der vorliegende Artikel widmet sich dem Vergleich aktueller Outdoor-Touchscreen-Terminals im Hinblick auf die verwendeten Hardware-Komponenten und liefert einen kompakten Marktüberblick inkl. Preisangaben zum Jahreswechsel 2011-2012. Der Markt für interaktive Anzeigesysteme ist klein und insbesondere für Outdoor-Geräte existieren nur wenige Hersteller. Der Artikel wende sich an Firmen, Gemeinden oder öffentlichen Einrichtungen und ermöglicht einen transparenten Überblick. Nachdem der Beitrag im Rahmen einer studentischen Arbeit entstanden ist, verfolgt er keinerlei kommerzielles Interesse.

Einführung

Outdoor-Touchscreen-Terminals werden im öffentlichen oder halböffentlichen Raum eingesetzt. Je nach Aufstellungsort können sich die Einsatzbereiche stark unterscheiden und umfassen beispielsweise:

  • Touristeninformation in Städten und Einkaufszentren
  • Buchungssystem auf Flüghäfen, Bahnhöfe, Hotels oder in Firmen
  • Internet- oder Surf-Terminals
  • reine interaktive Werbeflächen

httpvh://www.youtube.com/watch?v=ZUHV3FT2vvQ

Verglichene Terminals

Im Artikel Outdoor-Touchscreens: Hardware und Komplettsysteme wurden bereits Touchscreen-Produkte inkl. der jeweiligen Hersteller oberflächlich vorgestellt. Darauf basierend folgt in diesem Artikel zunächst eine Übersicht konkreter Produkte und aufbauend auf einigen kurz beschriebenen Vergleichskriterien[ref]Leider konnten die Produkte keinem einheilichen Live-Test unterzogen werden, weshalb sie ausschließlich auf Basis der verfügbaren Herstellerinformationen miteinander verglichen werden.[/ref] eine Gesamtübersicht, in der die unterschiedlichen Geräte einander gegenüber gestellt werden.

Kolembar – Hawk

[singlepic id=848 h=618 float=center]

Das „Hawk“ Terminal ist ein sehr individuell konfiguriertbares Terminal. Das Gehäuse entscheidet über In- bzw Outdoor-fähigkeit sowie die Größe des Displays. Alle weiteren Hardwarespezifikationen können frei gewählt werden.

Gehäuse Hawk Outdoorkiosk[ref]Terminal ist gegen Aufpreis mit Sonderlackierung oder Kundenspeziefischen Logos und Symbolen erhältlich.[/ref] 17″ 2.390,00 €
32″ 2.490,00 €
17″ Wandversion 2.190,00 €
PC-Einheit Dell Optiplex 380[ref]Besonderheiten:DVD – Laufwerk, 3 Jahr Dell Vor-Ort Service.[/ref] CPU Celeron 450, 2,4 GHz Dualcore 650,00 €
Grafikkarte k.A.[ref]vorhanden, aber keine genaue Angabe.[/ref]
RAM 2 GB
HDD 250 GB
Rechner mit Intel Atom CPU Intel Atom Prozessor 1,6 480,00 €
Grafikkarte k.A.
RAM 2 GB
HDD 160 GB SATA
Touchscreen Kapazitiv 17″ LCD TFT inkl. Schutzscheibe 890,00 €
17″ High Brightness 1.580,00 €
32″ LCD TFT Portrait 2480,00 €
Peripherie Tastatur Edelstahl Keyboard mit Trackball 450,00 €
Webcam k.A 120,00 €
Drucker Custom TG2460 60mm 390,00 €
VKP80 80mm 550,00 €
Swecoin 7030 112mm 690,00 €
Custom KPM210 210mm 1.190,00 €
WLAN n.V.[ref]Nicht auf der Preisliste enthalten, ggf auf Anfrage erhaltlich.[/ref]
3G – UMTS n.V.
Bluetooth n.V.
Barcode – Scanner CCD FS302 190,00 €
2D FCC2DA 390,00 €
Lautsprecher n.V.
UPS UPS, 500V A 160,00 €
Telefonhörer k.A 160,00 €

Weitere Informationen und Kontaktmöglichkeiten finden sie auf der Produktseite des Hawk beim Hersteller Kolembar.

SOLIDD – K8

[singlepic id=851 h=618 float=center]

Eine Besonderheit am „K8“ Terminal ist die im Preis enthaltene PC – Einheit zusammen mit der Umsetzung des Touchscreens und der Outdoor-Fähigkeit. Die Firma SOLIDD bietet hierzu ein Touchscreen Kit für verschiedene Displaygrößen und ein Outdoor-Kit an.

Gehäuse Infosäule K8[ref]Preise inkl. Outdoor-Kit: verstäktes Stahlkörper, Klimaregelung, verstäktes Stahlkörper, Klimaregelung, Korrosionsschutz, Spritzwasserschutz (949,00 €).[/ref] 22″ Landscape 3.548,00 €
32″ Portrait 4.148,00 €
42″ Portrait 4.548,00 €
PC-Einheit Intel® Pentium[ref]Besonderheit: DVD – Laufwerk, Im Basispreis enthalten.[/ref] CPU mind.Intel® Pentium-Dual Core Prozessor mind. 2GHz
Grafikkarte k.A.[ref]vorhanden, aber keine genaue Angabe.[/ref]
RAM 1024MB erweiterbar bis max. 2GB (2 Steckplätze)
HDD mind 160 GB
Touchscreen Touchscreen Kit[ref]infrarot, 32″, 5mm, sicherheitsglas, USB-Controller, verbaut in Modell K8.[/ref] 22″ 699,00 €
32″ 940,50 €
42″ 1.329.05 €
Peripherie Tastatur Internet Tastatur mit Trackball 329,00 €
Edelstahl Tastatur mit Trackball 699,00 €
RF Service Tastatur 870,00 €
Webcam k.A 197,00 €
Drucker n.V.[ref]Nicht auf der Preisliste enthalten, ggf auf Anfrage erhaltlich.[/ref]
WLAN n.V.
3G – UMTS n.V.
Bluetooth n.V.
Barcode – Scanner n.V.
Lautsprecher Multimedia-Stereo-Soundsystem 99,00 €
UPS n.V.
Telefonhörer n.V.

Weitere Informationen und Kontaktmöglichkeiten finden sie auf der Produktseite des K8 beim Hersteller SOLIDD.

friendlyway – grande 46

Diese Terminal wird von der Firma friendlyway nach aktuellen Informationen nicht mehr als Outdoor-Terminal produziert und zur Zeit als reines Indoorterminals vertrieben.

[singlepic id=1019 h=618 float=center]

Beim „grande 46“ ist zu beachten, dass es ausschließlich als doppelseitiges Terminal zu erwerben ist. Daher ist der Grundpreis der Basiseinheit und ebenso der Preis der verfügbaren Addons höher. Weiterhin benötigt es zwei PC-Einheiten, um die beiden Displays zu betreiben. Der Preis für das Upgrade auf Multitouch wird entsprechend pro Display (und damit i.d.R. zweimal) fällig.

Gehäuse grande 46[ref]nicht mehr als Outdoor Terminal produziert.[/ref] 46″ Portrait, Double Sided[ref]Terminal inklusive Touchscreens auf beiden Seiten.[/ref] 6.760,00 €
PC-Einheit Dell fast[ref]Besonderheit: Laufwerk8x DVD / RW.[/ref] CPU Core i5-2400 3,1 GHz 695,00 €
Grafikkarte Intel GMA X4500MHD
RAM 2 GB RAM DDR3 1333 MHz
HDD 250 GB HDD SATA III
Digital Engine von AOpen[ref]z.B DE45-Pro Besonderheit: DVD – Laufwerk.[/ref] CPU Intel Core 2 Duo, Celeron 995,00 €
Grafikkarte Intel GMA X4500MHD
RAM 200-pin DDRII SO-DIMM x 2, bis max 8 GB
HDD 1x 2.5″ HDD, k.A. zur Größe
Touchscreen Touchscreen 46″ LED Full HD 1920×1080 Pixel[ref]Aufpreis High Brightness 1500cd 1.190,00 €.[/ref]
Multitouch Infrarot Multitouch 1.290,00 €
Peripherie Tastatur n.V.[ref]Nicht auf der Preisliste enthalten, ggf auf Anfrage erhaltlich.[/ref]
Webcam 8 Mega Pixel, integrated autofocus 390,00 €
Drucker Custom Thermodrucker 80mm[ref]Auf der Preisliste aufgeführt, jedoch ohne Preis.[/ref]
WLAN System z.B. TP-Link High-Gain-USB-Adapter[ref]Auf der Preisliste aufgeführt, jedoch ohne Preis.[/ref]
3G – UMTS n.V.
Bluetooth n.V.
Barcode – Scanner n.V.
Lautsprecher 2 x 2” Full Range Speaker je. 7 Watt 210,00 €
UPS n.V.
Telefonhörer n.V.

Weitere Informationen und Kontaktmöglichkeiten finden sie auf der Produktseite des grade 46 beim Hersteller friendlyway.

BV-comOffice – iMotion

[singlepic id=873 h=618 float=center]

Das iMotion-Terminal gibt es in den größsten Display-Ausführungen von bis zu 70″. Dabei ist es möglich, die Displays auch in doppelseitiger Ausführung und (bis zur Größe von 65″) auch im Querformat einzubinden.

Gehäuse imotion, Single Sided[ref]Eine PC-Einheit im Preis enthalten, Preis inkl. Footstand (100,00 €), alternativ Footstand with 4 rubber wheels (300,00 €), Besonderheit: Anti – graffiti Protection (640,00 €).[/ref] 32″, Portrait 8.160,00 €
46″, Portrait/Landscape 12.700,00 €
55″, Portrait/Landscape 14.500,00 €
65″, Portrait/Landscape 17.000 €
70″, Portrait 29.600 €
imotion, Double Sided[ref]Eine PC-Einheit im Preis enthalten, Preis inkl. Footstand (100,00 €), alternativ Footstand with 4 rubber wheels (300,00 €), Besonderheit: Anti – graffiti Protection (640,00 €).[/ref] 46″, Portrait/Landscape 16.500,00 €
55″, Portrait/Landscape 17.700,00 €
65″, Portrait/Landscape 25.000,00 €
70″, Portrait 45.400,00 €
PC-Einheit Zusätzliche PC Einheit iBase Si-28M 1.060,00 €
iBase Si-28L 890,00 €
iBase Si-28 CPU AMD Athlon™ II X2/X4
Grafikkarte ATI Radeon™ E4690, 512MB GDDR3
RAM 2x DDR2 400/667/800 SO-DIMM, Max. 4GB
HDD 1x 2.5″ HDD, k.A. zur Größe
Touchscreen Touchscreen 32″[ref]Aufpreis High bright Panels 32″ 820,00 €.[/ref] 1.460,00 €
46″[ref]Aufpreis High bright Panels 46″ 1.800,00 €.[/ref] 1.650,00 €
55″[ref]Aufpreis High bright Panels 55″ 2.850,00 €.[/ref] 1.790,00 €
65″ 1.980,00 €
70″ 3.060,00 €
Peripherie Tastatur n.V.[ref]Nicht auf der Preisliste enthalten, ggf auf Anfrage erhaltlich.[/ref]
Webcam AV2815 (Full HD, Megapixel) 788,24 €
Logitech HD Pro WebCam C910, Full HD 120,00 €
Drucker n.V.
WLAN 2 Ip65 antennas, RB493 Router 500,00 €
3G – UMTS 3G Card, Adapter Card, 2 antennas 530,00 €
Bluetooth 7 connections 540,00 €
21 connections 870,00 €
Barcode – Scanner n.V.
Lautsprecher n.V.
UPS Eaton Evolution UPS 360,00 €
Telefonhörer n.V.

Weitere Informationen und Kontaktmöglichkeiten finden sie auf der Produktseite des imotion beim Hersteller BV-comOffice.

Vergleichskriterien

Neben den grundlegenden Komponenten eines Standard-Outdoor-Terminals wurde dabei insbesondere das Angebot an Peripherie betrachtet.

Basisgerät

Als Standard wurde neben der PC-Einheit ein mind. 32“ größes Single-Touch-Display ausgewählt. Die Bewertung des Basisgeräts basiert auf den im Preis enthaltenen Komponenten sowie den angebotenen Variationsmöglichkeiten.

PC- Einheit

Bei der PC-Einheit wurden die Komponenten der direkt miteinander verglichen. Die Bedürfnisse jeder Anwendung sind sehr unterschiedlich, doch die bisherigen Szenarien stellen keine sehr hohen Hardwareanforderungen. Daher werden von den Herstellern meist recht durchschnittliche Hardwarekomponenten verbaut. Single oder schwache Dual-Core-Prozessoren, Onboard-Grafikkarten, wenig RAM und Festplattenspeicher sind die Regel. Dies ist jedoch für die meisten Anwendungen vollkommen ausreichend.[ref]Falls die eigene Anwendung hohe Hardwareanforderungen an das System stellt, sollten vorab zusätzliche Informationen beim Hersteller eingeholt werden.[/ref]

Touchscreen

Das wichtigste Element der Terminals ist das Touchscreen-Display. Es verbindet Anzeige und Eingabe und ist daher die kritischste Komponente des Terminals. Die verwendeten Technologien sind sehr unterschiedlich und bringen entsprechend unterschiedliche Eigenschaften mit sich. [ref]Kapazitiv: sehr genau, ermöglicht Multitouch, muss mit bloßem Finger oder Eingabestift bedient werden. Resistiv: genau, sehr selten Multitouch, muss nicht mit bloßem Finger oder Eingabestift bedient werden. Infrarot: sehr genau, ermöglicht Multitouch, kann mit jeder Art Eingabeelement bedient werden. Weitere Informationen finden sich beispielsweise im englischen Wikipedia-Artikel „Touchscreen„.[/ref] Gegenüber der Entwicklung bei Smartphones und Tablets ist Multitouch bei Outdoor-Terminals noch nicht zum Standard geworden. Im Vergleich hat unterstützt keines der Geräte Multitouch-Gesten oder mehrere simulane Touch-Punkte.[ref]In der Bewertung wurde deshalb max. ein mittlerer Wert für alle Terminals vergeben.[/ref]

Peripherie

Da das Angebot an optionalen Erweiterungen sehr unterschiedlich ist und einige Firmen erst auf Anfrage bestimmte Geräte verbauen, beschränkt sich der Vergleich auf die Anzahl der angebotenen Komponenten.

Gesamtübersicht

Die folgende Gesamtübersicht zeigt die vorgestellten Vergleichskriterien der vier Terminals im direkten Vergleich.

Terminal.[ref]Die aufgeführten Informationen und  Preise in diesem Artikel sind auf dem Stand  Januar 2012 und dienen im Artikel als Übersicht. Für aktuellere Informationen und gültige Preis verweisen wir auf die Seiten der Hersteller.[/ref] Basisgerät[ref]Bewertung Basisgerät: Im Preis enthaltenen Komponenten.[/ref] PC- Einheit[ref]Bewertung PC Einheit: Direkte Vergleich der Komponenten.[/ref] Touchscreen[ref]Bewertung Touchscreen: Technologie.[/ref] Peripherie[ref]Bewertung Peripherie: Anzahl der angebotenen Komponenten (1-4,4-6,7+).[/ref] Summe
Kolembar – Hawk [mittel] [gut] [mittel] [gut] 5.570,00 €
Solidd – Infosäule K8 [gut] [schlecht] [mittel] [gut] 5.285,50 €
friendlyway – grande 46 [gut] [gut] [mittel] [schlecht] 8.150,00
BV-comOffice – imotion [gut] [mittel] [mittel] [mittel] 9.620,00

Zusammenfassung

Der vorliegende Artikel gibt eine grobe Markübersicht über Outdoor-Touchscreen-Terminals sowie deren Komponenten. Oftmals sind bei heutigen Lösungen nicht die Größe der Touchscreens oder die Leistungsstärke der PC Einheiten entscheidend,  sondern je nach Anwendung und Einsatzgebiet bestimmte Komponenten, die nicht jeder Hersteller anbietet. Im Vergleich ist beispielsweise Kolembar der einzige Hersteller, der einen Barcodescanner oder Telefonhörer anbietet. Gleiches gilt für BV-com Office für 3G bzw. UMTS und Bluetooth-Übertragung.

Ansonsten stechen Hersteller und Produkte primär durch Sonderfunktionen bzgl. der Bauweise des Geräts hervor: Beispiele sind

  • High Brightness Displays, die auch bei hoher Sonneneinstrahlung gut zu erkennen sind,
  • Sonderlackierungen, um mehr Aufmerksamkeit auf das Terminal zu lenken,
  • Schutzlackierungen gegen Graffitis oder
  • Rollen unter dem Gerät, um es bei Bedarf im halböffentlichen oder privaten Bereich flexibel einzusetzen.

Aufgrund der sonst sehr ähnlichen Eigenschaften bieten insbesondere diese Kriterien Potenzial für Differenzierungsstrategien, da sie für Kaufentscheidungen eine entscheidende Rolle spielen können. Die neuste Entwicklung zeigt jedoch auch ganz andere sekundäre Funktionen für Outdoor-Terminls. Das in diesem Artikel aufgeführte Terminal iMotionvon BV-comOffice gibt es beispielsweise in einer „HELP-Ausführung“, die einen Defibrilator beinhaltet, der im Notfall von jedem Passanten entnommen werden kann. Dabei setzt das Terminal einen Notruf ab und zeigt Videos von lebensrettenden Sofortmaßnahmen.

httpvh://www.youtube.com/watch?v=dyHzjokooc4

Danksagung

Besonderer Dank gilt den folgenden Ansprechpartnern der jeweiligen Firmen für die Bereitstellung der oben aufgeführten Daten und die Genehmigung der Veröffentlichung, ohne die der vorliegende Artikel nicht möglich gewesen wäre: Kolembar Industrietechnick: Dipl. Ing Hans Wilhelm, SOLIDD: Derek Owen, friendlyway: Florian Sommer, BV-comOffice: Jan Nätscher.

"Weitere Informationen und Kontaktmöglichkeiten finden sie auf der Produktseite des grade 46 beim Hersteller friendlyway."

Evaluation von Zeigegeräten nach ISO 9241-9

[toc]Die ISO Norm 9241 ist eine internationale Norm, die Richtlinien zur Interaktion zwischen Mensch und Computer bereitstellt. Neben Vorgaben zur Ergonomie des Arbeitsplatzes und zur Gestaltung der Bildschirminteraktion beschreibt der Teil 9 mit dem Titel „Anforderungen an Eingabegeräte – außer Tastaturen“ neben einer Vielzahl von Begriffsbestimmungen auch Angaben für Maße der Gebrauchstauglichkeit eines Interaktionsmechanismus. So wird die Gebrauchstauglichkeit nach ISO 9241-9 durch die Effektivität, die Effizienz und die Zufriedenheit des Nutzers bei der Nutzung eines Gerätes in einem gewissen Anwendungskontext bestimmt. [ref] Deutsches Institut für Normung (2002): ISO 9241-9 Ergonomische Anforderungen für Bürotätigkeiten mit Bildschirmgeräten Teil 9: Anforderungen an Eingabemittel − ausgenommen Tastaturen. S.13.[/ref] Außerdem enthält die Norm neben Hinweisen zur Ergonomie und Nutzungsanforderungen bei der Gestaltung von Eingabegeräten außer Tastaturen im Anhang B auch Informationen zur Bewertung der Effektivität und Effizienz der Interaktionsmechanismen. [ref]Deutsches Institut für Normung (2002): ISO 9241-9 Ergonomische Anforderungen für Bürotätigkeiten mit Bildschirmgeräten Teil 9: Anforderungen an Eingabemittel − ausgenommen Tastaturen. S. 29 ff.[/ref] Zur Evaluation wird demnach ein Fitts’ Law Test verwendet. Diese Evaluationsmethode wird nachfolgend genauer erläutert, indem zunächst die ursprüngliche Evaluation eines Zeigegerätes nach Fitts vorgestellt wird und anschließend das daran angelehnte Verfahren nach ISO 9241-9 beschrieben wird.

Geschichte der Fitts‘ Law Evaluation

Der in der ISO 9241-9 beschriebene Testablauf zur Bewertung von Zeigegeräten basiert auf dem in der HCI auch vor der Normierung häufig zur Evaluation von Zeigegeräten genutzten Fitts’ Law Modell. Der ursprünglich von Paul M. Fitts durchgeführte Testablauf diente der Überprüfung, ob eine schnelle, gezielte Bewegung der Hand durch die physische Stärke des Muskelapparates oder die Geschwindigkeit der Informationsverarbeitung des menschlichen Nervensystems limitiert wird. [ref]Fitts, Paul M. (1954): The Information Capacity of the Human Motor System in Controlling the Amplitude of Movement. Journal of Experimental Psychology, 3/1954 (121), S.381.[/ref] Dazu mussten die getesteten Personen mit unterschiedlich schweren Stiften abwechselnd zwei Aluminiumstreifen mit vorgegebener Breite und festem Abstand berühren.

[singlepic id=842 w=618 h= float=]

Die Veränderung der Breite der Aluminiumstreifen und des Abstands der Streifen diente dann zur Veränderung des Schwierigkeitsgrades. Zur Bestimmung des Schwierigkeitsgrades nutzte Fitts ein Theorem von Shannon zur Bestimmung der Kapazität eines Kommunikationskanals in bit durch ID= log2(2A/ W) mit dem Schwierigkeitsindex ID in bit, der Zielentfernung A und der Zielbreite W. [ref]Shannon, Claude E. (1948): The mathematical theory of communication. 1963. M.D. Computing : Computers in Medical Practice, 4/1948 (14), S. 43.[/ref] Daher wird auch nach der heutigen ISO Norm die Schwierigkeit eines Ziels in bit angegeben und die Leistung eines Zeigegerätes in bit/s gemessen. Das Ergebnis des Tests war eine geringe Abweichung der Bewegungszeiten bei unterschiedlichem Gewicht des Stifts, woraus Fitts folgerte, dass nicht die physische Muskelstärke die Bewegungszeit einschränkt. Fitts’ Law sagt außerdem aus, dass ein linearer Zusammenhang zwischen dem Schwierigkeitsindex eines Ziels und der Auswahlzeit besteht.

[singlepic id=844 w=618 h= float=]

Evaluation nach ISO 9241-9

Die ISO Norm bietet zur Bewertung der Effizienz und Effektivität von Zeigegeräten verschiedene Verfahren, die je nach Interaktionsform ein unterschiedliches Vorgehen zur Datensammlung erfordern.

Dabei unterscheidet die Norm nach folgenden Interaktionsformen[ref]Deutsches Institut für Normung (2002): ISO 9241-9 Ergonomische Anforderungen für Bürotätigkeiten mit Bildschirmgeräten Teil 9: Anforderungen an Eingabemittel − ausgenommen Tastaturen. S. 30.[/ref]:

  • Zeigen
  • Auswählen
  • Ziehen
  • Nachziehen
  • Freihandeingabe

Je nach vorwiegender Interaktionsform bei der Interaktion mit der Mensch-Computer Schnittstelle hat auch der Versuchsaufbau ein anderes Erscheinungsbild. Während Auswahltests verschiedene Objekte auf dem Display darstellen, die der Nutzer mit dem Zeiger erreichen und auswählen muss, sind Nachziehtest so aufgebaut, dass ein Cursor-Objekt auf einer vorgegebenen Bahn zwischen zwei Randbegrenzungen bewegt werden muss. Der Anordnung von Zeiger und Zielen kann dem folgenden Bild entnommen werden:

[singlepic id=841 w=618 h= float=]

Durch die Testform wird auch die Messung der Daten zur Bewertung des Interaktionsmechanismus bestimmt. Die nachfolgenden Abschnitte beschäftigen sich mit der Bewertung von Zeigegeräten bei Zeige-, Auswahl- und Ziehaufgaben.

Wahl der Schwierigkeitsindizes

Der Schwierigkeitsgrad ID bei einem Auswahltest wird durch die Entfernung des Zeigers zur Zielmitte in der jeweiligen Bewegungsrichtung und der Größe des Ziels nach folgender Formel bestimmt[ref]Soukoreff, R. William & Mackenzie, I. Scott (2004): Towards a standard for pointing device evaluation, perspectives on 27 years of Fitts? law research in HCI. International Journal of Human-Computer Studies, 6/2004 (61), S. 755 bzw. Deutsches Institut für Normung (2002): ISO 9241-9 – Ergonomische Anforderungen für Bürotätigkeiten mit Bildschirmgeräten Teil 9: Anforderungen an Eingabemittel − ausgenommen Tastaturen. S. 31.[/ref]:

ID = log2 ((D/W)+1) = log2 ((D+W)/W)

Dabei ist D die Zielentfernung (Distance) und W die Zielbreite (Width). Für die Wahl der Maßeinheit für Zielentfernung und Zielbreite macht die ISO Norm keine Vorgaben, jedoch wird darauf hingewiesen, dass eine konsistente Nutzung der gewählten Einheit erforderlich ist. Nach ISO Norm gilt folgende Einordnung der Schwierigkeitsindizes auf der logarithmischen Skala:

  • 2 < ID <= 4 | leichtes Ziel
  • 4 < ID <= 6 | mittleres Ziel
  • ID > 6 | schweres Ziel

Die verwendeten Schwierigkeitsindizes sollten bei einer konkreten Evaluation in einem Bereich zwischen 2 und 8 liegen. Eine Kombination aus Zielentfernung und Zielbreite wird als Kondition bezeichnet. Je mehr Konditionen der Testperson präsentiert werden, desto aussagekräftiger ist das Bewertungsergebnis für das jeweilige Zeigegerät. Dabei ist jedoch zu beachten, dass eine Kondition dem Nutzer 15-25 mal angezeigt werden sollte. Welche Konditionen realisiert werden können, kann von dem verwendeten Display und der genutzten Testform abhängen.

Erhebung der Messwerte

Wurde die für das Einsatzszenario des Eingabegerätes geeigente Testform gewählt und eine Menge von Entfernungs-Zielbreite-Kombinationen festgelegt, wird eine korrekte Erfassung der Nutzerinteraktion während Durchführung des Tests vorgenommen. Dabei sind einige Maße zu erheben, die für die spätere Bewertung notwendig sind. Eines dieser Maße ist die Bewegungszeit MT (Movement Time), also die Zeit, die ab dem Moment vergeht, ab dem der Nutzer den Zeiger in Zielrichtung in Bewegung setzt bis das Ziel ausgewählt wurde.

[singlepic id=843 w=618 h= float=]

Dabei dürfen die Reaktionszeit des Nutzers bis zum Inbewegungnetzen des Zeiger und die Verweilzeit über dem Ziel, die bei manchen Interaktionsmechanismen zum Auslösen des Auswahlevents nötig ist, nicht in der Bewegnungszeit enthalten sein. Außerdem sollten der Start- und der Endpunkt der Bewegung sowie die Zielmitte erfasst werden und eventuelle „Fehler“ (falsche Auswahlevents) wenn sich der Zeiger nicht innerhalb des Ziels befindet, dokumentiert werden. Im Rahmen der Evaluation wird der entwickelte Mechanismus zur Erfassung und Dokumentation der Messwerte für die gewählte Testform dann von einer möglichst breiten und repräsentativen[ref]Insbesondere zum gewünschten Einsatzszenario passend.[/ref] Grundgesamtheit an Testpersonen genutzt.

Anpassung der Daten

Wurden die beschriebenen Messwerte bei der Durchführung des gewählten Testdurchlaufs erhoben, kann eine Anpassung der Schwierigkeitsindizes erfolgen, um den tatsächlich erzielten Schwierigkeitsindex widerzuspiegeln. Dieser sog. „effektive Schwierigkeitsindex“ wird für jede Kondition (also Zielentfernungs-Zielbreite-Kombinationen) errechnet. Dazu ist zunächst die effektive Zielbreite We notwendig. Diese berechnet sich aus der Standardabweichnung der Entfernung zwischen Zielmitte und Auswahlposition multipliziert mit 4,133:

We = 4,133 * StADistanz zur Zielmitte

Die Berechnung des effektiven Schwierigkeitsindexes erfolgt dann auf Basis folgender Formel:

IDe = log2 ((D/We)+1) = log2 ((D+We)/We)

Ist außerdem der Start- und Endpunkt der Zeigerbewegung bekannt, errechnet man zunächst die effektive Zielentfernung De aus dem Mittelwert der Distanz zwischen Start- und Endpunkt für alle ausgewählten Ziele der jeweiligen Kondition. Anschließend lässt sich der effektive Schwierigkeitsindex IDe folgendermaßen berechnen:

IDe = log2 ((De/We)+1) = log2 ((De+We)/We)

Durch die Anpassung des Schwierigkeitsindex an die tatsächlich vom Nutzer erzielten Ergebnisse wird der lineare Zusammenhang zwischen Schwierigkeitsindex eines Ziels und der zur Auswahl des Ziels benötigten Zeit verstärkt.[ref]Soukoreff R. William, Mackenzie I. Scott (2004): Towards a Standard for Pointing Device Evaluation, Perspectives on 27 Years of Fitts‘ Law Research in HCI. International Journal of Human-Computer Studies. 61(6): S. 766.[/ref]

[singlepic id=840 w=618 h= float=]

Bewertung anhand des Durchsatzes

Der Durchsatz ist ein Maß, das die Leistungfähigkeit des Zeigegerätes im Hinblick auf die ausgewählte Testaufgabe quantifiziert. Es kombiniert sowohl die Präzision als auch die Geschwindigkeit eines Interaktionsmechanismus zu einem vergleichbaren Wert. Das Maß für die Präzision ist dabei der zuvor beschrieben effektive Schwierigkeitsindex IDe jederKondition. Das Maß für die Geschwindigkeit ist die durchschnittliche Auswahlzeit der Ziele einer Kondition tm. Der Durchsatz T (Throughput) eines Zeigegerätes mit der Maßeinheit bit ergibt sich aus folgender Summe über alle x unterschiedlichen Konditionen:

T = ∑(IDe/tm)

Das Maß T erlaubt dann einen Vergleich der Leistungsfähigkeit eines Zeigegerätes bei verschiedenen Aufgaben oder verschiedener Zeigegeräte bei derselben Aufgabe. Zusätzlich kann mittels linearer Regression anhand der Wertepaare (IDe,tm) der einzelnen Konditionen überprüft werden, ob ein linearer Zusammenhang zwischen dem effektiven Schwierigkeitsindex und der dafür benötigten Auswahlzeit besteht und das Zeigegerät sich somit gegebenenfalls konform zu Fitts‘ Law verhält.

Praktische Anwendung

Geht man nach den beschrieben Schritten vor, wird mit dem Durchsatz ein Maß gewonnen, dass einen Vergleich verschiedener Eingabegeräte erlaubt. Daher ist die Evaluation nach ISO 9241-9 eine geeignete Methode, um beispielsweise verschiedene natürliche Interaktionsmechanismen zu vergleichen.
In Kürze folgt hierzu ein weiterer Bericht zu einer durchgeführten Evaluation über die Eignung verschiedener Eingabegeräte für die Steuerung eines großen Wandbildschirms unter Einhaltung der ISO-Vorgaben. Dabei wurden die Eigenschaften von fünf Interaktionsmechanismen aus unterschiedlichen Entferungen zu einem großen Wandbildschirm untersucht. Konkret handelte es sich dabei um die Nintendo Wii Remote, die Logitech MX Air Mouse, einen Friendlyway d-sign 52 Touchscreen, einen Microsoft Kinect Sensor und ein HTC Magic Smartphone.

[nggtags gallery=Interaktionsmechanismus+Evaluation]

Vergleich verschiedener Maus-Emulatoren für Microsoft Kinect

[toc] Mit dem Erscheinen von Microsoft Kinect als Zubehör für die Spielekonsole Xbox 360 im November 2010 wurde erstmal ein kostengünstiger Infrarot-Tiefensensor für eine breite Nutzerschaft verfügbar und schuf somit die Möglichkeit zur Entwicklung von Anwendungen, die durch eine gestenbasierte Nutzerinteraktion ohne zusätzliche Eingabegeräte das Potential zur Revolution der Gestaltung der Human-Computerrec Interaction versprechen. Daher entstand in kurzer Zeit eine Community, die die Anbindung an einen PC zunächst mit selbstentwickelten Treibern, einige Wochen später dann mit Treibern und Software Development Kit (SDK) von dem ebenfalls an der Entwicklung von Kinect beteiligten Unternehmen Primesense ermöglichte und erste Anwendungen mit vielfältigen Anwendungsgebieten veröffentlichte. Während Microsoft selbst diesen Trend zunächst nicht unterstützte, wurde dann im Mai 2011 ein offizielles „Kinect for Windows SDK“ veröffentlicht. Durch die unterschiedliche Dauer der Verfügbarkeit der verschiedenen Gerätetreiber und der darauf aufbauenden SDKs haben sich unterschiedliche Entwicklergemeinden gebildet. Daher gibt es derzeit mehrere verschiedene Anwendungen, die zur Steuerung eines Mauszeigers durch die Kinect-Hardware eingesetzt werden können. Jede dieser Anwendungen unterscheidet sich in der Art der Bedienung oder Funktionsumfang. In diesem Artikel werden einige der verfügbaren Anwendungen näher betrachtet und anhand der Kriterien Einsatzentfernungen, Genauigkeit der Zeigerpositionierung, Zuverlässigkeit der Auswahlgesten, Stabilität der Anwendung und Konfigurierbarkeit mit einander verglichen.

Kinect Maus-Emulatoren

Die Grundlage des Artikels bilden die Anwendungen FAAST, Kinemote und PCD auf der Basis des von Primesense veröffentlichten OpenNI SDK sowie Kinect Cursor Control auf Basis des Kinect for Windows SDK von Microsoft. Neben diesen frei verfügbaren Anwendungen zur Steuerung des Mauszeigers mit dem Kinect Tiefensensor wird nachfolgend auch eine kommerziell vertriebene Anwendung betrachtet. Dabei handelt es sich um um die Anwendung WIN&I, die von der Evoluce AG angeboten wird.

KinEmote

KinEmote[ref]Installationsanleitung und weitere Informationen zu KinEmote sind auf der Projekt-Website erhältlich unter http://www.kinemote.net/.[/ref] ist ein Framework, das verschiedene Anwendungen zur Nutzung der Microsoft Kinect bündelt. Es greift dazu auf das OpenNI Framework[ref]Weitere Informationen zu OpenNI finden sich unter http://openni.org/.[/ref] zurück, welches die Verwendung der verschiedenen von der Kinect gelieferten Sensordaten ermöglicht. OpenNI wurde von einer  Non-Profit-Organisation veröffentlicht, an der unter anderem auch Primesense mitwirkt. Primesense entwickelte zusammen mit Microsoft den Kinect-Sensor.

httpvh://www.youtube.com/watch?v=3y0JT0xR_a4

Neben Anwendungen zur Steuerung des Xbox Media Centers und der Medienserveranwendung Boxee mit Handgesten sowie der Emulation von bis zu acht zuvor konfigurierten Tastatureingaben durch das Bewegen der Hand nach oben, unten, links und rechts bei gestrecktem oder gebeugtem Arm kann KinEmote auch zur Steuerung des Mauszeigers genutzt werden. Dazu kommt eine Kombination von relativer und absoluter Positionierung des Zeigers zum Einsatz. Während viele Anwendungen zur Maussteuerung mittels Kinect ein imaginäres Rechteck im Raum aufspannen und die Position der Hand in diesem Rechteck auf eine absolute Position auf dem genutzten Display abbilden, wird bei der virtuellen KinEmote Maus die relative Bewegung der Hand zwischen Start- und Endpunkt der Handbewegung auf eine Bewegung des Mauszeigers übertragen. So kann der Nutzer mit einer schnellen kurzen Bewegung der Hand einen rasche Verschiebung des Zeigers über eine große Strecke realisieren aber auch durch eine langsame Bewegung der Hand über eine große Strecke eine präzise Verschiebung des Zeigers in einem kleinen Radius auf dem Display erreichen.

[singlepic id=838 w=618 float=]

Andere Anwendungen mit relativer Zeigerpositionierung nutzen häufig einen statischen Referenzpunkt mittig vor dem Körper und bilden z.B. eine Handbewegung nach rechts oben von der Körpermitte auf eine Zeigerbewegung nach rechts oben ab. Da KinEmote den Endpunkt der letzten Bewegung als neuen Referenzpunkt für die nächste Bewegung nutzt, lässt sich die Anwendung ähnlich bedienen, wie eine Anwendung mit absoluter Zeigerpositionierung, wodurch der Nutzer ein direkteres Feedback für die durchgeführte Handbewegung erhält, als bei einer relativen Positionierung mit statischem Referenzpunkt. Die Kombination von absoluter und relativer Positionierung erlaubt also eine schnelle aber dennoch präzise Verschiebung des Zeigers.

Der Benutzer beginnt die Interaktion durch eine Winkbewegung aus dem Handgelenk. Es können sowohl die linke als auch die rechte Hand zur Interaktion genutzt werden. Da die Anwendung in einem Abstand von einem bis vier Metern vor dem Sensor genutzt werden kann und sehr stabil läuft, ist KinEmote gut geeignet, um die Funktionen einer herkömlichen Computermaus zu emulieren. Ein Auswahl-Event wird durch das Vor- und Zurückführen der Hand ausgelöst, mit der auch der Zeiger positioniert wird. Da keine Parameter zur Konfiguration des Select-Events verfügbar sind, kommt es häufig vor, dass beim Versuch einen Klick auszuführen eine versehentliche Neupositionierung des Zeigers erfolgt. Außerdem wird gelegentlich kein Klick ausgelöst, obwohl der Nutzer dies beabsichtigt.

FAAST

Das Flexible Action and Articulated Skeleton Toolkit (FAAST)[ref]Installationsanleitung sowie weitere Informationen zur Anwendung von FAAST sind erhältlich unter http://projects.ict.usc.edu/mxr/faast/.[/ref] ist eine am Institute for Creative Technologies der University of Southern California entwickelte, auf dem OpenNI SDK basierende Anwendung, die es erlaubt verschiedene Gesten zu erfassen und damit mittels einer einfachen Syntax definierbare Maus- oder Tastatur-Events zu emulieren. Auf diese Weise können dann andere Anwendungen mit den zuvor konfigurierten Gesten bedient werden. Die Anwendung kann dazu zwischen der Fokussierung bei der Gestenerkennung auf den gesamten Körper, den Oberkörper, den Unterkörper oder die Hand unterscheiden. Je größer der fokussierte Bereich ist, desto mehr Gesten können erkannt werde. Allerdings sinkt damit auch die Präzision der Erkennung der ausgeführten Gesten.

httpvh://www.youtube.com/watch?v=Up-9xdXGIQY

Eine präzise Steuerung des Mauszeigers ist leider aktuell nur bei der Fokussierung auf die Hand möglich. Durch die Fokussierung auf die Hand können jedoch keine Gesten mit anderen Körperteilen erfolgen, weshalb es mit FAAST nicht möglich ist, gleichzeitig eine genau Positionierung und eine zuverlässige Auswahlgeste zu erreichen. Bei einem Fokus auf den Oberkörper kann dann beispielweise konfiguriert werden, dass der linke Arm leicht nach vorne geführt werden muss, um einen Klick auszulösen, während der rechte Arm zum Positionieren des Zeigers genutzt wird. Die Syntax zum konfigurieren der Geste-Event Belegungen hat folgende Form:

<Gestenbezeichnung> <Positionsveränderungzum Auslösen der Geste in Inch/Zoll> <Auszulösendes Event> <Konkretisierung des Events>

Dabei müssen die einzelnen für die Platzhalter in der Syntax eingetragenen Spezifizierungen genau ein Leerzeichen Abstand haben und Leerzeichen in den Spezifizierungen durch einen Unterstrich ersetzt werden. Ein Beispiel für eine Gesten-Event Konfiguration könnte folgendermaßen aussehen:

left_arm_forwards 5 mouse_click left_mouse_button

Damit wird bei einer Bewegung des linken Arms um fünf Zoll (also 12,7cm) nach vorn ein einzelner Klick mit der linken Maustaste ausgelöst. Eine detaillierte Auflistung aller verfügbaren Gesten und auslösbaren Events mit der dafür zu verwendenden Spezifizierung ist auf der Website zur Anwendung erhältlich.

[singlepic id=835 w=618 h= float=]

Neben den programmierbaren Geste-Event Kombinationen gibt es außerdem eine Reihe von Parametern, die zur Individualisierung des Interaktionsbereichs und zur Feinjustierung der Bewegungsglättung zur präziseren Zeigerpositionierung genutzt werden können. So können unter anderem der fokusierte Körperteil, die Stärke der Bewegungsglättung und die Art der Zeigerpositionierung gewählt werden. So erlaubt FAAST als einzige betrachtete Anwendung die individuelle Konfiguration des Bereichs, in dem die Bewegungen der Hand des Nutzers auf Bewegungen des Zeigers auf dem Bildschirm zur absoluten Positionierung übertragen werden. Insgesamt bietet FAAST die umfassendsten Konfigurations- und Individualisierungsoptionen.

[singlepic id=836 w=618 h= float=]

WIN & I

WIN&I[ref]Weitere Informationen zu WIN&I und anderen Produkten der Evoluce AG sind erhältlich unter http://www.evoluce.com/de/software/win-and-i_software-store.php.[/ref] ist eine von der Evoluce AG kommerziell vertrieben Anwendung zur Emulation der Maussteuerung mit dem Microsoft Kinect Sensor auf Basis des OpenNI SDK. Die Anwendung nutzt dieselbe Form der relativen Positionierung wie die Virtual Mouse des KinEmote Anwendungspaketes und erlaubt eine ebenso präzise Zeigerpositionierung. Jedoch wird bei WIN&I bei einer schnellen Handbewegung eine weitere Verschiebung des Zeigers vorgenommen als bei KinEmote, sodass die Steuerung des Zeigers insgesamt einen agileren Eindruck vermittelt und so ein direkteres Feedback liefert.

httpvh://www.youtube.com/watch?v=cGnSWXb8Hus

Außerdem erlaubt die Anwendung die Nutzung aller Mausfunktionen über die Implementierung eines Gestenmodus. Hält der Benutzer die Hand für eine gewisse Zeitspanne, die über einen Parameter grob anhand der Nutzererfahrung konfiguriert werden kann, still, so erscheint statt des Mauszeigers ein Und-Symbol. Ist der Gestenmodus auf diese Weise aktiviert worden, kann der Nutzer nun durch die Bewegung der Hand in eine Richtung einen Mouse-Event auslösen, ohne dabei den Zeiger zu verschieben. Nach der Aktivierung des Gestenmodus löst beispielsweise eine Bewegung
der Hand nach links einen Linksklick aus. Eine Bewegung der Hand nach rechts bewirkt
einen Rechtsklick. Eine Auswahl der Ziele durch Ausstrecken und Zurückziehen des Arms
ist dennoch möglich. Somit ist WIN&I die einzige getestete Anwendung, die ein präzises Positionieren des Zeigers und ein zuverlässiges Auswählen der Ziele zulässt. Zudem läuft die Anwendung sehr stabil und kann in einer Entfernung von einem bis vier genutzt werden.

[singlepic id=860 w=618 h= float=]

PCD

Palm Click and Drag (PCD)[ref]Detaillierte Informationen zu PCD finden sich unter http://www.kinemote.net/community/viewtopic.php?f=12&t=24.[/ref] ist eine auf OpenNI aufbauende Anwendung der Entwickler des KinEmote-Anwendungspakets. Anders als die virtuelle Maus des KinEmote-Paketes kann mit PCD eine präzise Platzierung des Zeigers über eine absolute Positionierung erfolgen. Startet der Benutzer die Interaktion durch eine Winkgeste, so wird ein im Vergleich zu anderen Anwendungen mit absoluter Zeigerpositionierung kleines imaginäres Rechteck um die Position der Hand gebildet. Da bei der absoluten Positionierung die Position der Hand im imaginären Rechteck auf die Position des Zeigers auf dem Display abgebildet wird, kann der Nutzer schnell die äußeren Positionen des Displays erreichen und dabei stets eine angenehme Körperhaltung beibehalten. Die gute aber nur teilweise konfigurierbare Bewegungsglättung erlaubt zudem eine präzise Positionierung im zentralen Displaybereich, die stets ohne ein Springen des Zeigers erfolgen kann.

httpvh://www.youtube.com/watch?v=9CT460xEr18

Den Namen „Palm Click and Drag“ trägt die Anwendung wegen ihrer verschiedenen Interaktionsmodi. Zur Unterscheidung der Modi bildet das Framework eine Umrandung der Hand. Im Modus „Palm“ kann der Zeiger bei geöffneter Hand und gespreizten Fingern positioniert werden. Dabei ist sowohl die horizontale, als auch die vertikale Ausdehnung der Umrandung der Hand maximal. Führt der Nutzer die Finger zusammen, gelangt er in den Modus „Click“, der eine Betätigung der linken Maustaste emuliert. Dazu erfasst die Anwendung die verringert horizontale Ausdehnung der Handumrandung bei weiterhin maximaler vertikaler Ausdehnung. Schließt der Nutzer nun zusätzlich die Hand und ballt sie somit zu einer Faust, gelangt er in den Modus „Drag“ und emuliert so ein Drag-Event (Halten der linken Maustaste), das beim Öffnen der Hand mit einem Drop-Event (Loslassen der linken Maustaste) beendet wird. Die horizontale und vertikale Ausdehnung der Handumrandung haben sich gegenüber dem „Palm“ Modus verringert. Auf diese Weise können alle Mausevents, die mit der linken Maustaste einer Rechtshändermaus ausgelöst werden, stattfinden. Ein Doppelklick erfolgt z.B. durch zweifaches schnelles Zusammenführen und Spreizen der Finger.

Die Anwendung bietet einige Konfigurationsmöglichkeiten, welche die Präzision der Interaktion mit der Anwendung sowie die emulierbaren Events beeinflussen. Mit dem Schieberegler „History amount for averaging (0-10)“ kann beispielsweise die Anzahl der für die Errechung der Handumrandung genutzten Positionsdaten der Hand zwischen null und zehn Frames variiert werden. Mit einem hohen Wert lässt sich zwar die Präzision der Zeigerpositionierung und dieZuverlässigkeit der Klickerkennung steigern, jedoch steigt dabei auch die benötigte Rechenleistung an. Mit dem Schieberegler „Averaging“ kann der Detailgrad der für die Errechnung der Handumrandung genutzten Positionsdaten variiert werden, um die benötigte Rechenleistung zu reduzieren, da Anfangs der Maximalwert eingestellt ist. Mit dem Regler „Open/Close Delta“ kann die nötige Verringerung der maximalen Ausdehnung der Handumrandung bis zum Auslösen der Click- und Drag-Events beeinflusst werden. Jedoch führt auch eine starke Verringerung dieses Wertes nicht zu einer zuverlässigeren Auslösung der Auswahlevents bei einer Entfernung von mehr als 2,50m. Zusätzlich kann die Positionierung des Zeigers und das Auslösen der Klick-Events aktiviert bzw. deaktiviert werden und eine emulierte Tastatureingabe beim Start der Interaktion durch die Winkgeste oder beim Beenden der Interaktion durch Entfernen der Hand aus dem imaginären Rechteck zur Positionierung eingestellt werden.

[singlepic id=839 w=618 h= float=]

Kinect Cursor Control

Kinect Cursor Control[ref]Installationsanleitung sowie weitere Informationen zu Kinect Cursor Control sind erhältlich unter http://kinectmouse.codeplex.com/[/ref] ist eine Anwendung zur Steuerung des Zeigers mittels Kinect und basiert auf dem „Kinect for Windows SDK“[ref]Hierbei handelt es sich um das „offizielle“ Microsoft SDK. Weitere Informationen sind unter http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/default.aspx erhältlich.[/ref] von Microsoft. Die Anwendung ermöglicht eine absolute Positionierung des Zeigers durch die Bewegung der rechten Hand im von der Anwendung angezeigten Bildausschnitt und eine entsprechende Abbildung der Position der Hand im Bildausschnitt auf die Position des Zeigers auf dem Display.

httpvh://www.youtube.com/watch?v=YelZEhvGBAk

Da jedoch das imaginäre Rechteck zur Positionierung zu groß gewählt ist, können nicht alle Stellen des Displays mit dem Cursor erreicht werden, sodass bei der Nutzung mit der rechten Hand ein Bereich auf der linken Seite des Displays nicht erreicht wird und bei der Nutzung mit der linken Hand ein Teil am rechten Rand des Displays. Außerdem muss der Arm häufig weit angehoben und weit über die Körpermitte bewegt werden, sodass die Schulter bei der Interaktion schnell ermüdet. Zusätzlich kann es bei der Positionierung der Hand direkt vor dem Körper zu einem starken Springen des Zeigers kommen, da dort die Position der Hand nicht klar erkannt werden kann. Andererseits beinhaltet die Anwendung einen zuverlässigen Mechanismus zum Auslösen eines Select-Events. Um einen Klick auszuführen, muss der Arm, der nicht zur Positionierung genutzt wird, gestreckt angehoben und kurz dort gehalten werden. So kann ein Klick ausgelöst werden, ohne versehentlich den Zeiger neu zu positionieren. Die zu starke Bewegungsglättung der Anwendung führt jedoch dazu, dass die Steuerung des Zeigers träge und indirekt wirkt, sodass eine Nutzung der Anwendung zur Steuerung eines Rechners nicht dauerhaft und ohne Einschränkungen möglich ist.

[singlepic id=837 w=618 h= float=]

Vergleichskriterien

Nachdem die einzelnen Anwendungen vorgestellt und beschrieben wurden, folgt an dieser Stelle eine Übersicht über  im Hinblick auf die für den Einsatz zur PC-Interaktion relevanten Kriterien. Dafür werden zunächst die verwendeten Vergleichskriterien Art der Zeigerpositionierung, Präzision der Zeigerpositionierung, Zuverlässigkeit der Auswahlgeste, maximale und minimale Einsatzentfernung sowie Stabilität der Anwendung erklärt, bevor anschließend eine tabellarische Einordnung der einzelnen Anwendungen anhand der genannten Kriterien erfolgt.

Art der Zeigerpositionierung

Zur Positionierung des Mauszeigers werden bei den betrachteten Anwendungen drei verschiedene Methoden genutzt. Die erste Methode, die absolute Positionierung, spannt ein imaginäres Rechteck im Raum auf und bildet die Position der Hand des Nutzers innerhalb des Rechtecks auf die entsprechende Position des Mauszeigers auf dem genutzten Display ab. Damit diese Methode auch bei unterschiedlichen Entfernungen des Nutzers zum Display funktioniert, muss das imaginäre Rechteck indirekt proportional zur Entfernung des Nutzers skaliert werden. Die zweite und dritte Methode zur Positionierung des Zeigers basieren auf einer relativen Handbewegung, also einer Bewegung der Hand relativ zu einem Bezugspunkt im Raum. Während eine Form der relativen Positionierung einen statischen Bezugspunkt wählt und somit beispielsweise ein Bezugspunkt in der Körpermitte und eine Bewegung der Hand auf die linke Körperseite immer eine Zeigerverschiebung nach links bewirkt, wird bei der anderen Form der relativen Positionierung der Bezugspunkt für die Bewegung ständig an der Stelle, an der die Handbewegung endet, neu gesetzt. Durch die gerade beschriebene adaptive relative Positionierung kann ein ähnliches Nutzungsgefühl wie bei der absoluten Positionierung erreicht werden und dennoch eine genauere Platzierung erfolgen.

Präzision der Zeigerpositionierung

Die Präzision, mit welcher der Zeiger über einem Objekt positioniert werden kann, ist abhängig von der Bewegungsglättung, die die zu Grunde liegende Anwendung nutzt, um die Sensordaten in eine Zeigerbewegung umzusetzen. Je nachdem, wie die dafür relevanten, häufig nicht beeinflussbaren Parameter in der jeweiligen Anwendung gesetzt wurden, kann der Zeiger ein sehr unruhiges Verhalten mit einem starken „Jitter“ (Flattern) zeigen. Außerdem kann es vorkommen, dass die Zeigerposition zu selten aktualisiert wird, sodass der Zeiger wie auf einem groben Raster entweder stillsteht oder einen Sprung von einem Rasterpunkt zum nächsten vollzieht ohne eine gleichmäßige, gut kontrollierbare Bewegung zu ermöglichen.

Zuverlässigkeit der Auswahl

Die Zuverlässigkeit mit der die Auswahl eines Ziels nach der Zeigerpositionierung ausgelöst werden kann, hängt wesentlich von der Geste ab, die von der Anwendung zum Auslösen des Mouseclick-Events genutzt wird. Während einige Anwendungen die Manipulation zur Positionierung völlig von der Geste zum Auswählen trennen, gehen bei anderen Anwendungen beide Interaktionen fließend ineinander über. Liegen die Gesten zum Positionieren und Auswählen nah beieinander[ref]Beispielsweise bei einer Zeigerverschiebung durch Bewegung der rechten Hand in einer Ebene und Auswahl durch Strecken und Zurückziehen des rechten Arms.[/ref], so wird die Auswahlgeste insbesondere bei einer kurzen Entfernung des Nutzers zum Kinect Sensor häufig als Neupositionierung erkannt, weshalb der Zeiger bei kleinen Zielen versehentlich aus dem Zielbereich bewegt wird. Daher kann eine zuverlässigere Auswahl erfolgen, wenn die Positionierung z.B. mit der rechten Hand und die Auswahl durch Anheben der linken Hand oder eine anderen Geste, welche die Position der rechten Hand nicht beeinflusst, erfolgen. Müssen Positionierung und Auswahl zwingend mit ein und derselben Hand erfolgen, hat sich das Halten der Hand an der zur Auswahl gewünschten Position für eine gewisse Zeitspanne zum „Einrasten“ des Zeigers an dieser Stelle statt einer zusätzlichen Auswahlgeste als zuverlässig erwiesen, da sich hierbei die Auswahlposition nicht versehentlich verändert. Ein weiterer Einflussfaktor für die Zuverlässigkeit der Auswahl ist die Sensibilität der Auswahlgeste. So kann je nach Anwendung bereits bei einer Andeutung der Auswahlgeste versehentlich ein Klick ausgelöst werden, wohingegen eine zu wenig sensible Auswahlgeste dazu führt, dass zu wenige oder gar keine Klicks ausgelöst werden. Beides führt beim Nutzer dazu, dass er die ausgelösten Interaktionen nicht nachvollziehen kann, da sie von ihm nicht beabsichtigt sind.

Maximale und minimale Einsatzentfernung

Der Abstand, mit dem ein Nutzer eine Anwendung zur Emulation der Maussteuerung verwenden kann, wird nicht durch die Sichtweite des Kinect Sensors, sondern durch die minimale und maximale Distanz der zuverlässigen Erkennung der Auswahlgeste bestimmt, die wiederum von dem Sichtfeld und der Auflösung des Infrarotkamerabildes abhängt. Zwar kann die Infrarotkamera des Kinect Sensors Tiefenwerte in einer Entfernungsspanne von einem halben bis sieben Metern liefern, jedoch muss der fokussierte Körperteil vollständig im Sichtfeld liegen, weshalb die Minimalentfernung bei Fokussierung auf die Hand zwischen einem halben und einem Meter, bei Fokussierung des gesamten Körpers jedoch bei mindestens eineinhalb Metern liegt. Da der Nutzer bei zunehmender Entfernung vom Sensor einen kleiner werdenden Teil des Sensorsichtfeldes einnimmt, kann es wegen der geringen Auflösung der Infrarotkamera von 640 x 480 Pixel dazu kommen, dass kleine Bewegungen nicht mehr erkannt und somit manche Auswahlgesten nicht wahrgenommen werden. Daher schwankt die maximale Nutzungsentfernung mit der genutzten Auswahlgeste z.T. sehr stark.[ref]Das Spreizen und Zusammenführen der Finger wird beispielsweise nur bis zu einer Entfernung von zweieinhalb Metern erkannt, während das Heben des Arms bei der Bewegungserkennung an einem stilisierten Skelett des Nutzers auch noch bis zu fünf Meter funktioniert.[/ref]

Stabilität der Anwendung

Eine Anwendung ist für die „stabil“, wenn sie während eines Evaluationsdurchlaufs mit einer Dauer zwischen 30 und 90 Minuten nicht unplanmäßig beendet wird. Einige Anwendungen stürzten während der Tests nach einer kurzen Zeitspanne ab, schlossen sich gelegentlich unvorhergesehen, wenn der Fokus des zur Steuerung genutzten Körperteils verloren wurde oder konnten nicht mehr genutzt werden, wenn eine Konfiguration der  bereitgestellten Optionen / Parameter vorgenommen wurde.

Zusammenfassung

Abschließend werden die oben vorgestellten Merkmale der betrachteten Maus-Emulatoren anhand eigener Beobachtungen im Hinblick auf die zuvor beschriebenen Eigenschaften in tabellarischer Form zusammengefasst. Die Beurteilung der Anwendungen erfolgte dazu durch eine einfachen Auswahlaufgabe, bei der der Nutzer den Cursor über einem Ziel platzieren und dieses anschließend auswählen musste. Diese Aufgabe wurde mit jeder Anwendung aus verschiedenen Entfernungen zum Kinect Sensor wiederholt, wobei die verschiedenen Frameworks wie folgt abschnitten:

Bewertungskriterium KinEmote FAAST WIN&I PCD Kinect Cursor Control
Art der Zeigerpositionierung adaptiv relativ absolut oder statisch relativ adaptiv relativ absolut absolut
Präzision der Zeigerpositionierung [gut] [mittel] [ref]Gut bei Fokus auf Hand, schlecht bei Fokus auf Oberkörper.[/ref] [gut] [mittel] [schlecht]
Zuverlässigkeit der Auswahl [schlecht] [ref]Unbeabsichtigtes Verschieben des Zeigers beim Strecken des Armes.[/ref] [gut] [ref]Sehr gut bei Fokus auf Oberkörper, nur durchschnittlich bei Fokus auf die Hand.[/ref] [mittel] [ref]Präzise Auswahl durch Gesten funktioniert nicht immer einwandfrei.[/ref] [mittel] [ref]Zuverlässig bei Klick, nicht zuverlässig bei Drag.[/ref] [mittel] [ref]Nicht steuernder Arm muss weit gehoben werden.[/ref]
Min. / max. Einsatzentfernung 1m – 4m 1m – 4m 0,75m – 4m 1m – 2,5m 1m – 3m
Stabilität der Anwendung [gut] [gut] [gut] [schlecht] [gut]

Moderne Android Tablet-Devices im Vergleich

[toc]

Tablets haben inzwischen Laptops als ubiquitäre Benutzerschnittstellen den Rang abgelaufen und werden zunehmend zum alltäglichen Begleiter. Vor diesem Hintergrund fasst der vorliegende Artikel aktuelle sowie in naher Zukunft auf dem Markt erhältliche Tablet-Produkte zusammen und vergleicht sie miteinander. Der Schwerpunkt des Vergleichs liegt in erster Linie auf Tablets mit dem Betriebssystem Android, wobei zwei Geräte mit anderen Betriebssystemen als Referenz dienen. Der Artikel ist im Kontext des Forschungsprojekts SI-Screen entstanden, das aktuell unter Beteiligung der Forschungsgruppe Kooperationssysteme zusammen mit anderen Firmen durchgeführt wird und versucht, älteren Menschen durch eine einfach zu bedienende Benutzerschnittstelle einen leichteren Zugang zum Social Web zu ermöglichen. In der Zusammenstellung werden deshalb auch wesentliche Anforderungen an die Geräte für die Nutzung durch Senioren berücksichtigt. Darüber hinaus werden im Hinblick auf die im Projektkontext betrachtete Nutzergruppe der „Best Ager“ nicht nur Tablets, die in naher Zukunft bereits erscheinen behandelt, sondern auch Industrial-Design-Konzepte, die ein Wegweiser dafür sein können, wie derartige Geräte in wenigen Jahren aussehen könnten.

Laut jüngsten Untersuchungen ist das Betriebssystem Android auf dem Vormarsch und hat im Smartphone-Bereich bereits einen Marktanteil von 50 Prozent erreicht.[ref]http://www.welt.de/print/welt_kompakt/webwelt/article13719379/Android-auf-dem-Vormarsch.html.[/ref] Auch im Tablet-Bereich wird Android immer mehr zum Apple-Konkurrenten. Apple iOS hat im 2. Quartal 2011 etwas über 30 Prozent Marktanteil im Vergleich zum Vorjahr verloren, wohingegen Android fast 30 Prozent hinzugewinnen konnte.[ref]http://www.androidmag.de/news/strategy-analytics-android-tablets-am-vormarsch/.[/ref]

[singlepic id=794 w=290 float=left] [singlepic id=795 w=290 float=left]

[singlepic id=796 w=618 float=]

Zukunftsvisionen

In diesem einführenden Abschnitt werden Konzepte von Tablet-Devices vorgestellt, die zum Teil nur als Grafik und Idee, aber auch bereits als Prototyp vorhanden sind. Im Vordergrund der Betrachtungen steht der potenzielle Mehrwert für ältere Menschen.[ref]Die vorgestellten Design-Studien und Prototypen basieren primär auf den Blogposts „The Future of Tablets – What your tablet will look like in 5 years“ und dem Engadget-Beitrag „Sharp bringt Tablet für Senioren„.[/ref]

Papier-Tablet

Eine mögliche Weiterentwicklungsrichtung für Tablet-Devices ist das Material. Diesbezüglich existieren Visionen, dass ein Tablet in Zukunft einem Stück Papier ähnlich wird, auf dem man beispielsweise seine Zeitung lesen kann. Die digitale Version ist dabei immer aktueller als gedruckte Zeitungen und gleichzeitig flexibler als bisherige Tablets, da sich dieses Device falten lässt und somit auch bequem in einer Jackentasche unterzubringen ist. Um die Vision zu verwirklichen, läuft aktuell an der Stanford Universität ein Projekt um biegsame Batterien aus Papier herzustellen[ref]http://news.stanford.edu/news/2009/december7/nanotubes-ink-paper-120709.html.[/ref]. Neben der grundlegend anderen Haptik liegt der Hauptvorteil des Konzepts darin, dass das leicht in jeder Jackentasche mitgenommen werden kann.

[singlepic id=626 w=618 float=center]

Smartphone-Tablet-Hybrid

Eine andere Designstudie beschäftigt sich mit der Lösung für das Problem, mit einem Tablet auch telefonieren zu können. Nutzer haben heute häufig nur eine SIM-Karte. Sofern diese für den mobilen Internetzugang in einem Tablet verwendet wird, ist die telefonische Erreichbarkeit eingeschränkt. Im Lösungsansatz von HTC deshalb verfügt das Tablet über einen Telefonhörer in stabform zum Telefonieren. Somit kann man sein Tablet auch als Telefon benutzen und hat trotzdem nur einen kleinen Hörer am Ohr. Zudem ist der ein Hörer am Ohr eine seit langem bekannte Art zu telefonieren und erfordert somit keine Verhaltensumstellung.

[singlepic id=620 w=618 float=center]

Senioren-Tablet

In Japan bringt Sharp ein Senioren-Tablet[ref]http://de.engadget.com/2011/02/18/japan-sharp-bringt-tablet-fur-senioren/.[/ref] auf den Markt, welches das Einkaufen erleichtern soll, indem die Benutzer durch ein virtuelles Einkaufszentrum geleitet werden. Das Gerät eignet sich vor allem für Personen, die aus gesundheitlichen Gründen nicht mehr ausreichend mobil sind, um die Einkäufe selbst im Supermarkt durchzuführen. Durch die Verwendung von großer Schrift und speziell angepassten Bedienelementen, richtet sich das Tablet nach den besondere Bedürfnissen der Zielgruppe „Best Ager“. Die im Comic-Design gehaltene Software verwendet eine eigene Währung und nutzt eine virtuelle Bezugsperson (Avatar) als zusätzliche personalisierte Hilfestellung für die Benutzer.

[singlepic id=665 w=618 float=center]

Tablet-Auswahl im Überblick

Dieser Abschnitt gibt einen Überblick über die innerhalb der Marktstudie verwendeten Geräte sowie die zugrundegelegten Bewertungskriterien, wie beispielsweise Gewicht, Auflösung, Displaygröße oder Abmessungen. Die Geräteauswahl basiert u.a. auf dem Heise Preisvergleich für Tablets. Eine besondere Herausforderung war dabei die Konsolidierung der z.T. fehlenden oder voneinander abweichenden Angaben zu Ausstattung und technischen Details.

[nggtags Gallery=Überblick]

Eingrenzung des Studienrahmens

Der Begriff „Tablet“ wurde in der Vergangenheit für sog. „Tablet-PCs“, eine primär von Microsoft geprägte Laptop-Spezialform aus den späten neunziger Jahren verwendet. Diese ursprüngliche Kategorie des Tablet-PCs, bei der es sich quasi um einen Laptop mit drehbarem Touchscreen handelt wird heute meist als Convertible bezeichnet. Kennzeichnend für die Geräte ist u.a. der häufig mitgelieferte Stift sowie eine typischerweise vorhandene Handschrifterkennung.

Spätestens seit der Einführung des Apple iPad wird der Begriff „Tablet“ inzwischen synonym für ultra-mobile Touchscreens verwendet, die meist gänzlich ohne Tastatur auskommen und deutlich größer sind als die von der grundsätzlichen Bedienung her sehr ähnlichen Smartphones.  Im Unterschied zu Convertibles, deren Software meist keinerlei Unterschiede zu einem klassischen Desktop-PC aufweisen, arbeiten Tablets fast ausschließlich mit speziell angepassten Betriebssystemen, die auf dem App-Konzept basieren. Hierdurch erlauben sie die modulare und sehr einfache Erweiterung um neue Funktionen bzw. Anwendungen.

Am Beispiel der verschiedenen Transformationsstufen vom Laptop zu einem multimedialem Notizblock des HP EliteBook 2760p zeigt die nachfolgende Galerie den Unterschied zwischen dem Convertible und einem Viewsonic Viewpad 7:

[nggtags Gallery=Abgrenzung]

Bewertungskriterien

Um die Funktionalitäten und Besonderheiten der Tablets ausführlich gegeneinander abgrenzen zu können, wurden unterschiedliche Bewertungskriterien gesammelt und im tabellarischen Überblick am Ende dieses Artikels zusammengestellt. Alle hier aufgeführten Tablets sind WLAN-fähig und unterstützen Multitouch-Gesten. Die Bewertungskriterien sind folgende:

  • Preisspanne: Spanne zwischen dem niedrigsten und höchsten Preis des Heise Preisvergleichs für Tablets.[ref]Bei Tablets mit mehreren Ausstattungsvarianten wurde jeweils die billigste Variante für die Untergrenze und die Top-Variante für die Obergrenze der Preispanne verwendet. Alle Preise basieren auf Angaben vom 28.11.2011.[/ref]
  • Displaygröße: Display-Diagonale in Zoll
  • Abmessungen: Breite und Höhe des Gerätes in Millimetern
  • Dicke: Dicke des Tablets in Millimetern
  • Gewicht: Gewicht des Tablets in Gramm
  • Gewicht/Größe: Verhältnis von Gewicht in Gramm zu Displaygröße in Zoll (je kleiner, desto besser)
  • Auflösung: Native Auflösung des Tablets
  • Prozessor: CPU des Tablets mit Rechengeschwindigkeit in GHz
  • Arbeitsspeicher: Arbeitsspeicher in GB
  • Massenspeicher: Interner Flash-Speicher des Tablets
  • Betriebssystem: Verwendetes Betriebssystem
  • 3G- / WWAN-Modul: Möglichkeit, mit dem Tablet auch unterwegs ohne WLAN im Internet zu surfen.
  • Speicherkarten: Welche und wie viele Speicherkartenslots sind vorhanden?
  • Kamera: Sind Kameras vorhanden und welche Auflösung haben sie?
  • haptische Tastatur: Wird eine haptische Tastatur speziell für das Gerät mitgeliefert, oder ist sie als Zubehör verfügbar?

Neben diesen quantitativen Bewertungskriterien wurden folgende subjektiven bzw. kontextspezifischen Vergleichskriterien für die Zusammenstellung herangezogen:

  • Verarbeitung/Qualität: Wirkt das Tablet hochwertig verarbeitet?
  • Haptik: Wie fühlt es sich an?
  • Besonderheiten: Beispielsweise Stylus, Tastatur, aufklappbar
  • Knöpfe: Hat das Tablet Knöpfe und wenn ja wie viele? Sind die Knöpfe sinnvoll belegt und gut zu erreichen?
  • Ergonomie: Liegt das Tablet gut in der Hand?
  • Mobilität: Kann man das Tablet auch bequem mit nur einer Hand halten?
  • Displayqualität: Spiegelt das Display?

Tablet-Devices im Detail

In diesem Abschnitt werden die im Überblick oben bereits aufgeführten Tablets jeweils kurz mit ihren Besonderheiten im Detail vorgestellt.

Sony Tablet S

[singlepic id=622 w=618 float=center]

Das Sony Tablet S hat eine Bildschirmdiagonale von 9,4 Zoll und im Gegensatz zu den meisten Tablets eine schräge Bauform. Dies ermöglicht eine ergonomische Körperhaltung, wenn das Gerät auf dem Tisch liegt, da man sich nicht nach vorne beugen muss um den Bildschirm ohne Spiegelungen zu erkennen. Die Top-Variante bietet  bis zu 32 GB Massenspeicher und 3G.

Das Tablet wird mit Android 3.1 ausgeliefert und kann auf Android 3.2 geupdatet werden. Der auf den ersten Blick gute technische Eindruck wird durch die Verwendung des etwas billig wirkenden Kunststoffs getrübt.

Sony Tablet P

[singlepic id=617 w=618 float=center]

Im Gegensatz zu seinem zuvor vorgestellten großen Bruder hat das Tablet P zwei 5,5 Zoll Bildschirme, die es ermöglichen das Gerät zuzuklappen, was wiederum einen enorm hohen Mobilitätsfaktor mit sich bringt. Die CPU ist ein Tegra 2 mit 1,0 GHz, der auch in vielen anderen Android-Tablets wie zum Beispiel dem Asus EeePad Transformer TF101 oder dem Sony Tablet S zu finden ist.

Im Vergleich zu anderen Tablets ist das Gerät mit einem Preis von rund 599 Euro relativ teuer und mit 14 Millimetern vergleichsweise dick. Ein Pluspunkt ist die Tatsache, dass es bereits mit Android 3.2 ausgeliefert wird, der momentan aktuellsten Honeycomb-Version.

Asus EeePad Transformer TF101

[singlepic id=621 w=618 float=center]

Das Asus EeePad Transformer hat eine Bildschirmdiagonale von 10,1 Zoll und wiegt nicht zu unterschätzende 680 Gramm. Das Gerät verfügt über eine 1,2 Megapixel Kamera an der Vorderseite zur Videotelefonie und über eine 5,0 Megapixel Kamera für Schnappschüsse auf der Rückseite.

Das Tablet ist eines der Ersten, welches durch ein optional erhältliches Keydock zu einem Android-Laptop transformierbar ist. Das Keydoch steigert außerdem die Akkulaufleistung und bietet zusätzliche Anschlüsse.

HTC Flyer

[singlepic id=764 w=618 float=center]

Das Flyer von HTC ist ein 7 Zoll großes Tablet, das durch die geringe Displaydiagonale hohe Mobilität verspricht. Entgegen der aufstrebenden Multitouch-Kultur ist das Tablet mit einem zusätzlichem Stylus ausgestattet, der schwierige Eingaben auf dem kleinen Displays vereinfacht.

Im Gegensatz zum Sony Tablet S wirk die Verarbeitung des HTC Flyer auf Grund des Metallgehäuses qualitativ hochwertig. Trotz der edleren Verarbeitung liegt das Gerät mit 420 Gramm bzgl. des Gewichts im Durchschnitt.

Amazon Kindle Fire

[singlepic id=623 w=618 float=center]

Das Kindle Fire ist der günstigste Kandidat im Vergleich und ist primär als eBook-Reader konzipiert. Daher hat es keine Kamera und der nicht vorhandene Speicherkartenslot ist von Amazon so beabsichtigt, da Inhalte ausschließlich über die eigenen Dienste bezogen werden sollen.

Das Tablet hat kein 3G-Modul und ist somit auf WLAN für den Internetzugang angewiesen. Das geringe Gewicht von 413 Gramm ordnet sich hervorragend in den 7 Zoll Tablet-Markt ein.

Samsung Galaxy Tab 8.9

[singlepic id=767 w=618 float=center]

Das Samsung Galaxy Tab 8.9 hat für seine Bildschirmdiagonale von 8,9 Zoll mit 470 Gramm ein relativ geringes Gewicht. Es bietet eine 2,0 Megapixel Kamera an der Front für gute Qualität bei Videotelefonie und eine 3,0 Megapixel Kamera auf der Rückseite für Schnappschüsse.

Das Tablet wird mit Android 3.1 ausgeliefert und hat ein 3G-Modul. Bemerkenswert ist die geringe Dicke des Gerätes von nur 8,6 Millimetern. Unglücklicherweise bietet es keinen Kartenslot zur Erweiterung des internen 16 GB Massenspeichers.

Samsung Series 7 Slate

[singlepic id=625 w=618 float=center]

Das Samsung Series 7 Slate ist neben dem als nächstes vorgestellten Apple iPad2 das einzige nicht auf Android basierende Tablet in diesem Vergleich. Es wird mit Windows 7 ausgeliefert und hat einen Intel Core i5 Prozessor mit zwei Kernen bei einer Geschwindigkeit von 1,6GHz.

Das Gerät verfügt über 128 GB interne Speicherkapazität und einen microSD-Kartenslot. Es fehlt jedoch ein 3G-Modul. Außerdem weist das Tablet weist mit 890 Gramm bei 11,6 Zoll Bildschirmdiagonale ein sehr hohes Gewicht auf. Bemerkenswert ist der hohe Preis von über 1300 Euro, was eher an Preise für vollwertige Desktop-PCs erinnert. Als kleiner Pluspunkt ist eine Tastatur optional erhältlich.

Apple iPad2

[singlepic id=747 w=618 float=center]

Das Apple iPad2 ist auf dem Tablet-Markt heute quasi das Maß der Dinge und legt somit auch die Messlatte dieses Vergleichs vor. Der interne Flashspeicher des mit iOS5 ausgelieferten Geräts ist bis zu 64 GB groß. Darüber hinaus ist die teuerste Variante auch mit 3G-Modul erhältlich und wiegt 613 Gramm.

Beim iPad(2) muss erwähnt werden, dass es schon vergleichsweise lange auf dem Markt erhältlich ist, dabei aber wie viele Apple-Produkte immer noch einen sehr hohen Preis hat. Es verfügt zwar über eine Kamera in der Front und eine auf der Rückseite, beide besitzen allerdings nur geringe Auflösungen, die z.T. noch nicht einmal die vom iPhone 3S bekannte Fotoqualität erreicht. Weiterhin sucht man vergeblich nach einem Slot für eine Speicherkarte.

Zusammenfassung

Abschließend lässt sich sagen, dass auch heute noch kein Allround-Tablet existiert, welches perfekt für jedes Einsatzszenario zugeschnitten ist. Benötigt man viel Arbeitsspeicher und eine hohe Festplattenkapazität, ist das Samsung Series 7 Slate den anderen Tablets vorzuziehen, wobei hier natürlich der weit höhere Preis und das nicht nativ für Tablets ausgelegte Betriebssystem Windows zu beachten ist.

Falls die Mobilität im Vordergrund steht, darf man das Sony Tablet P nicht außer Acht lassen. Es zeichnet sich durch das beste Gewicht-Größe-Verhältnis im Vergleich aus und ist durch seine kompakte Bauweise leicht in der Hosentasche zu verstauen.

Um eine einfachere, dem individuellen Einsatzkontext entsprechende Auswahl zu erleichtern fasst der nachfolgende Überblick die wichtigsten oben bereits kurz vorgestellten Bewertungskriterien der Devices in einem abschließenden tabellarischen Überblick zusammen:

[singlepic id=792 w=618 float=center]

Danksagung

Dieser Beitrag steht im Zusammenhang mit dem Forschungsprojekt SI-Screen, das mit Mitteln des Bundesministeriums für Bildung, und Forschung (Förderkennzeichen 16SV3982), sowie durch das Europäische AAL Joint Programm (AAL-2009-2-088) gefördert wird. Das Vorhaben wird von der innovationsmanufaktur GmbH (ehemals SportKreativWerkstatt GmbH) koordiniert und gemeinsam mit der Universität der Bundeswehr München realisiert. Weiterführende Informationen sind verfügbar unter http://www.si-screen.eu.

Spracherkennung und Sprachsteuerung

[toc]

Die Faszination dafür, Gegenstände nur durch die eigene Stimme zu steuern, hat mittlerweile zu einer merklichen Schwerpunktverlagerung in der Weiterentwicklung technischer Geräte geführt, wie zum Beispiel die Feature Liste des iPhone 4S jüngst zeigte. So wurde die Sprachsteuerung zu einem der wichtigsten Aspekte Multimodaler Interaktion. In diesem Artikel soll ein Überblick über Möglichkeiten zur Spracherkennung bzw. Sprachsteuerung vermittelt werden, dazu werden auch Webdienste behandelt. Möglichkeiten zur Implementierung beziehungsweise Einbindung für Software-Projekte, also vorhandene Programmbibliotheken[ref]http://de.wikipedia.org/wiki/Programmbibliothek[/ref] werden sofern vorhanden vorgestellt. Er soll einen groben Umriss über aktuell Produkte bieten. Der Schwerpunkt liegt in diesem Artikel auf der Android-Entwicklung und wurde im Zusammenhang mit dem Projekt ELISA erstellt. Es soll eine Erleichterung der Bedienbarkeit von Tablets unter anderem durch Sprachsteuerung erreicht werden.  Zunächst werden grundlegende Begriffe sowie Mechanismen erklärt, bevor im weiteren Verlauf Webdienste und Produkte im Einzelnen behandelt werden. Sie sind dabei unterteilt in den Kategorien „kommerziell“ und „Open Source“. Im abschließenden Vergleich werden sie einander tabellarisch gegenübergestellt.

Grundlagen

Zu unterscheiden ist neben Text-to-Speech (TTS) und Speech-to-Text (STT) vor allem zwischen Spracherkennung und Sprachsteuerung. TTS ist die künstliche Erzeugung (Synthese) von Sprache. Bei STT findet eine Digitalisierung der analogen Sprachsignale statt, welche mit Hilfe von akustischen Modellen, Wörterbücher und Sprachmodellen erkannt werden.

Bei der Spracherkennung werden eingegebene Sprachinformationen durch computerbasierte Systeme analysiert.[ref]http://www.itwissen.info/definition/lexikon/Spracherkennung-voice-recognition.html[/ref] Natürliche oder auch fließende Spracherkennung ist dabei die Fähigkeit des Systems nicht nur unterbrochene (diskrete) Sätze, sondern einen gesamten Sprachfluss zu erkennen. Es ist also bei modernen System nicht notwendig eine Pause zwischen den Wörtern einzulegen.

Als Sprachsteuerung hingegen bezeichnet man die Eingabe von Befehlen in technische Geräte per Stimme.  Diese baut direkt auf Spracherkennung auf, denn das gesprochene Wort muss erst erkannt werden, bevor es einem bestimmten Befehl zugeordnet werden kann.

[singlepic id=627 w=600 h=440 float=]

Mechanismen zur Spracherkennung

Hidden Markov Model

Als stochastisches Model der Spracherkennung wird unter anderem das Hidden-Markov-Model[ref]https://de.wikipedia.org/wiki/Hidden_Markov_Model[/ref] verwendet und in der Spracherkennungssoftware implementiert.

Das Hidden-Markov-Model ist die einfachste Form eines dynamischen Bayes’schen Netzes und ist durch Zustände und Übergangswahrscheinlichkeiten gekennzeichnet. Es entscheidet abhängig von den bisherigen Eingaben welches Wort, oder auch welches Phonem, mit größerer Wahrscheinlichkeit gemeint ist.[ref]http://en.wikipedia.org/wiki/Speech_recognition#Algorithms[/ref]

Beispiel:

Otto möchte seinen Bekannten Charlie anrufen.
„Charlie“ wird im Optimalfall wie „t-sch-a-r-l-i“ ausgesprochen.
Aufgezeichnet wird jedoch eine Tonspur die sich eher anhört wie „d-sch-a-o-l-ü“.
Das gemeinte Wort „Charlie“ ist für das Spracherkennungsprogramm also keineswegs direkt erkennbar, „t-sch-a-r-l-i“ ist hidden.

Das Programm verfügt über zwei Wahrscheinlichkeitstabellen,
die es sich nun zuhilfe nimmt.
Die eine Tabelle enthält Information, die unter Anderem besagen, dass
ein hidden-t mit einer gewissen Wahrscheinlichkeit auch als „d“,
ein hidden-r mit einer gewissen Wahrscheinlichkeit auch als „o“ und
ein hidden-i mit einer gewissen Wahrscheinlichkeit auch als „ü“ beobachtet werden kann.
Die andere Tabelle enthält Information, die unter Anderem besagen, dass
ein hidden-t wahrscheinlicher einem hidden-sch vorrausgeht als ein hidden-d,
ein hidden-r wahrscheinlicher zwischen einem hidden-a und einem hidden-l vorkommt als ein hidden-o und
ein hidden-i wahrscheinlicher auf ein hidden-l folgt als ein hidden-ü.

Dank dieser Informationen  wird das Programm nach einer etwas aufwändigen Berechnung unter Beachtung vieler weiterer Informationen aus den Tabellen in der Lage sein, „t-sch-a-r-l-i“ als wahrscheinlicher anzunehmen, „d-sch-a-o-l-ü“ also zu verwerfen und die Tonspur als „Charlie“ richtig zu erkennen.

Kommerzielle Dienste und Produkte

Nuance

Nuance bietet neben verschiedenen Spracherkennungsprodukten für Desktopanwendungen auch einen Webdienst zur serverbasierten Spracherkennung zum Beispiel für mobile Apps. Es unterstützt sowohl iOS als auch Android. Zur Entwicklung solcher Apps wird ein entsprechendes Software Development Kit (SDK) bereitgestellt, das im Folgenden kurz erläutert wird.

Dragon Mobile SDK

[singlepic id=742 w=320 h=240 float=]

Das Dragon Mobil SDK ist eine eigener Werkzeugsatz zur Integration von Spracherkennung in bestehende Applikationen und zur Erstellung eigener Anwendungen und nutzt eine serverbasierte Spracherkennung. Sogenannte Back-End-Systeme haben den Vorteil dass eine Verbesserung der Spracherkennung durchgeführt werden kann, ohne dass die Anwendung selbst aktualisiert werden muss.

Ein Codebeispiel:

 // Use the same handler for both buttons
 final Button dictationButton = (Button)findViewById(R.id.btn_startDictation);
 Button websearchButton = (Button)findViewById(R.id.btn_startWebsearch);
 Button.OnClickListener startListener = new Button.OnClickListener()
 {
 @Override
 public void onClick(View v) {
 _listeningDialog.setText("Initializing...");   
 showDialog(LISTENING_DIALOG);
 _listeningDialog.setStoppable(false);
 setResults(new Recognition.Result[0]);

 if (v == dictationButton)
 _currentRecognizer = MainView.getSpeechKit().createRecognizer(Recognizer.RecognizerType.Dictation, Recognizer.EndOfSpeechDetection.Long, "en_US", _listener, _handler);
 else
 _currentRecognizer = MainView.getSpeechKit().createRecognizer(Recognizer.RecognizerType.Search, Recognizer.EndOfSpeechDetection.Short, "en_US", _listener, _handler);
 _currentRecognizer.start();
 }
 };
 dictationButton.setOnClickListener(startListener);
 websearchButton.setOnClickListener(startListener);

Apple

Apple hat spätestens seit dem iPhone 4S [ref](https://www.apple.com/de/iphone)[/ref] und ihren Plänen zu Sprachsteuerung von TV-Geräten [ref](http://www.iptv-anbieter.info/iptv-news/apple-stost-auf-tv-markt-vor-fernseher-mit-sprachsteuerung-in-arbeit)[/ref] wieder eine wichtige Rolle in der Spracherkennung eingenommen. Es unterhält dementsprechend eigene Server zur Spracherkennung und -steuerung, limitiert deren Nutzung jedoch bisweilen stark.

SIRI

[singlepic id=743 w=320 h=240 float=]

Siri ist eine Software von Apple, die der Erkennung und Verarbeitung von natürlich gesprochener Sprache dient. [ref](https://de.wikipedia.org/wiki/Siri_%28Software%29)[/ref] Apple hat durch den Kauf vin Siri[ref](http://www.macnotes.de/2010/04/29/apple-kauft-siri-virtueller-assistent-fur-intelligente-suche-im-iphone-os/)[/ref]  bewiesen, wie interessant Sprachesteuerung für Kunden ist.

Microsoft

Tellme

Von Microsoft für Windows-Phone entwickelt Software Tellme bietet durch die Cloud eine ständige Verbesserung der Spracherkennung [ref](https://www.microsoft.com/en-us/Tellme/technology/default.aspx#tab=engines)[/ref].

[singlepic id=781 w=320 h=240 float=]

Es soll ein Konkurrent zu Siri sein, schnitt jedoch in vielen subjektiven Tests als deutlich schlechter und weniger intelligent ab.[ref]http://www.ifrick.ch/2011/11/microsoft-tellme-gegen-apple-siri-noch-fragen/[/ref]

WSR Macros

Dies ist ein kostenfreies Tool zum herunterladen, welches einem eine einfache Möglichkeit gibt die Sprachsteurung von Windows zu erweitern, ohne weitgreifende Programmierkenntnisse zu besitzen. Jedoch bleibt es weit hinter den Möglichkeiten anderer Anbieter zurück.

Google VoiceActions

[singlepic id=753 w=320 h=240 float=]

Auch Google hat mit Google Voice Actions[ref]http://www.google.com/mobile/voice-actions/[/ref] eine Möglichkeit entwickelt das Mobiltelefon oder das Tablet per Sprache zu bedienen. Anders als andere Anbieter braucht es den Vergleich mit Siri nicht zu scheuen, obwohl es in der Umsetzung einen deutlich anderen Weg gewählt hat. Anders als beim Produkt von Apple wird weniger in Oberfläche von Siri angezigt, sondern auf die Suchmaschine von Google gesetzt. Es wirkt zwar dadurch technischer, aber häufig auch detaillierter. Es stehen also auf der einen Seite ein Dialog-Ansatz und Styling von Apple und auf der anderen Seite klare Anweisungen und aufgelistete Ergebnisse von Google.[ref]http://t3n.de/news/apple-siri-google-voice-actions-funktioniert-besser-337314/[/ref]

Iris

Die erste Version von Iris soll innerhalb weniger Stunden entstanden sein und wurde später durch updates immer genauer und zuverlässiger. Dexetras Versuch Siri zu klonen stellt zur Zeit noch nicht eine ausgereifte Software dar, man kann aber vermuten, dass durchaus noch weitere Updates folgen werden.[ref]http://www.businessvalue24.de/iris-die-sprachsoftware-im-test[/ref] Iris benötigt Google Voice Search[ref]http://www.golem.de/1008/77191.html[/ref] und TTS, welche aber frei im Android Market erhältlich sind. Da es keine Softwarebibliothek, sondern eine prototypische Implementierung  auf Basis des unten erläutertem Android SDK ist und kein Quellcode erhältlich ist, kann es nicht in eigenen Programmen verwendet werden.

Android SDK

Android bietet den Vorteil, dass es frei und kostenlosnlos ist und zusäzlich der Quellcode eingesehen und studiert werden kann. Beides erleichtert die Implementierung neuer Applikationen. Die SDKs sind umfangreich und schon mit verschieden Tests vorhanden. Mit der aktuellen Version 4.0 Ice Cream Sandwich soll zudem auch ein Front-End-System, also einer Erkennung auf dem Client, der Spracherkennung möglich sein. Es ist damit unabhängig von den Servern der Anbieter, die Anwendung muss aber zur Verbesserung manuelle aktualisiert werden.

ein Codebeispiel:

/**
 * A very simple application to handle Voice Recognition intents
 * and display the results
 */
public class VoiceRecognitionDemo extends Activity
{

    private static final int REQUEST_CODE = 1234;
    private ListView wordsList;

    /**
     * Called with the activity is first created.
     */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.voice_recog);

        Button speakButton = (Button) findViewById(R.id.speakButton);

        wordsList = (ListView) findViewById(R.id.list);

        // Disable button if no recognition service is present
        PackageManager pm = getPackageManager();
        List<ResolveInfo> activities = pm.queryIntentActivities(
                new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0);
        if (activities.size() == 0)
        {
            speakButton.setEnabled(false);
            speakButton.setText("Recognizer not present");
        }
    }

    /**
     * Handle the action of the button being clicked
     */
    public void speakButtonClicked(View v)
    {
        startVoiceRecognitionActivity();
    }

    /**
     * Fire an intent to start the voice recognition activity.
     */
    private void startVoiceRecognitionActivity()
    {
        Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
                RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Voice recognition Demo...");
        startActivityForResult(intent, REQUEST_CODE);
    }

    /**
     * Handle the results from the voice recognition activity.
     */
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        if (requestCode == REQUEST_CODE && resultCode == RESULT_OK)
        {
            // Populate the wordsList with the String values the recognition engine thought it heard
            ArrayList<String> matches = data.getStringArrayListExtra(
                    RecognizerIntent.EXTRA_RESULTS);
            wordsList.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,
                    matches));
        }
        super.onActivityResult(requestCode, resultCode, data);
    }
}

Vlingo

[singlepic id=745 w=320 h=240 float=]

Vlingo ist eine kostenfreie App, welche Nachrichten oder Mails sendet, Anrufe und Websuche durch einfache Sprachbefehle startet – welche aber beim ersten Start eingestellt werden müssen. Es ist nur mit Android Versionen ab 2.0 kompatibel. Im Hauptmenü werden alle verfügbaren Befehle aufgelistet und neben dem erstellen von SMS, ist es auch möglich andere Applikationen wie zum Beispiel Skype aufrufen. Die Spracherkennung wurde in mehreren Test als überraschend gut beschrieben und bietet auch einen inCar-Modus, welcher eine Steuerung mit fast gar keinem Berühren erlaubt.[ref]http://www.cnet.de/blogs/mobile/android-app/41555152/vlingo_fuer_android_das_smartphone_per_sprachbefehl_steuern.htm[/ref]

Open Source Projekte

Neben kommerziellen Webdiensten und Produkten gibt es auch Open Source Projekte, die sich ebenfalls mit Spracherkennung (vordergründig) sowie zum Teil mit Sprachsteuerung befassen.
Durch eine freie und kostenlose Veröffentlichung eines Quelltextes fördern diese die Weiterentwicklung und erleichtern die Verbreitung. Es kann somit eine große Anzahl an Personen an einer Aufgabe arbeiten und jeder profitiert von den Erfolgen anderer.

CMU Sphinx

CMU Sphinx ist ein Open Source Projekt[ref]http://cmusphinx.sourceforge.net/[/ref] zur Spracherkennung der Carnegie Mellon University. Es ist unabhängig vom Nutzer und bietet die Erkennung von ununterbrochenem Sprachfluss.[ref](http://sourceforge.net/projects/cmusphinx/)[/ref]

Julius

[singlepic id=783 w=320 h=240 float=]

Julius ist eine Spracherkennungs-Engine, welche Open Source ist und sowohl ununterbrochene Sprachflüsse versteht, als auch mit großen Wortschätzen umgehen kann. Es basiert auf Hidden Markov Modellen und läuft auf modernen PCs nahezu in Echtzeit.[ref](https://de.wikipedia.org/wiki/Julius_%28Software%29)[/ref] Neben dem vollständigen Quelltext bietet es zusätzlich noche eine Anleitung in Englisch und Japanisch.

VoxForge

[singlepic id=770 w=320 h=240 float=]

VoxForge erstellt akustische Modelle für die Verwendung mit Spracherkennungs-Engines wie Sphinx oder Julius. Es sammelt dafür eingereichte Sprachdateien von Benutzern. [ref]http://julius.sourceforge.jp/en_index.php[/ref] Aus den Sprachaufnahmen wir dann ein akustisches Modell erstellt, welches aber eine große Menge von Sprachaufnahmen benötigt.

RWTH ASR

[singlepic id=793 w=320 h=240 float=]

RASR ist ein open source Spracherkennungs-Werkzeugsatz. Es wurde von der „Human Language Technology and Pattern Recognition Group“ an der Universität in Aachen entwickelt.

Nutzungsmöglichkeiten

[singlepic id=630 w=600 h=420 float=]

Das Ziel ist es im Schwerpunkt eine Verkürzung der Funktionsaufrufe um damit die Erleichterung der Bedienbarkeit zu erreichen. So soll es möglich sein vom Hauptmenü aus, mit nur einem Befehl, eine Person aus der Kontaktliste des Tablets anzurufen. Es entfallen also zum Teil lange Befehlsketten und werden durch  einzelne Befehle ersetzt. Es ist unter anderem für ältere Menschen, der Zielgruppe von ELISA, von Bedeutung.

In diesem Zusammenhang soll eine Beispielkontakliste auf einem Tablet erstellt und dem Nutzer ermöglicht werden sich einen dieser Kontakte durch einen Sprachbefehl anzuzeigen.

Vergleich

In dieser Tabelle können die vorgestellten Produkte und Webdienste nun miteinander verglichen werden.

[singlepic id=834 w=816 h=240 float=]

Zusammenfassung

Der Artikel zeigt, dass es bereits eine Vielzahl an Webdiensten, Produkten und Open Source Projekten zur Spracherkennung und Sprachsteuerung gibt, welche sich in vielen Gesichtspunkten jeweils sehr von einander unterscheiden. So wird die potentielle Nutzbarkeit zum Teil stark dadurch eingeschränkt, welche Betriebssysteme unterstützt werden, unter was für einer Lizenz die Veröffentlichung läuft, welche Sprachen erkannt werden und ob überhaupt Sprachsteuerung oder das Entwickeln eigener Anwendungen (SDK) vorgesehen ist. Dies wird in obiger Tabelle deutlich.

Die Spracherkennung derer Technologien, die sich für Android nutzen lassen findet bisweilen serverseitig statt. Die aufgezeichnete Eingabe wird an einen Server weitergeleitet und von diesem zu Text bzw. Befehlen verarbeitet.
Somit funktionieren jene nur, solange die Verbindung zwischen Gerät und Internet steht. Lediglich Google ließ verlauten, dass sein Android 4.0, welches Anfang Januar 2012 erscheinen soll, erstmals über eine autonom arbeitende Spracherkennung verfügt.

Unabhängig davon soll unbestätigten Berichten zufolge Anfang 2012 Googles Antwort auf Siri erscheinen. So berichtet der Fachblog androidandme, derzeit arbeite das Entwicklerteam an einer neuen Android-Sprachsteuerung mit Codenamen Majel. Auch heise.de zitierte den englischsprachigen Bolg in einem entsprechenden Artikel.
Majels Spracherkennung solle jedoch serverseitig stattfinden, hieß es, was wiederum mit Goggels offizieller Ankündigung einer autonom arbeitende Spracherkennung nicht ganz in Einklang zu bringen ist. Ein Google-Sprecher wiegelt Nachfragen indess damit ab, dass sie „keine Gerüchte und Spekulationen kommentieren“.
Man darf gespannt sein.