bloggen mit 300 Baud – das Weblog von Andreas Bischoff
Das HTML5 Geolocation-Feature interessiert mich schon eine ganze Weile. Im Juli letzten Jahres habe ich in meinem Blog eine Lösung basierend auf Openstreetmap, bzw. genauer dem großartigen Openlayers-Projekt, vorgestellt. Weil diese Seite recht viel Traffic über Google erzeugt, nun auch in meinem Blog einen ausführlicheren Artikel dazu.
Ich habe das Beispiel nun um eine Detektion der Screensize und eine live-Aktualisierung erweitert, so das nun eine rein webbasierte ‘moving map’ a la Google maps plattformübergreifend zur Verfügung steht. Richtig spannend wird diese Seite erst wenn Sie sich bewegen (z.B mit mit einem Smartphone/iPad oder Netbook), der Browser aktualisiert dann Ihre Position!
Also in etwa die Google maps Funtionalität, rein HTML5-webbasiert und ohne Google. Das stimmt leider nicht wirklich, da beispielsweise im Firefox-Browser auch wieder Google als ‘embedded location provider’ eingetragen ist. Glauben Sie nicht? Einfach einmal about:config in die Adresszeile des Browsers eingeben (das ist die Browser-Konfiguration für Erwachsene
) und nach dem Schlüssel ‘geo.wifi’ suchen. Der Browser holt die Position per JSON bei Google https://www.google.com/loc/json ab. Wie genau Ihre Position bestimmt werden kann hängt vom Location Provider bzw. von der Implementierung Ihres Browsers und der eingeschalteten Quellen für die Lokalisation (WLAN/GSM/GPS) ab. Wenn diese Quellen nicht eingeschaltet sind, z.B. bei einem PC ohne WLAN, versucht Google die Position anhand der IP-Adresse bzw. anhand von Whois Records zu erraten. Das klappt erstaunlich genau.
Das Beispiel ist hier als iframe in mein Blog eingebettet und funktioniert auf allen HTML5 fähigen Browsern auch auf Android-Smartphones (ab 2.3 Gingerbread) und dem iPhone/iPad/iPod touch:
Benutzen Sie diesen Link um die Karte direkt auf Ihrem Android bzw IOS Smartphone anzuzeigen.
Nicht erschrecken, der Browser sollte beim Laden nun artig fragen ob diese Webseite Ihre Position erfahren darf. Dabei handelt es sich um ein HTML5-Geolocation-Feature.
Hier ist der einfache Quellcode zu sehen, ein bisschen Javascript meinerseits plus OpenLayer.js:
HTML5 geolocation:
HTML5 geolocation
with Openstreetmap and OpenLayers
For Android Froyo,iPhone,iPAD,iPod
Your position estimated by browser geolocation API:
(will be displayed here)
Andreas Bischoff
(view source to see how it works, or read my blog
Nachdem ich bereits mit Layar experimentiert hatte, war ich gespannt ob sich ein Campusinformationssystem auch mit Mixare realisieren lässt. Die Funktionalität ist ganz ähnlich zu Layar, auch hier können eigene Ortsinformation über einen Webservice im JSON-Format zur Verfügung gestellt werden. Ein großer Vorteil ist bei dem Open Source Projekt Mixare, daß eine eigene Uni Duisburg-Essen-App damit erstellt werden kann die nicht mehr von den Nutzern konfiguriert werden muss. Auch Mixare ist für Android und das iPhone (IOS) verfügbar.
Auch Mixare bietet alternativ zu der Mixed Reality Kamerasicht eine Listen- und Kartenansicht:
Die Mixare-App bekommt man im Google-Market:
QR-Code mit Link in den Arndoid-Market
Bei Own-URL muss derzeit noch
http://www.uni-due.de/~zim026/mixare/test.php eingetragen werden. Ich arbeite an einer Version bei der dieser Eintrag nicht mehr nötig ist.
Bei Github gibt es auch eine Mixare-iPhone-Version.
Ich experimentiere im Moment mit Layar einer Augmented Reality App für Android und das iPhone. Ich habe ein eigenes Layer für die Gebäude auf dem Uni-Campus erstellt. Leider ist es gerade zu dunkel für einen Screenshot. Deshalb vom Bahnhof aus dem RE1
ein Screenshot in Richtung ZIM Gebäeude in der Schützenbahn (Gebäude SH)). Wenn der Layer komplett und freigegeben ist, wird daraus ein komfortables Campus-Navigations-Tool.
Update:
Bei Licht betrachtet sieht das doch schon ganz anders aus (angepasst an das CI):


Und noch einmal als 2D-Karte und als Liste::


In Duisburg:
UPDATE:
Hier wird ein Augmented Reality-basiertes Campusinformationssystem für mobile Geräte vorgeschlagen, das plattformunabhängig eingesetzt werden kann. Es handelt sich hierbei nicht um eine native App für das iPhone oder Android sondern um eine Ebene, ein ‘Layer’, für die Applikation Layar, welche für IOS, Android und Symbian erhältlich ist. Layar verfügt über eine API welche die Anbindung externer Webservices ermöglicht, die über JSON mit der Layar Applikation kommunizieren.
Eine eigene UniDUE-’Layer’ bildet Gebäudeinformationen angereichert mit Links an, ist öffentlich zugänglich und kann gemeinsam mit der Layer-App eine Augmented Reality Umgebung für den Campus realisieren.
Diese Prototyp-Layer kann folgendermaßen ausprobiert werden:
Android:
Im Market auf dem Smartphone nach “Layar” suchen (kostenlos) und installieren. (bzw. im Web-Market: https://market.android.com/details?id=com.layar)
iPhone:
Die kostenlose Layar-App: Augmented Reality für das iPhone:
http://itunes.apple.com/us/app/layar-reality-browser/id334404207
Nokia OVI Symbian (ungetestet):
http://www.layar.com/download/symbian/
Alle Plattformen:
Es handelt sich um einen Prototypen, der derzeit nur einen kleinen Teil der Gebäude abdeckt. Der unterlagerte Webservice lässt sich zukünftig auch für alternative webbasierte-Client-Apps, beispielsweise basierend auf Sencha Touch oder iwebkit, wiederverwenden.
Nachdem Android das iPhone (IOS) bei Neuverkäufen überholt hat kann man bei meiner neuen Errungenschaft (mein drittes Android Gerät
) dem Vodafone 845 (eigentlich ein Huawei U8120, Codename Joy) von dem iPhone-Killer an sich sprechen. Dieses Telefon wird im Vodafone Online-Shop recht gut versteckt für 99 Euro ohne Vertrag und ohne SIM- bzw. Netlock angeboten und kann eigentlich alles was ein iPhone auch kann, nur das Betriebssystem ist offener und innovativer. Eigentlich seltsam, dass dieses Telefon nicht offensiver beworben wird. Es verfügt über UMTS (3G) mit EDGE, HSDPA, WLAN, Bluetooth, GPS, Kamera und Kompass (wichtig für Augmented Reality-Apps). Zusammen mit einer Datenflat (heutzutage als Prepaid oder Vertrag mit monatlicher Kündigungsmöglichkeit für unter 10 Euro im Monat zu haben! Bei Teletarif gibt es eine schöne aktuelle Tarifübersicht dazu!) ein unschlagbar günstiges Smartphone das eigentlich alles kann. Mit den Einstellungen zur Privatsphäre sollte man sich ein wenig beschäftigen, sonst weiß Google noch mehr
über unser Leben. Ohne Google-Account geht bei Android fast gar nichts, mit Google Lattitude, einem sehr interessanten ortsbezogenem Dienst, kann man seinen Aufenthaltsort seinen Freunden offenlegen, sofern man das möchte, schöne neue Welt. Wirklich erschreckend, Lattitude errät anhand des Bewegungsprofiles den Arbeits- und Wohnort.
Für das Telefon gibt es bereits eine Community die an einem Froyo-Port arbeitet. Root-Zugang kann man auch sehr leicht bekommen um das Gerät beispielsweise für Wifi-Tethering einzusetzen. Wenn man schon ein Telefon mit einem Linux-Kernel betreibt möchte man natürlich auch Root-Rechte besitzen.
Auf dem zweiten Foto sieht man meine bisherige Android-History. Begonnen hat es mit einem SmartQ5 MID (Mobile Internet Device) das mit Ubuntu (ja wirklich, Ubuntu für ARM) ausgeliefert wurde. Allerdings wurde die (wie immer völlig überladene) Ubuntu-Oberfläche sehr schlecht an die eingeschränkten Ressourcen des Geräts angepasst und der an sich großartige Midori Browser der Distribution lief nicht sehr stabil (lag aber an irgendeiner unterlagerten Library, auf Ubuntu Netbook X86 läuft der sehr gut). Als dann Ende 2009 ein Android 1.6 Image dafür erschien, probierte ich Android aus und war sofort begeistert.
Weiter ging es dann mit einem HTC-Kaiser für den es eine sehr lebendige Community ebenfalls bei XDA-Developer gehosted aktiv entwickelt.
Nachdem ich aber eine Weile lang im wöchentlichen Wechsel diverse Eclair- und Froyo-Versionen auf dem Gerät ausprobiert habe, erschien das Vodafone 845 mit Kompass, den ich für Wikitube und Layar gebrauchen kann. Für 99 Euro habe ich es dann einfach gekauft, damit ich ein Gerät habe, das immer funktioniert. Das Telefon ist schön klein, der Touchscreen hat allerdings auch nur 240 x 320 Pixel und ist resistiv. Die Verarbeitung ist okay, der Prozessor ist relativ langsam und die Akkulaufzeit ist nicht berauschend, aber der Preis ist für die gebotenen Features unschlagbar! Na ja, das xPhone ist natürlich noch besser
.
Hier der zweite Teil des Hands-On, sollte eigentlich nur zum Geolocation API sein, aber aus aktuellem Anlass auch zu Location based Services und Privatsphäre.
Das HTML5 Geolocation API funktioniert im Safari auf dem iPad ganz ausgezeichnet.
Artig fragt hier der Safari um Erlaubnis, gibt aber wohl (wie auch Google-Maps mobile, hatte ich schon im März 2009 vermutet, ganz unten im Artikel) die SSID aller WLANs in der Umgebung an Apple weiter.
Leider gibt es das iPad nur mit verspiegeltem Display, also zum arbeiten nicht zu gebrauchen, schade.
Die Aufregung in der Fachwelt verwundert mich ein wenig. Die Anbieter solcher Location based Services wären doch ohne solche Informationen von den mobilen Clients gar nicht in der Lage ihre Datenbanken aufzufüllen. Den betroffenen Nutzern sollte aber klar sein, dass solche Dinge immer Auswirkungen auf die Privatsphäre haben. Außerdem sind ja nun anscheinend die iPhone- und iPod-Nutzer als Wardriver unterwegs, spüren WLAN-Netze auf und geben diese Informationen an Server in den USA weiter. Mit deutschen Datenschutzgesetzen ist das mit Sicherheit nicht vereinbar. Aber ohne SSID-Datenbanken keine Funktionalität, so einfach ist das. Wer aber nicht möchte das Informationen über seinen Aufenthalt publik werden könnten, darf diese Daten nicht an Google oder Apple weitergeben. Was einfach fehlt ist, wie auch bei sozialen Netzwerken, Sachverstand und ein verantwortungsvoller Umgang mit diesen Techniken.
HTML-Geolocation kann hier (auch einmal ohne Google Maps
) ausprobiert werden: Openstreetmap HTML5 Geolocation, optimiert für kleine Displays, Android Froyo, iPhone, iPad, iPod touch.
Für die Learntec 2009 habe ich wieder neue Features für das Pediaphon realisiert.
Aufgrund vieler Anfragen habe ich nun auch die Möglichkeit integriert auch
andere Webseiten mit den Pediaphon Stimmen anzuhören. Das war schon immer
prinzipiell leicht möglich, es gab aber rechtliche Bedenken meinerseits,
weil der Pediaphon-Server in den Logfiles der beliebigen aufgerufenen
Seiten, die möglicherweise auch rechtswiedrige Inhalte wiedergeben,
auftauchen würde. Ein zweiter Punkt rein technischer Natur ist, dass für
beliebige Seiten der Nutztext nicht automatisch von der Navigation
unterschieden werden kann (Wikipedia-Seiten haben dank Mediawiki eine
einheitliche Struktur). Beide Einschränkungen können aber nun durch den
Einsatz eines Bookmaklets (http://de.wikipedia.org/wiki/Bookmarklet)
überwunden werden. Ein Bookmarklet ist eine kleines Javascript, dass sich
als Lesezeichen oder Favorit im Browser ablegen lässt und bestimmte
Funktionalitäten realisiert. Im Fall des Pediaphons wird durch den Aufruf
des Bookmaklets ein zuvor markierter Text auf einer beliebigen Webseite
automatisch durch das Pediaphon gesprochen ohne dass auf dem Client
zusätzliche Software installiert werden muss. Die Nutzer markieren selber
den sinnvollen Text und der Browser des Nutzers gibt den Text direkt an den
Pediaphon-Server, so das dieser nicht in den Logfiles der besuchten Site
auftaucht.
Diese Variante des Pediaphons kann unter
http://pediaphon.fernuni-hagen.de/~bischoff/radiopedia/sprich.html
ausprobiert werden.
Zusätzlich habe ich das Benutzerinterface überarbeitet und neue Features wie
weitere Stimmen (jetzt 7 deutschsprachige und 4 englische) und wählbare
Sprechgeschwindigkeiten integriert.
Die ortsbezogene Variante des Pediaphon (der am Besten zur Position des
Nutzers passende Wikipedia-Artikel wird vorgelesen) wurde um eine
Unterstützung des Google Gears Geolocation API erweitert. Für die Benutzer
bedeutet dieses: Ihre Position wird automatisch mit Hilfe von Google-Gears bestimmt. Google-Gears muss hierzu installiert sein (verfügbar für Linux, Windows XP/Vista, Windows Mobile, Android, MacOS).
Mit XP und Android habe ich es ausprobiert, mein WM5 wird leider nicht von
Gears unterstützt. Die Position wird in diesem Fall mit Hilfe von Daten des
Providers (CellID, Seriennummer des Mobilfunkmastes an dem das Handy
angemeldet ist, LAC, Location Area Code, MCC Mobile Country Code) ermittelt.
Google füllt meiner Ansicht nach automatisch seine Datenbanken mit Daten von
Google Maps mobile Nutzern, die über einen GPS Empfänger verfügen.
Zusätzliche Ortsinformationen wie empfangene WLANs (bei aktiviertem
Empfänger) und IP-Nummern die Aufschluss über die Position geben können,
werden an Google übermittelt und ermöglichen so eine Lokalisierung nur mit
WLAN bzw. IP-Adressen. Über die Auswirkungen auf die eigene Privatsphäre
sollte man sich bei der Benutzung solcher Locacion based Services im Klaren
sein.

Foto: Bernd Müller, KSW
Es gibt einige Neuerungen zum Pediaphon zu berichten.
Neben der Unterstützung des freien Ogg-Forbis-Audioformates
(aufgrund von Nutzeranfragen) ist nun auch eine ortsabhängige Variante
des Pediaphons entwickelt worden, welche abhängig von der Position
des Nutzers einen möglichst gut passenden Wikipedia-Artikel vorliest.
Viele Wikipedia-Artikel über Orte, Städte, Stadtteile, Monumente,
Gebäude etc. sind seit einiger Zeit in den Artikeln auch mit
GPS-Koordinaten angegeben (Neudeutsch georeferenziert). Ist die Position eines
Benutzers bekannt, kann nun nach Artikeln gesucht werden, die Dinge in
seiner Nähe beschreiben. Das Ganze ist möglich geworden durch das WikiProjekt
Georeferenzierung, wo an der Georeferenzierung möglichst vieler Artikel
gearbeitet wird. Der Webservice
geonames.org bietet ein sogenanntes ‘reverse geocoding’, mit dem zu einem
gewählten Ort die nächstgelegenen georeferenzierten Artikel gefunden werden
können. Diese Dienste werden nun vom Pediaphon automatisch abgefragt,
um den am besten passenden Artikel zu finden und zu sprechen.
Das Pediaphon kann so nun als sprechender Reiseführer zum
kontextabhängigen mobilen Lernen eingesetzt werden.
Das Web-Interface dazu findet sich unter
http://pediaphon.fernuni-hagen.de/~bischoff/radiopedia/gis.html
Hinzugekommen ist nun auch ein kleines Google-Maps Mash-up.
Neben der geschätzten Position des Nutzers (roter Marker) und der Position des
am besten passenden Artikels (blauer Marker) werden vier weitere Artikel
in der Nähe des Nutzers (grüne Marker) angezeigt. Mit einem Klick auf diese Marker kann sofort das Pediaphon mit der Erzeugung der entsprechenden MP3-Version des Artikels beginnen. Realisiert wurde diese Funktionalität mit dem
Google-Maps-API.
Seine Position kann ein Benutzer wahlweise als GPS-Koordinaten im
WGS84-Format, als Gauß-Krüger-Koordinaten, als CellID oder als
Adresse übergeben.

Wenn ein mobiler Benutzer über keinen GPS-Empfänger verfügt, kann er die
sogenannte CellID, die eindeutige Bezeichnung (eine Ziffer)
einer Mobilfunkzelle, mit einigen Mobiltelefonen anzeigen lassen
und zur Lokalisation verwenden (momentan nur O2, mit Hilfe von
Patriks GSM-Seiten). Einige Smartphones,
wie beispielsweise alte Nokia Communicator, neue Nokia Smartphones
und Windows Mobile Geräte (mit spezieller Software,
sehr empfehlenswert: CellProfileSwitcher), erlauben die
permanente Anzeige der CellID.
Alternativ kann
mit jedem Handy im O2-Netz über den Nachrichtenkanal 221
(auch Cell broadcast genannt) die Position des Mastes der aktuellen Mobilfunkzelle kostenfrei empfangen werden. Das sollte jedes Handy beherrschen.
Neben einem Web- und WAP-basierten
ortsbezogenen Dienst ist nun auch ein Telefonie-basierter Location based Service per SMS hinzugekommen. Diese Dienst funktioniert folgendermaßen:
Senden Sie eine SMS mit dem Schlüsselwort ‘pedia’ gefolgt vom Schlüsselwort
‘ort’ und einer Adresse wie bei Google Maps (minimal nur die
Postleitzahl)
oder gefolgt vom Schlüsselwort ‘gps’ und den GPS-Koordinaten
oder
gefolgt vom Schlüsselwort ‘cell’ und der CellID der Mobilfunkzelle
oder gefolgt vom Schlüsselwort ‘gk’ und den Gauß-Krügerkoordinaten der
Mobilfunkzelle
an das Pediaphon: 0151-59111661.
Beispiele:
‘pedia ort Universitätsstr. Hagen DE’ (Adresse wie bei Google-Maps)
oder
‘pedia ort gps 51.377 7.495′ (GPS-Kooordinaten)
oder
‘pedia ort cell 25808′ (O2-GSM-CellID)
oder
‘pedia ort gk 339630569559′ (O2-Gauß-Krüger-Koordinate 12-stellig, kann mit jedem Handy im O2-Netz empfangen werden)
Das Pediaphon spricht nach Anruf der Festnetznummer 0231/1774088 den
Artikel,
der am besten zu Ihrer momentanen Position passt. Lernen Sie kontextabhängig. Benutzen Sie die Wikipedia als sprechenden Reiseführer!
Noch beta, basiert auf iec16022.
Hier ausprobieren:2D-Barcode Generator
Und so sieht das Ergebnis aus (hier der URL dieses Blogs):

Diese 2D-Barcodes eignen sich wunderbar um z.B. URLs zu kodieren, die mit
Kamera-Mobiltelefonen mit Hilfe einer Erkennungssoftware
ausgelesen (z.B. Quickmark, erhältlich für viele Smartphones (Symbian und
Windows Mobile) und Windows) werden können.
Für den Benutzer entfällt hiermit das lästige eintippen von URLs auf der
limitierten Tastatur eines Telefons. Siehe auch Semapedia.org. Mein Generator
funktioniert im Gegensatz zu Semapedia mit nahezu beliebigen URLs.
Meine Dissertation “Virtual Reality und Streaming – Technologien in der Web
- basierten multimedialen Lehre und für Ubiquitous Computing” ist soeben bei
Libri im Online-Shop erschienen:
Andreas Bischoff: Virtual Reality und Streaming – Technologien
in der Web – basierten multimedialen Lehre
und für Ubiquitous Computing
74 Farbseiten.
Books on Demand GmbH
Oktober 2006 – kartoniert – 228 Seiten