CommunityMashup – Ein erster Überblick

[toc] Das CommuntiyMashup ist eine Integrationslösung für Daten aus sozialen Diensten. Es vereinheitlicht und verbindet Daten aus den unterschiedlichsten Quellen. Hierbei steht im Sinne des „Social Web“ die Person im Vordergrund. Eine definierte Schnittstelle mit vorgefertigen Anwendungskompenten lässt eine einfache Verwendung der Daten in verschiedensten Anwendungsszenarien zu. Diese Seite gibt einen Überblick über die dem CommunityMashup zugrundeliegenden Konzepte und vermittelt einen Einblick in seine vielfältigen Verwendungsmöglichkeiten.

Ausgangssituation

Mit dem Erfolg von Web 2.0 im privaten und Enterprise 2.0 im unternehmensweiten Bereich veränderte sich die Art und Weise wie Informationen strukturiert und kosumiert werden.

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

Auswirkungen des Erfolg von Social Software

Im Zuge des immer verbreiteteren Einsatzes von Social Software auch im Unternehmenskontext vollzieht sich eine Entwicklung von einer datenzentrischen Systemsicht hin zu einer personzentrischen Perspektive. Soziale Netzwerke wie Facebook oder Microblogging Dienste wie Twitter sind nur zwei Arten von Diensten die Einzug in unser tägliches Leben gefunden haben. Insgesamt lässt sich beoachten, dass fast jeder Nutzer inzwischen mehr als einen Dienst benutzt, sei es wegen spezieller Funktionalitäten, den Personen die über den jeweiligen Dienst erreichbar sind oder schlichtweg um private und berufliche Nutzung zu trennen. So sind wir unter anderem gezwungen den richtigen Kanal zu wählen um Informationen zu konsumieren bzw. zu verteilen. Dies nährt den Wunsch nach einer Integrationslösung, die unsere Daten aus unterschiedlichen Diensten vereint ohne dabei ein neues zentralisiertes System zu schaffen. Insbesondere muss uns die Wahl der Dienste und die Art und Weise, wie wir diese nutzen wollen offen bleiben.

Mobile und ubiquitäre Nutzung

Eine weitere Veränderung der letzten Jahre lässt sich in der Nutzung verschiedenster Geräte, mit denen wir Informationen konsumieren, festhalten. Sei es mit dem Tablet zuhause im Wohnzimmer, unterwegs per Smartphone oder klassisch im Büro mit dem Desktoprechner. Hinzukommen ubiquitäre Systeme wie interaktive Wandbildschirme, welche die letzten Lücken unserer Informationsversorgung schließen. Eine zukunftsfähige Integrationslösung muss daher dem Nutzer die Möglichkeiten der freien Geräte- und Plattformwahl offen lassen.

Nutzerzentrische Aggregation verschiedener Quellen

Der Grundgedanke des Web 2.0 beinhaltet die starke Einbeziehung aller Nutzer bei der Erstellung von Inhalten und die Möglichkeit diese mit anderen Personen zu teilen. Mit der Integration von Daten aus uterschiedlichen Diensten entsteht der Wunsch diese untereinander mit zusätzlichen Informationen zu Verknüpfen und diese wiederum mit anderen zu teilen. Hierin liegt auch ein Kritikpunkt an aktuellen Integrationssystemen, die meist nur aus einer Single-User Perspektive getrieben sind. Beispielsweise ist die Verteilung der Information innerhalb einer Gruppe, wer welche Artikel zu einem gemeinsamen Interessensgebiet gelesen hat, aus dieser Perspektive unmöglich. Wobei die Artikel natürlich aus verschiedensten Quellen stammen können. Zusammen mit der personenzentrischen Sicht auf Daten, der Vielzahl verschiedenster genutzer Dienste und der Verwendung unterschiedlichster Geräte führt dies zum Wunsch einer neuen Integrationslösung für die wir im folgenden die Konzepte und Lösungsansätze vorstellen.

Grundidee

Das CommunityMashup verbindet die Inhalte aus verschiedensten sozialen Diensten. Dazu zählen beispielsweise Soziale Netzwerke wie facebook, Microblogging Dienste wie twitter oder Bild-Dienste wie flickr, aber auch spezielere wie beispielsweise der Referenzmanagement-Dienst Mendeley für wissenschaftliche Veröffentlichungen. Die Daten aus diesen Diensten werden über die Schnittstellen der Services abgerufen und über spezielle Adapter vereinheitlicht, so dass sie miteinander vermischt und verbunden werden können („mashup“). Die vereinheitlichten Daten werden anschließen wieder über spezielle Schnittstellen bereitgestellt. Hierbei wird auf unterschiedliche Anwendungsszenarien und deren spezielle Anforderung eingegangen, die insbesondere durch verschiedene Geräte und Plattformen beeinflusst sind. Wir unterscheiden ganz allgemein zwischen Web-Anwendungen, Desktop-Anwendungen und Anwendungen für mobile Geräte. Die folgende Grafik visualisiert diese Zusammenhänge noch einmal grafisch. Hierbei ist vorallem zu beachten, dass Daten nicht nur von den angebunden Diensten zu den Endbenutzer Anwendungen fließen, sondern auch in umgekehrter Richtung.
[singlepic id=603 w=618 float=center]

Model Driven Approach

Ausgehend von der Grundidee einer Integrationslösung für soziale Dienste, die Daten vereinheitlicht und über spezielle Schnittstellen wieder bereitstellt, stellt sich die Frage nach dem passenden Entwicklungsansatz. Erfahrungen haben gezeigt, dass Internetdienste sowie ihre ggf. vorhandenen Schnittstellen einer permanenten Änderung und Weiterentwicklung unterworfen sind. Dienste kommen und gehen bzw. sind populären oder unpopulärer ebenso verhält es sich mit ihren Funktionen und Schnittstellen. Um flexibel auf diesen kontinuierlichen Wandel reagieren zu können und dabei eine stetige Evolution der Integrationslösung zu ermöglichen, schlagen wir einen modellgetriebenen Ansatz vor. Dieser basiert auf einem dafür konzipierten personenzentrischen Datenmodell, das die Zusammenhänge in sozialen Diensten wiedergibt. Dieses Datenmodell und die darauf aufbauenden Anwendungskomponenten stellen wir im weiteren Verlauf näher vor.

Datenmodell

Untenstehende Abbildung zeigt die Kernelemente des personenzentrischen CommunityMashup-Datenmodells. Es enthält die drei Kernelmente Person, Organisation und Inhalt (Content). Organisationen wie auch Inhalte können hierarchisch strukturiert werden. Inhalte werden über eine Autor-Beziehung mit Personen verknüpft, diese wiederum können über Organisationen gruppiert werden. Personen-Objekte spiegeln jeweils reale Menschen wieder, d. h. für eine Person wird nicht ein eigenes Element für je benutzten Dienst erzeugt werden, vielmehr bilden alle verteilten Profile zusammen eine digitale Identität ab. Das Selbe gilt auch für die Profile von Organisationen. Jeder weitere Dienst trägt seine zusätzlichen Profilinformationen über Erweiterungs-Objekte (Extensions) bei. So bleibt auch der Bezug zur ursprünglichen Quelle erhalten.
[singlepic id=600 w=618 float=center]

Ein Kernkonzept des Datenmodells ist die bewusst offene Verwendung von Tags für Metainformationen, um ein Minimum von zusätzlichen Attributen für die einzelnen Daten-Objekte fix speichern zu müssen. Beispielsweise erhält eine Person nicht mehr zwei Attribute für die private und die berufliche E-Mail-Adresse, sondern Referenzen zu zwei E-Mail Objekten getaggt mit privat bzw. beruflich. Ein E-Mail Objekt lässt sich dann beispielsweise noch facebook taggen um so deren Verwendung auszuzeichnen. Dieses Verfahren wird auf alle Objekte des Datenmodells angewandt und erlaubt sehr flexible Such- und Filtermethoden und ermöglicht dadurch letztlich eine nutzungsoffene Verwendung der Integrationslösung.

Anwendungskomponenten

Mit der aus dem Datenmodell hervorgehend Abbildungsvorschrift, die es erlaubt Daten aus sozialen Diensten zu vereinheitlichen und miteinander zu verbinden, stellt sich die Frage, welche Teile einer konkreten Anwendung direkt vom vorliegenden Datenmodell abängen und somit ebenfalls automatisch aus dem Modell generiert werden können. Um eine nachhaltige und erweiterbare Lösung zu ermöglichen, ist es quasi ein Muss, dass alle diese direkt ableitbaren Teile automatisch bzw. zumindest semi-automatisch generiert werden. Die folgende Grafik gibt einen Überblick über die für das CommunityMashup relevanten, automatisch generierbaren Anwendungskomponenten:
[singlepic id=604 w=618 float=center]

Viele UML-Werkzeuge unterstützen mittlerweile die automatische Erzeugung einer (Java) Schnittstelle mit zugehörigen leeren Klassen und Methoden. Für eine durchgängige Lösung wird allerdings ausführbare Code mit einer Laufzeitumgebung (RunTime) benötigt. Diese kümmert sich beispielsweise um die Erzeugung von Objekten bzw. um die Bereitstellung von Methoden zur Manipulation solcher Instanzen. Ein zusätzlicher Event-Mechanismus erlaubt das Verfolgen dieser Änderungen. Eine weitere wichtige Anwendungskomponente stellt die Persistierung dar. Diese wird beispielsweise für Caching benötigt. Für die Persistierung von Daten ist eine Serialisierung und Deserialisierung der Objekte notwendig. Diese wird ebenfalls für den Datenaustaustausch über Web-Schnittstellen im XML-Format benötigt. Im Rahmen des CommunityMashup-Projektes wird aktuell eine durchgängige Werkzeugkette aufgebaut, die die automatische Erstellung dieser Komponenten ermöglicht. Wir wenden den gleichen modellgetrieben Ansatz auch auf ein Meta-Modell an, das die möglichen Konfigurationen des CommunityMashup beschreibt. Hierfür werden viele identische Komponenten benötigt, allerdings jeweils bezogen auf ein anderes Modell. Die Verwendung des Meta-Modells erlaubt es, Konfigurationen speichern und laden zu lassen (Persitierung) und beispielsweise aus Gründen der Fernwartung auch über eine Web-Schnittstelle abfragen und verändern zu lassen.

Service-Orientierte-Architektur

Alleine durch die oben beschrieben, aus einem Modell erzeugbaren Komponenten lässt sich noch keine gesamte Integrationslösung erstellen. Ziel des CommunityMashups ist nicht nur ein flexibles Entwicklungskonzept das durch den modellgetriebenen Ansatz erreicht wird, sondern auch eine flexible Systemarchitektur die aufgrund von Anforderungen wie Skalierbarkeit, Performance und Ausfallsicherheit eine Verteilung von Systemkomponenten zulässt. Diese Service-Orientierte-Architektur, muss sich dadurch auszeichnen, dass definierte Systemkomponenten als eigenständige Services mit definierten Schnittstellen realisiert werden. So lassen sich selbst zur Laufzeit einzelne Komponenten aktualisieren bzw. austauschen ohne die Verfügbarkeit des Gesamtsystems zu beeinflussen. Nachfolgende Abbildung zeigt ein exemplarisches verteiltes Szenario mit Client- und Server Komponenten.
[singlepic id=601 w=618 float=center]

Die Verbindung der Daten aus den eizelnen Quelldiensten (Source 1 bis Source n) wird auf einem Server durchgeführt und durch eine Konfiguration gesteuert. Jede dieser Quellkomponenten wird als eigener Service realisiert, der sich sich einzeln aktualiseren lässt, beispielsweise um auf die Änderung einer entfernten Schnittstelle zu reagieren.Java Intern überführen die dargestellten Quellkomponenten Daten der externen Dienste in das dem personenzentrische CommunityMashup-Datenmodell und tragen diese hierdurch sukzessive zu einem gemeinsamen Datensatz zusammen. Die zentrale CommunityMashup-Komponente stellt diesen Datensatz (ggf. je nach Bedarf gefiltert) wieder über eine Java Schnittstelle bereit. Darauf aufbauend lässt sich eine REST Schnittstelle hinzufügen, die die aggregierten und gefilterten Daten (zugriffsbeschränkt) über das Web verfügbar macht. Spezielle Anwendungskomponenten lassen nun eine Verwendung der Daten auf Client-Seite über eine identische Java API zu. Die je nach Client-Typ (im oben abgebildeten Beispiel eine klassische Desktop Anwendung in Kombination mit einem Android Mobile Device) speziell ausgeprägten Anwendungskomponenten kümmern sich im Hintergrund transparent um den Datenaustausch und verlagern je nach Client rechenintensive Aufgaben auf den Server.

CommunityMashup REST-Schnittstelle

[toc] Das CommunityMashup stellt Anwendungen eine auf Web2.0-Inhalte spezialisierte und auf einem personenzentrischen Datenmodell basierende Datenbasis zur Verfügung. Um Anwendern/Entwicklern generische Zugriffsmöglichkeiten auf diese Datenbasis zu ermöglichen, wurde im Rahmen einer Masterarbeit eine REST-Schnittstelle für das CommunityMashup entwickelt, die nachfolgend kurz vorgestellt wird

Problemstellung

Zu Beginn der Entwicklung des CommunityMashups wurde der Zugriff auf die Daten des Frameworks lediglich über eine Java-Schnittstelle ermöglicht, d.h. eine es nutzende Anwendung musste in Java implementiert sein und auf der gleichen Maschine wie das CommunityMashup laufen.Eine auf verschiedene Geräte oder Architekturen verteilte Nutzung wurde somit starkt erschwert (vgl. Abbildung links).

[singlepic id=582 h=270 float=left] [singlepic id=583 h=270 float=left]

Um diesem Problem zu begegnen, wurde das CommunityMashup im Rahmen einer Masterarbeit um eine REST-Schnittstelle erweitert. Mit Hilfe dieser Schnittstelle können verschiedenste Arten von Anwendungen (z.B. normale Anwendungen, Smartphone-Apps oder Widgets) auf unterschiedlichen Geräten auf die Daten eines oder mehrerer CommunityMashups zugreifen und diese verwenden sowie manipulieren (vgl. Abbildung rechts).

Verwendung der Schnittstelle

Die Schnittstelle kann prinzipiell von jeder Anwendung verwendet werden, die entsprechend der Schnittstellen-Dokumentation erstellt/konfiguriert wurde:

[singlepic id=581 w=518]

Da die Kommunikation mit der REST-Schnittstelle über das HTTP-Protokoll und damit potentiell dem gesamten Internet geschehen kann, ist die Anwendungsentwicklung sowohl was den Ort als auch die Architektur des Zielsystems betrifft vom CommunityMashup unabhängig.

Die REST-Schnittstelle wird vom CommunityMashup in Form eines Java-Servlets bereitgestellt, welches ebenfalls die Dokumentation der Schnittstelle enthält.

Beide können über die URL des CommunityMashup-REST-Services erreicht werden, der eine selbsterklärende Beschreibung der angebotenen Dienste bereithält. Unter anderem kann die Syntax der REST-Anfragen nachgeschlagen werden und die Anfragen können im Browser getestet werden, was bei der Entwicklung kompatibler Anwendungen hilft.

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

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

Technische Umsetzung

Um die REST-Schnittstelle mit der modellgetriebenen Entwicklung des CommunityMashups[ref]Vgl. https://soziotech.org/communitymashup/model-driven-approach/.[/ref] im Einklang zu halten, werden die dynamischen (vom Datenmodell des CommunityMashups anhängigen) Methoden und Funktionen mit Hilfe angepasster JET-Templates automatisch aus dem Modell generiert, was eine spätere manuelle Anpassung der Schnittstelle an Änderungen des CommunityMashups überflüssig macht:

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

Um den unauthorisierten Zugriff auf das CommunityMashup einzuschränken, wurde ein Sicherheitssystem entwickelt, das nur registrierten Anwendungen den Zugriff auf die Daten und Funktionen des CommunityMashups gestattet. Die Absicherung der REST-Anfragen geschieht durch eine Signatur, welche die Anfrage vor einer Manipulation schützt und den Absender der Anfrage eindeutig identifiziert.

Sicherheitssystem der Schnittstelle

Die Sicherheit der Daten des CommunityMashups wird durch die Verwendung sogenannter Message Authentication Codes (MAC) sichergestellt, welche auch bei anderen (REST)-Schnittstellen namhafter Online-Dienstanbieter wie Amazon, GoogleMaps oder Flickr verwendet wird. Dabeiwird neben der eigentlichen Anfrage der Hashcode der Anfrage und eines geheimen Schlüssels übermittelt, wodurch zum einen die Integrität der Nachricht und zum anderen die Identität des Absenders sichergestellt sind.

REST-Zugriff

Die folgenden Prozessdiagramme liefern einen kurzen Überblick über die Zugriffsmöglichkeiten auf das CommunityMashup über die REST-Schnittstelle, darunter auch über den Ablauf einer gesicherten REST-Anfrage:

[nggtags gallery=REST+Zugriff]

Howto – Touchscreen Komponenten mit JavaFX und Adobe Illustrator

In diesem Howto wird gezeigt wie Interaktionskomponenten für Touchscreen Systeme mit Adobe Illustrator erstellt werden können, um diese mittels JavaFX interaktiv in einer GUI einzubinden. Dies geschieht exemplarisch anhand des in einer Bachelorarbeit entwickelten GUI-Entwurfs für ein Fussgänger-Navigationssystems der UnibwM. „Howto – Touchscreen Komponenten mit JavaFX und Adobe Illustrator“ weiterlesen

Outdoor-Touchscreens: Hardware und Komplettsysteme

Dieser Artikel enthält eine kurze Übersicht zu Hardware-Lösungen für Outdoor-Touchscreen-Terminals sowie zu Komplettsystemen, die Soft- und Hardware vereinen. Diese einzelnen Arbeiten wurden im Rahmen der Recherche zur Arbeit Touchscreen-basiertes Campus-Navigationssystem für die Universität der Bundeswehr München untersucht und werden hier noch einmal zusammenfassend vorgestellt.

Ziel der Zusammenstellung

Im Rahmen der Anschaffung eines Outdoor-Touchscreen-Terminals an der UniBwM wurden zunächst mögliche Lösungen betrachtet, um Hersteller und Nutzungskonzepte zu identifizieren. Diese Sammlung wurde im Rahmen der oben verlinkten Bachelorarbeit um existierende proprietäre Komplettsysteme (Hardware + Software) erweitert, um für die Umsetzung eines Touchscreen-basierten Campus-Navigationssystems aus den Erfahrungen anderer Hersteller und Entwickler zu lernen.

Terminals ohne Software

Die unten aufgeführten Terminals werden von den jeweiligen Firmen normalerweise ohne Software als reine Hardware-Produkte ausgeliefert und sind mit dem an der UniBwM verwendeten friendlyway artic Terminal vergleichbar. Natürlich erhebt diese Liste keinen Anspruch auf Vollständigkeit, sondern bildet nur den damaligen Recherchestand ab.

Kolembar

Das erste Terminal ist von der Firma „Kolembar Industietechnik“ [ref]http://www.kolembar.de/[/ref], diese ist Spezialist rund um das Thema Monitore und Kiosksysteme. Sie ist im deutschsprachigen Raum ansässig, agiert aber auch international.  Das System heißt „Hawk“ und ist ein Outdoor Kiosksystem mit bis zu 32“ Displays, das vom Kunden anwedungsspezifisch bestellt werden kann. Die Firma „Kolembar“ arbeitet zurzeit an einem neuen Outdoor System mit bis zu 46“ das wir jedoch noch nicht vorstellen können.

Hier einige mögliche Konfigurationen des „Kolembar -Hawk“ :

[nggtags Gallery=“KoHw“]

SOLIDD

Das zweite Terminal ist von der Firma „SOLIDD“ [ref]http://www.solidd.de/[/ref], diese hat ihren Sitz in Kusel, Rheinland – Pfalz.  Neben einem weit gefächerten und vielseitigen Spektrum an Standard- Informationssystemen bietet die Firma auch auf Kundenwünsche maßgeschneiderte Sonderlösungen. Weitere Besonderheit ist, dass Sie höhenverstellbare Modelle anbieten, die auch von Kindern oder Personen im Rollstuhle verwendet werden können. Das betrachtete Modell K8 ist eine im Design schlicht gehaltene Infostele in drei Displaygrößen.

Hier einige Bilder des „SOLIDD K8“:

[nggtags Gallery=“SoK8″]

friendlyway

Das nächste Terminal ist von der Firma „friendlyway“ [ref]http://www.friendlyway.de/[/ref], diese bietet ihren Service und ihre Produkte in Europa, im Mittleren Osten und in Nordamerika an.  Sie bieten digitale Kioske und Stelensysteme für den In- & Outdoorbereich. Der Artikel betrachtet das Modell „grande 46, es besitzt beidseitig ein 46“ Touchscreen Display.

[nggtags Gallery=“grande“]

BV-com Office

Dieses Terminal ist von der Firma „BV-com Office“ [ref]http://www.bv-comoffice.com/[/ref], einer in Deutschland ansässigen Firma und ist erfolgreicher Xerox-Vertriebspartner. Die Firma bietet weiterhin verschiedenste Projektionsgeräte, wie Beamer, Bildschirme und andere Displays. Neben diesen Produkten bieten Sie für Kunden maßgeschneiderte Medien Konzepte.  Das „iMotion“ kann mit ein- oder beidseitigen Displays in Größen von bis zu 70“ bestellt werden. Zudem bietet „BV-com Office“ als einzige der hier vorgestellten Firmen bei einer solchen Displaygröße ein Querformat.

[nggtags Gallery=“BVIm“]

Terminals der Firma ide-tec

[nggtags Gallery=idetec]

Terminals der Firma eKiosk

[nggtags Gallery=eKiosk]

Komplettsysteme mit Software

Die hier aufgeführten Komplettsysteme dienten vor allem als Input für Ideen in der Umsetzung der oben verlinkten Bachelorarbeit.

Pariser Metroplan

Hierbei handelt es sich um eine sehr frühe Art von interaktivem Navigationssystem. Das Pariser U-Bahn Netz wurde durch LEDs auf einer Karte abgebildet. Der Nutzer kann duch das Drücken von Reisezielen im unteren Teil des Gerätes seine Auswahl treffen. Das Gerät zeigt anschließend mithilfe der LEDs die U-Bahn Linien von Standort zu Zielort an.

[singlepic id=329 w=480 h=618 float=center]

Einkaufszentrum Paris

Dieses Komplettsystem wurde für ein Parieser Einkaufszentrum entwickelt. Es verfügt über ein Touchscreen Displays (links unten) und zwei einfache Monitore (oben in der Mitte und rechts unten). Über das Touchsceen Display kann der Nutzer sein Ziel auswählen und zusätzliche Einstellungen vornehmen. Der Hauptmonitor (oben) zeigt ihm dann die Navigation zum Ziel. Der dritte Bildschirm unten rechts ist als Werbefläche konzipiert und zeigt Werbefilme unabhäng von der Nutzung.

[singlepic id=330 w=480 h=618 float=center]

Interactive City Terminals

Dieses Komplettsystem wird vom Hersteller an an die individuellen Anforderungen von den Städten angepasst, in denen es später eingesetzt wird. Das Terminal der zweiten Generation verfügt über je ein 52″ Display auf Vorder- und Rückseite. Hierdurch kann das Terminal von zwei Nutzern gleichzeitig und unabhängig von einander genutzt werden. Bei der Software handelt es sich um ein Informations- und Navigationssystem, dass über Events in der Stadt sowie verschiedene öffentliche Einrichtungen Auskunft geben kann. Das System enthält Informationen über Hotels, Restaurants, Veranstaltungen und Ausflugsziele in der Umgebung und zeigt zu diesen Bilder und Videos.

[singlepic id=326 w=480 h=618 float=center]

Zusammenfassung

Abschließend ist zu sagen, dass Outdoor-Terminals für immer mehr Einsatzszenarien von konkreten Vertriebskonzepten bis hin zu rein unternehmensinterner Nutzung von Interesse zu sein scheinen.  Einsatzbereich und Umfang entscheiden oft über die verwendete Terminalart. Komplettsysteme werden häufiger für kleinere Unternehmen entwickelt, die nur wenig Anpassungen vom Hersteller wünschen. Reine Hardwaresysteme werden hingegen öfter von größern Unternehmen gekauft, die ihre eigene Software entwickeln oder diese von andern Firmen auf ihre spezifischen Wünschen anpassen lassen. Für das Terminal der UniBwM wurde im Rahmen einer Bachelorarbeit aufgrund der sehr spezifischen Anforderungen die zweite Variante gewählt. Weitere Informationen hierzu sind im Artikel Touchscreen-basiertes Campus-Navigationssystem für die Universität der Bundeswehr München beschrieben.

Touchscreen-basiertes Campus-Navigationssystem für die Universität der Bundeswehr München

[toc]Dieser Artikel beschreibt die wesentlichen Ergebnisse der Bachelorarbeit „Konzeption und Umsetzung eines Touchscreen-basierten Campus-Navigationssystems für die Universität der Bundeswehr München“ von Markus Schran. Ziel der Bachelorarbeit war die Konzeption und prototypische Umsetzung eines stationären Navigationssystems auf einem Outdoor-Kiosk-Terminal. Hierzu wurde zunächst zur Verfügung stehendes Kartenmaterial gesammelt und anwendungsspezifisch bewertet. Anschließend wurde der Besucherverkehr der Universität über mehrerer Tage protokolliert, bevor verschiedene Umsetzungsmöglichkeiten im Bezug auf Programmiersprache und Software Entwicklungstools gegeneinander abgewogen werden konnten. Das Ziel der praktischen Arbeit bestand darin, ein benutzerfreundliches und übersichtliches Programm für das touchscreen-basierte Terminal  zu programmieren. Neben den Grundfunktionen des Programms befasste sich die Arbeit vor allem mit späteren Weiterentwicklungsmöglichkeiten. Nach einer kurzen Einführung in die grundlegende Problematik werden in diesem Artikel die wichtigsten Schritte der Arbeit sowie die erzeugten Artefakte vorgestellt.

„Touchscreen-basiertes Campus-Navigationssystem für die Universität der Bundeswehr München“ weiterlesen

Vergleich von Definitionen für Natural User Interfaces

Natürliche Benutzerschnittstellen (engl. „Natural User Interfaces“, kurz NUI) stellen nach der Ära der Kommandozeilenbedienung und der grafischen Benutzeroberflächen eine neue Generation der Mensch-Computer Interaktion (engl. „Human-Computer Interaction“, kurz HCI) dar

Die erste Generation der HCI waren Command-Line Interfaces (CLI). Auf einer monochromen Darstellungsfläche konnte der Benutzer durch eine vorgegebene Menge von Befehlen Manipulationen am System oder den Dateien, die das System enthält, vornehmen. Dabei erforderte diese Form der Interaktion eine strikte Einhaltung der Syntax eines Befehls, sodass der Nutzer nur mit dem Wissen über die verfügbaren Befehle und unter erhöhter Konzentration zur Einhaltung der syntaktischen Vorgaben Manipulationen vornehmen konnte. Die Eingabe erfolgte ausschließlich über eine Tastatur.

[singlepic id=568 w=320 h=240 float=none]

Die zweite Generation der Benutzerschnittstellen sind die heute weit verbreiteten grafischen Benutzerschnittstellen (GUI). Neben einer größeren Farbvielfalt sorgten besonders einge Metaphern in der Gestaltung der Darstellung dafür, dass die Bedienung eines Computers deutlich vereinfacht und somit für eine breitere Nutzergruppe zugänglich wurde. So haben die Desktopmetapher, welche die Oberfläche, auf der der Nutzer interagiert einem Schreibtisch nachempfindet und das WIMP-Prinzip, dass die Zusammensetzung der grafischen Komponenten in Fenster (engl. Windows), Symbole (engl. Icons), Menüs (engl. Menus)  und Zeiger bzw. Zeigegeräte (engl. Pointer bzw. Pointing Device) einführte bis heute Bestand. Häufig werden Maus und Tastatur zur Interaktion genutzt.

[singlepic id=566 w=320 h=240 float=none]

Die dritte Generation der Benutzerschnittstelle, die erst seit wenigen Jahren unter diesem Begriff eine eigene Entwicklungsrichtung der Gestaltung der HCI darstellt, sind Natural User Interfaces (NUI). Die Gestaltung der Darstellung und der Interaktion solerfolgt hier auf natürliche und intuitive Weise, indem auf Fähigkeiten zurückgreifen wird, die ein Nutzer im Laufe seines Lebens erworben hat. Die Interaktionsmechnismen sind vielfältig und verfolgen unterschiedliche Ansätze, die von Touchscreens über eine Steuerung durch spezielle Zeigegeräte wie der WiiRemote bis hin zu einer Gestensteuerung mit dem gesamten Körper reichen.

[singlepic id=303 w=320 h=240 float=none]

Anders als bei den beiden schon seit mehreren Jahrzehnten etablierten Formen der HCI gibt es jedoch wegen der dynamischen Entwicklung im Forschungsfeld NUI innerhalb der vergangenen beiden Jahre noch keine einheitliche, allgemein anerkannte Definition. Nachfolgend werden einige Definitionen vorgestellt, deren enthaltene Ansichten beschrieben und miteineander verglichen werden, um das derzeitige vorherrschende Verständnis von NUI in Wissenschaft und Praxis aufzuzeigen.

Überblick über existierende Definition

Einige der bereits existirenden Definition beziehen sich auf unteschiedliche Konzepte und Theorien und gewichten gemeinsame Aspekte verschieden. Folgende Beispiele verdeutlichen diesen Sachverhalt:

Blake 2010:

A natural user interface is a user interface designed to reuse existing skills for interacting directly with content. [Blake 2010, S. 2][ref]Blake, Joshua (2010): The Natural User Interface Revolution. In: Natural User Interfaces in .Net, 1. Auflage, Greenwich, USA: Manning Publications.[/ref]

Diese Definition von Joshua Blake enthält folgende Aspekte:

  1. Ein NUI ist „designed“. Es bedarf also einer gezielten Gestaltung eines Interaktionmechnismus durch den Entwickler, sodass die Form der Interaktion sowohl für den Nutzer, als auch für den Inhalt und den Kontext geeignet ist.
  2. Ein NUI baut auf dem „reuse of existing skills“ auf. Es ermöglicht also die Wiederverwendung von Fähigkeiten, die der Nutzer im Laufe seines Lebens (z.B. bei der zwischenmenschlichen Kommunikation) erworben hat und die es ihm erlauben ein NUI ohne vorherige Anleitung zu nutzen.
  3. Ein NUI erlaubt „interacting directly with the content“. Der Nutzer muss also die Möglichkeit haben, Inhalte direkt durch sein Handeln zu manipulieren.

Bollhoefer et al. 2009:

Ein Natural User Interface (NUI) beschreibt ein Interface, welches unmittelbar durch einen oder mehrere Sinne des Benutzers bedient wird. [Bollhoefer et al. 2009, S.6][ref]Bollhoefer, Klaas Wilhelm; Meyer, Kerstin & Witzsche, Rosina (2009): White Paper Microsoft Surface und das Natural User Interface ( NUI ). , Berlin.[/ref]

Bei dieser Definition eines NUI stellen Bollhoefer et al. folgende Aspekte heraus:

  1. Die unmittelbare, direkte Interaktion und damit auch eine direkte Manipulation.
  2. Die Nutzung eines oder mehrerer Sinne des Benutzers.

Monson-Haefel 2010:

A Natural User Interface is a human-computer interface that models interactions between people and the natural environment. [Monson-Haefel 2010][ref]Monson-Haefel, Richard (2010): NUI Defined. URL: http://theclevermonkey.blogspot.com/2010/01/nui-defined.html. Letzter Abruf: 12.07.2011.[/ref]

Richard Monson-Haefel stellt also folgende Aspekte heraus:

  1. Ein NUI ist eine besondere Ausprägung von HCI.
  2. Ein NUI bildet die Interaktion eines Nutzers mit seiner natürlichen Umgebung (Wasser, Bäume, etc.), nicht jedoch mit seiner künstlichen Umgebung (Autos, Computer) ab.

Vergleich der Definitionen

Autor Blake 2010
Bollhoefer et al. 2009
Monson-Haefel 2010
Gemeinsamkeiten direkte Manipulation
Unterschiede
  • designed für Nutzer, Inhalt und Kontext
  • Nutzung von Fähigkeiten zur Interaktion
  • Nutzung der Sinne zur Interaktion
  • Abbildung des natürlichen Nuterverhaltens zur Interaktion

Aus der Tabelle geht hervor, dass lediglich die direkte Manipulation von Inhalten durch die Benutzerinteraktion als gemeinsames Merkmal aller drei Definitionen auftritt. Außerdem beantworten alle Definitionen die Frage, womit aus Sicht des Nutzers interagiert wird (Fähigkeiten, Sinne, natürliches Verhalten), gehen jedoch auf keine konkrete Ausprägung von dieser Interaktion, wie beispielsweise Multi-Touch Interfaces (z.B. MS Surface[ref] Weitere Informationen zum Microsoft Surface sind erhältlich unter http://www.microsoft.com/surface/en/us/default.aspx [/ref], Apple iPhone[ref]Weitere Informationen zum Apple iPhone sind erhältlich unter http://www.apple.com/de/iphone/[/ref], etc.), Gestensteuerung (MS Kinect[ref]Weitere Informationen zu Microsoft Kinect sind erhältlich unter http://www.xbox.com/de-DE/Kinect[/ref], etc.), gerätevermittelte Interaktion (Nintendo WiiRemote[ref]Weitere Informationen zur Nintendo WiiRemote sind erhältlich unter http://www.nintendo.de/NOE/de_DE/systems/technische_details_1072.html[/ref], Air Mouse Konzepte[ref]Ein Beispiel hierfür ist die Logitech MX Air[/ref], etc.) ein.

Fazit

Es existieren bereits einige Definitionen von „Natural User Interface“, die zum Teil Überschneidungen zeigen, zum Teil jedoch auch sehr unterschiedlich Ansätze verfolgen. Daher besteht im Rahmen des wissenschaftlichen Diskurses mit der Materie die Notwendigkeit, eine Definition abzuleiten, die sowohl die Aspekte bereits existierender Definitionen aufgreift, als auch für zukünftige Entwicklungen im Umfeld der NUI ihre Gültigkeit behält.