Anwendungsbeispiele von Mappinglösungen [Vortrag]

Bernd Langkau beginnt mit einer Weltkarte um 1548, weiter zum Deutschen Schulatlas Diercke und 1975 (mit veralteten Karten) und Bernd’s erstes Karten-Projekt im Internet um 1996. Aufwand damals zur Erstellung über einen Tag: Bibliothek, Scanning, Photoshop, HTML-Imagemap… der Footer „beweist“ Bernd’s langer Weg im Internet, deshalb ein kleiner Screenshot ;-)

i-50572fd100ed5903fcec3fdcb1c14e91-karte-1996-htc.png

Der Bayer in der Schweiz würde gerne wissen, wo Paulaner Bier in der Schweiz verkauft wird… und einer Argumentation, was sich tatsächlich am verändern ist. Im Kern der Vorteile steht die Integration verschiedener Arten der Informationsdarstellung und -interaktion. Ein gut verständliches Beispiel ist die Telefonbuchsuche nach dem Namen Iten in Oberägeri (138 Treffer) und dort die kombinierte Navigation in der Karte und/oder der Suchfunktion um den relevanten Eintrag rasch zu finden.

i-54fa035c2edf265cd81652e7d016fdc3-local-trefferliste-oberaegeri-thumb.gif

Und dann noch Kleinazeigen auf local.ch sowie die nach Aussage von Langkau sehr gut gemachte Wohnungssuche auf Homegate. Zur Zeit gibt es keine Wohnungen in Oberägeri. Für mich hat das Beispiel eine Hacken, denn weil es keine Wohnung gibt, fehlt Oberägeri gänzlich in der Auswahlliste (zoomen funktioniert jedoch)…

Aber es geht ja weiter mit anderen Beispielen. Ein paar exotische MashUps (vgl. Präsentation) mit Seitenhieben gegen USA („hier ein bisschen Radioaktivität) was denn auch zum Schmunzeln bringt… Ein paar Links: http://hotel-map.4hotels.us, http://www.terrapass.com/flight/flightcalc.html, http://www.globalincidentmap.com/home.php oder http://www.benedictoneill.com/content/newsmap/.

Eine gute Schweizer Übersicht gibt es auf der privaten Website von Roman Koch: Tabellen und Karten zur Geografie der Schweiz.

Und weiter mit Beispielen wie http://www.swisstrains.ch, www.flytecomm.com/cgi-bin/trackflight, www.nexttrack.ch, www.gps-touren.ch, www.ch.map24.com, http://www.redbullxalps.com, http://www.rockstarapps.com/samples/map-compare u.s.w. dem Titel Anwendungsbeispiele wir Bernd wirklich gerecht…

Ausführlicher Zeit Langkau nun die Möglichkeit aus map.search.ch Karten interaktiv um eigene Informationen zu ergänzen und die vergleichbare Funktion bei Google My Maps.

Und hier alle Präsi(s) als Download.

Google (Geo-)Services als Bausteine der Informationsvernetzung [Vortrag]

Joachim Glaubrecht von Google Enterprise beginnt mit einer Übersicht des Geospatial-Angebotes von Google. Nach seiner Aussage werden wir (normale User) immer mehr von der reinen Textsuche zur vermaschten Geosuche geführt werden. Wir dürfen viel erwarten und da alles auf der amerikanische Google-Domäne läuft sollen die Google auf der URL /ncr (=no country redirect) aurufen: http://google.com/ncr.

Bei YouTube gibt es einen eigenen Google Channel unter der folgenden URL: http://youtube.com/google. Videos seien das Schulbuch der Zukunft (und YouTube dient nicht nur dazu denselben Fahrradunfall 30 mal zu sehen). Zur Zeit gibt es (im Moment) von den Google Developer Days ganz viele Filme hier: http://youtube.com/profile?user=GoogleDeveloperDay. All dies sei ein Hinweis darauf, dass Google seine Informationen nicht so stark zurückhält wie alle immer behaupten. OK, nice try…. So auch http://code.google.com.

Als Fundus für Geobeispiele nennt Glaubrecht die (externe) Site Google Maps Mania. Und gleich ein Beispiel einer OneBox Suche auf Google.com bei welcher jede Flugnummer die zur Zeit grad aus Amerika rausfliegt oder nach Amerika fliegt auf einer Karte gezeigt wird (in etwa in Echtzeit). Beispiel ist die Query ba84.

i-0cb60ad99de11abba4554667e0a164cb-ba84-auf-karte-thumb.gif

Und jetzt ein kleiner Werbeblock für Google Apps und Google Enterprise… Aber um einige technische Details ergänzt. Und nochmals: „YouTube ist unser Vehikel zur Kommunikation…“ inklusive der direkten E-Mail Adresse und einer Fragerunde! Danke Herr Glaubrecht.

Und hier alle Präsi(s) als Download.

Mapping-Anwendungen erobern das Internet [Vortrag]

Geo Mapping Anwendungen verändert das Surferverhalten der User. Standorte können mit Hilfe von interaktiven Karten sehr einfach als Points-of-Interest (POIs) visualisiert werden.
Die Folge ist ein Paradigmenwechsel vom textbasierten zum visuellen Browsen strukturierter Inhalte. Zu diesen Thema beginnt gleich eine namics Fachtagung mit einem Referat von Google (Joachim Glaubrecht) und einem von local.ch (Cédric Hüsler). Und hier vorab schon mal alle Präsentationen zum Download.

Google (Geo-)Services als Bausteine der Informationsvernetzung , Joachim Glaubrecht, Google Enterprise [pdf, 2.8 MB]
Anwendungsbeispiele von Mappinglösungen, Dr. Bernd Lagkau, namics [pdf, 10.5 MB]
Die technischen Aspekte von Mapping-Lösungen, Andreas Fischer, namics [pdf, 2.9 MB]
Ihre 3D-Filiale in Google Earth, Marco Zuber, namics [pdf, 2.6 MB]
Technologie-Trends für Mobile Mapping und LBS Dienste, Dr. Martin Widmer, namics [pdf, 2.2 MB]
Mapping Trends, Cédric Hüsler, local.ch [pdf, 3.2 MB]

Mapomania… sie haben einen Gang hochgeschaltet

Geoinformation und Mapping ist ein Riesenthema und zur Zeit investieren viele Firmen (inkl. Google und Microsoft) gigantische Summen. Da in San Jose grad die Konferenz Where 2.0 durch ist, finden sich bei den Anbietern zur Zeit viele neue Funktionen (und das ist wohl erst ein Anfang).

Die Bird’s Eye View von Microsoft beginnt nun auch in der Schweiz Einzug zu halten und wie sich am „roten Platz“ in St. Gallen erkennen lässt ist das Bildmaterial sehr aktuell. Interessant ist die Unterschiedliche Qualität je nach Himmelsrichtung.

i-e8f4f68ef859c9e7842a8a1bb800b222-ms-virtual-earth-st-gallen-thumb.jpg

Auch fast schwindlig wird mir bei Google Street View. Rundumbilder (das hatte A9 zwar schon vor 2 Jahren) mit Strassennamen und Himmelsrichtungen eingeblendet. Und das ganze interaktiv… sehr sehenswert so am Beispiel von San Francisco.

i-a60c9c60ca6913e70a505c2d8f582ab7-google-map-sf-thumb.jpg

PS. Und mehr über den geschäftlichen Einsatz von internetbasierten Geoanwendungen gibt es an einer namics Fachtagung am 14.6. in Zürich.

Location API, Stress und DWR

Mittwoch, 9. Mai, JavaOne 2007

Hinweis: im JavaOne TODAY Newsletter vom Mittwoch wurde der Ablageort sämtlicher Slides der Speeches von JavaOne 2007 publiziert: http://www.cplan.com/javaone2007/contentcatalog (Zugangsdaten über mich).

Bring Map and Navigation Capabilities to Your Location-Based Applications with JSR 293, Location API 2.0

Zu Beginn der Session wurden ein paar nette Zahlen serviert: LBS sei die am schnellsten wachsende Sparte im Wireless Bereich, mehr als 85% aller Subscriber seien an solchen Dienstleistungen interessiert (naja). Ende 2008 würden 25 Prozent aller WCDMA Geräte GPS tauglich sein; also: los gehts! Aber es gibt Hürden: die Lokalisierung und das Mapping. Genau hier setzen die beiden JSR 179 und 293 (Erweiterung von 179) an.

Die Location 2.0 API soll folgende Funktionen regeln:

  • Geocoding (Adresse -> Koordinaten; aber auch Reverse, Koordinaten -> Adresse)
  • Mapping (Das Anzeigen einer Karte)
  • Navigation (Routing)
  • Landmark exchange (einheitliches Format zum Austausch von POIs)

Typische Einsatzgebiete für Anwendungen, die auf Location Based Services basieren, liessen sich folgendermassen kategorisieren: Sicherheit, POI Navigation, Verkehr, Social Networking, Sport und Fitness sowie Gaming. Und eine Map bestehe immer aus einer Kombination von Inhalten der Typen Area (das von der konkreten Map abgedeckte Gebiet), Landmarks (der auf der Map angezeigten POIs), Location (Standort des Subjekts/Objekts) und Route. Was genau auf der Karte dargestellt wird, unterscheide sich aufgrund der „Operation“ auf welcher die aktuelle Map basiert; einerseits können einer Map die darzustellenden Informationen mitgegeben werden. Andererseits kann die Map alle in jenem Umkreis verfügbaren Informationen darstellen.

Eine auf dem Location API basierende Anwendung funktioniert nun (grob) nach dem folgenden Muster: die Klasse ProviderManager bietet den Zugriff auf vorhandene ServiceProvider, von welchen es drei Typen gibt: Geocoding, Map und Navigation. Alle drei Typen erweitern das Interface ServiceProvider und bieten eigene, ihrem Zweck dienende, Methoden an.

Mehr Infos dazu auf jcp.org.

Stress Your Web App Before It Stresses You: Tools and Techniques for Extreme Web Testing

Leider konnte der etwas reisserische Titel zumindest meine Erwartungen nicht erfüllen; die beiden redegewandten und zu Scherzen aufgelegten Brasilianer beschränkten sich neben den üblichen Testtipps (teste NICHT oder zumindest nicht nur die einfachen Fälle etcetera) auf die Vorstellung und Demonstration von Apaches JMeter. Für jemanden der das Tool bisher nicht kannte sicherlich interessant, für mich soweit aber nix neues, leider.

Erwähnenswert an dieser Stelle vielleicht noch das JMeter nicht nur zum parallelen Zugriff und Testen von Webapps verwendet werden kann, sondern auch Tests gegen DB, Mail und andere Server fahren kann.

Hands-on DWR

DWR (Direct Web Remoting) kurz beschrieben: man kann damit sehr schnell und einfach bestehende Java Services oder Controller Klassen als Javascript Bibliotheken exportieren und diese dann mit Ajax ansprechen. Drei Schritte sind dazu notwendig:

  • 1. dwr.jar in Classpath aufnehmen
  • 2. Im web.xml ein DWR Servlet hinzufügen
  • 3: DWR mittels dwr.xml konfigurieren

Fertig. DWR wird im Übrigen mit einem WAR File geliefert, welches Beispiele und die Dokumentation enthält.

Das dies wirklich so einfach funktioniert wies tönt, habe ich bereits selbst ausprobieren können; die POI Layers Anwendung von namics verwendet DWR um per Ajax die POIs auf die Map zu kriegen und – demnächst – um auch neue POIs hinzuzufügen.

Was bei DWR sicherlich von grossem Interesse ist: die Sicherheit. Dieser wird bei DWR grosse Bedeutung beigemessen; grundsätzlich tut DWR daher nichts was man nicht explizit zulässt. So kann man zum Beispiel die Methoden einer Klasse einzeln freigeben und die exportierten Domainklassen (die Return Werte und Übergabeparameter der freigegebenen Methoden), sofern nicht Java Sprachumfang, müssen für den Export ebenfalls freigegeben werden.

Nachdem DWR 1 nun seit etwa 2 Jahren existierte, wurde vor circa 2 Wochen DWR 2 lanciert. Grösste Neuerung dabei ist das sogenannte „Reverse Ajax“. Damit kann der Server die „verbundenen“ Browser über sogenannte Scriptsessions (ein fünfter Scope wenn man so möchte) über neue Daten informieren und diese auch mit Daten versorgen. Auch hier wurde der Sicherheit natürlich grossen Stellenwert beigemessen (Stichwort Cross Site Scripting).

Beeindruckend war das Schiffe-Versenken Spiel realisiert mit Ajax, an der Session haben sie das zu dritt (ein Teilnehmer aus dem Publikum gesellte sich ohne Vorankündigung noch dazu) live demonstriert.

DWR hat im Übrigen auch eine eingebaute Unterstützung für Accessability; sogenannte „Pluggable Notifiers“ informieren den Benutzer etwa bei Veränderungen mittels Ton oder lassen ein Feld aufblinken. Es können auch eigene solche Notifiers entwickelt werden.

JPA 2.0 und Tele Atlas

Mittwoch, 9. Mai, JavaOne 2007

Java Persistence 2.0

Die Java Persistence API 1.0 wurde zusammen mit EJB 3.0 eingeführt – Version 2.0 soll bestehende Schwachpunkte und Bugs ausmerzen sowie fehlende Kompontenten nachliefern. Angestrebt wird dazu ein neuer JSR, der unter anderem folgende an der Session angesprochene Punkte behandelt haben wird.

  • Mehr Flexibilität bei der Gestaltung des zu persistierenden Modells (namentlich unter anderem Embeddables, Ordered lists und multiple Accesstypen pro Klasse)
  • Verbesserungen beim O/R mapping (One-to-many, Single table versus Joined subclasses Strategie)
  • Erweiterte Querying Möglichkeiten (weitere Operatoren und Funktionen oder etwa Beinflussung des Polymorphismus beim SELECT Statement durch Angabe der erlaubten Typen)
  • Criteria queries (hier soll zum Beispiel von Hibernate gelernt werden)
  • Validierung und Wertebereiche (@Required, @Length etcetera)

Der JSR soll demnächst veröffentlicht und die Expertengruppe im Juni 2007 gegründet werden. Ziel ist es, Java Persistence API 2.0 mit EE 6.0 zu realisieren.

JavaOne Pavillon

Heute schaute ich am Stand von Tele Atlas, neben Navteq dem andern grossen Anbieter von Mapdaten, vorbei. Im Grossen und Ganzen gesehen funktionieren die beiden Konkurrenten in ihrem Kerngeschäft (Erfassung von Strassendaten und POIs) identisch, beide erfassen die Strassen mit eigenen Fahrzeugen (ausgerüstet unter anderem mit Kameras) welche ständig unterwegs sind. Allerdings war Tele Atlas „alleine“ am Stand, Navteq hingegen hatte einige Partnerfirmen (Autodesk, deCarte und andere) um sich geschart.

Zwei Angebote von Tele Atlas wurden mir näher vorgestellt: zum einen der „Tele Atlas DeveloperLink“ und zum andern den „Tele Atlas ContentLink„. Ersteres bietet Entwicklern – ohne Kosten – unter anderem den Zugang zu Beispieldaten, weiterführenden Informationen technischer Natur und Diskussionsforen. Der ContentLink von Tele Atlas (offenbar erst seit circa 2 Monaten online) bietet einem Map Anbieter die Möglichkeit nach weiteren Mapinhalten für seine Mapping Anwendung zu suchen. Die POI Datensätze, die auf der ContentLink Webseite gelistet werden, werden direkt von Dritten angeboten und können nach Abschluss einer Vereinbarung mit diesen heruntergeladen und verwendet werden.

Ich als Zugfan 2.0

Sehr nett gemacht und für mich als Zugfan ziemlich begeisternd. MashUps mit Karten gibt es viele und auch bewegliche POIs (Point of Interests) sah ich schon bei gmapsflighttracker.com. Aber Schweizer Züge sind mir ein Post wert: http://www.misdaadkaart.nl/_trains/

i-adfacee131427d2f73638a65961330fe-swisstrains-thumb.gif

Ich meine es sind „nur“ Fahrplandaten, aber der Weg zu einer Ansicht der Verkahrslage in Echtzeit ist nicht mehr fern. Die Daten gäbe es bei der SBB bereits.

PS: Danke an Boris für den Link!

Kartentmaler

Seit dem 1. März gibt es auf map.search.ch eine Zeichenfunktion und sogleich auch den namics Stadtrundgang in St. Gallen (aka namics.jogg :-).

Nun geht Google weiter mit annotated google maps. Der hier beschriebenen Möglichkeit, eigene Kartenpunkte und auch geometrische Formen zu zeichnen und weiter zu verbreiten. Sozusagen ein MashUp ohne Programmierung und ohne „Mash“, da ich die Daten gleich beim Kartenanbieter Google hinterlege.

Witzig ist nun zu verfolgen, was für Karten gemacht werden… Gregor J. Rothfuss (ex Endoxon, nun bei Goggle) legt unter dem Titel „Pork“ mal vor, nimmt Daten ab farmsubsidy.org und zeichnet eine Übersicht von staatlichen Agrarsubventionen in England (Top 20) und in den US (Top 10).

i-584167ede84b1464504a34818e499899-greg-uk-map.gif

Geogruss gefällig

Nachdem ich bei meinem letzten Gruss auf das Alter der Mädchen aufmerksam gemacht wurde, hier eine sachlichere Variante: Ein Geogruss auf www.geogreeting.com.

Und so sieht meine Grusskarte mit „Originalbuchstaben“ auf Google Maps aus (Danke Jan).

i-46e3cc15c09e7ccf747478bb3adef6e2-geo-gruss-thumb.gif

PS: Die Frage die sich stellt ist, wie findet Geogreeting die Buchstaben. Ich würde mal auf Google Sightseeing tippen. Aber bald poste ich eine viel spannenderen Lösungsansatz von Luis von Ahn: Peekaboom.

Mash-ups are More Than Just Maps

What’s your job worth?

By now, everybody has heard about Mash-Ups: combining data from various sources on the Internet to produce exciting, new, easy-to-understand information. Early Mash-Ups combined (often unstructured) text and Google Maps data to help look for a place to live,
find nearby child molesters (sample, original site)
or
follow the progress of the
avian flu
(original data requires Google Earth).

But a good mash-up need not be based on a map, as demonstrated by the job hunting site, indeed.com

Indeed bills itself as a one stop site for job seekers. They apply search engine technology to the job market. Presumably, wherever a job is posted, they notice it, scan it and put it in their database.

Perhaps their most interesting toy is its salary comparison tool. Enter a combination of job titles and/or locations and check out the average salaries. This lets you ask a variety of interesting questions, such as:

Is it worth learning OpenOffice?

Is it cheaper to run a data center with Open Source Software?

MySQL $53,000

Oracle $80,000

DB2 $79,000

SQL Server $74,000

View Larger Salary Graph

What Language Should My Children Learn?

Arabic $42,000

French $33,000

German $39,000

Chinese $34,000

Russian $31,000

Spanish $28,000

Hindu $38,000

View Larger Salary Graph

The questions go on and on:
Should I consider relocating for work?
What is your job title worth?

And in Switzerland? Where are the Swiss Mash-Ups? Any nominations for best Mash-Up based on a Swiss data source? (No, I don’t think displaying SBB data on maps at local.ch or maps.search.ch count, because, useful as they are, AFAIK they are not based on publicly available data or API’s)