2006-11-18

New Kid on the Block

Da sich die letzten Artikel immer nur um das Thema Google Maps gedreht haben, heute mal was ganz anderes: Yahoo Maps. Yahoo bietet zwar auch schon länger einen eigenen Kartendienst an, und wohl auch schon länger eine Schnittstelle, um diese Karten auf eigenen Web-Seiten einzubinden. Aber erst ein Artikel im Heise-Newsticker, bzw. die größtenteils völlig unqualifizierten Forumsbeiträge, haben mich dazu bewogen, mir Yahoo näher anzusehen und die beiden Konkurenten miteinander zu vergleichen. Und um einen wirklich direkten Vergleich zu ermöglichen, habe ich kurzerhand eine Seite mit einem "Google and Yahoo Maps Bakeoff" erstellt. Es wird der gleiche Kartenausschnitt einfach zweimal dargestellt, einmal von Google und einmal von Yahoo. Beide Karten sind miteinander synchronisiert, d.h. wenn man in der einen den Ausschnitt oder die Vergrößerung ändert, wird dieser Vorgang in der anderen Karte nachvollzogen. Nur der Wechsel zwischen den verschiedenen Kartendarstellungen (gezeichnet, Satellitenaufnahme oder hybrid) läßt sich nicht ohne weiteres erkennen und auf die andere Karte übertragen. Die Unterschiede sind recht interessant. In der Regel hat Google die besseren Karten, im wahrsten Sinne des Wortes. Der Anteil an hochauflösend dargestellten Bereichen Deutschlands ist sehr viel größer. Auf der anderen Seite kann Yahoo aber in bestimmten Regionen auftrumpfen, und eine davon ist zufälligerweise der Großraum Bielefeld. Während dieser bei Google ja nach wie vor nur in schlechter Qualität vorhanden ist (und ausserdem um einige Kilometer verschoben ist), kann man sich bei Yahoo die Bielefelder Innenstadt oder den Obersee bildschirmfüllend ansehen. Die Aufnahmen wurden zwar augenscheinlich im Winter und bei verhältnismäßig tief stehender Sonne gemacht, aber man ist ja bescheiden geworden. Die APIs der beiden Dienste sind erstaunlich ähnlich, was sicherlich auch daran liegt, dass beide im Prinzip die gleiche Funktionalität bieten. Die relevanten Events auf einer der beiden Karten zu erkennen und auf die jeweils andere Karte zu übertragen ist ein Kinderspiel. Lediglich der Zoomlevel ist in beiden Applikationen anders: Während bei Google größere Werte in die Karte hineinzoomen, bewirken sie bei Yahoo den gegenteiligen Effekt. Trotzdem sind die zugrundeliegenden Zoom-Stufen aber die gleichen, die beiden Vergleichskarten zeigen im Prinzip immer pixelgenau den gleichen Ausschnitt an. Das Yahoo-API erlaubt genauso wie Google, eigene Informationen einzublenden und verfügt auch über einen Geocoder. Ich weiss noch nicht genau, mit welchem der beiden Systeme ich in Zukunft arbeiten werde. Da die APIs aber so ähnlich sind, könnte man vermutlich auch eine zusätzliche Abstraktionsschicht zwischen Anwendung und Karten-API legen, so dass man beliebig zwischen den beiden Diensten wechseln kann. Es würde mich nicht wundern, wenn schon bald entsprechende Lösungen angeboten würden. Update: Falls man schöne oder interessante Beispiele findet, wo sich die beiden Karten unterscheiden, kann man diese nun verlinken und bookmarken. So ist z.B. die A33 bei Google bereits fertig ausgebaut, während Yahoo den derzeit aktuellen Stand zeigt. Dieser am Meer gelegenen Parkplatz bei Athen ist entweder irgendwann einmal Opfer einer Überflutung geworden, oder der Anbau ist dem Wasser abgetrotzt werden. Und der Flughafen "El Prat" bei Barcelona ist vor und nach seiner Erweiterung zu sehen. Weitere Beispiele dürfen gerne per Kommentar an diesen Artikel angefügt werden.

2006-11-12

noch'n Mashup

Bei der Suche nach Informationen, die man geokodieren und mit Google Maps darstellen kann, haben sich bisher nicht allzuviele Anwendungen aufgedrängt. Viele interessante Daten sind nämlich nicht mit Ortsinformationen versehen, oder lassen sich nicht so ohne weiteres damit verknüpfen. Bei einer Sache ist etwas unklar, ob bzw. wie gut es geht: IP-Adressen. Nachdem ich ja bereitwillig darüber Auskunft gebe, wann ich mich wo aufhalte, ist es meiner Meinung nach nur fair, wenn auch die Leser meiner Webseiten die gleiche Offenheit an den Tag legen. Für meinen Webserver www.oe-files.de habe ich daher zwei Mashups gemacht. Das erste zeigt die gerngesehenen Leser, die typischerweise via Google auf die Folien zu meinen Kursen stoßen. Da ich es mit der Überwachung aber auch nicht übertreiben will, zeige ich weder die genaue IP-Adresse, die Zahl der Zugriffe, die angefragten Daten noch den Zeitpunkt oder die Verweildauer an. Die zweite Karte zeigt diejenigen "Leser", die auch gerne wegbleiben könnten: Nämlich diejenigen, die offensichtlich per Scan meinen vServer gefunden haben. In aller Regel sind das Bots, die nach bekannten URLs suchen, über die z.B. PHP-basierte Web-Foren missbraucht werden können. Ich überlasse es jetzt mal jedem einzelnen zu entscheiden, ob diese Zugriffe im Vergleich zu den erstgenannten aus signifikant anderen Regionen der Welt stammen. Da ich als einzige Information nur einen Hostnamen oder eine IP-Adresse habe, ist natürlich die Frage berechtigt, ob sich daraus überhaupt Ortsinformationen sicher ableiten lassen. Zwar gibt es im Prinzip die Möglichkeit, diese Daten dort abzulegen, wo sie sinnvollerweise hingehören, die Zahl der Provider, die RFC 1876 implementieren, dürfte aber verschwindend gering sein. Da IP-Adressen aber nicht völlig willkürlich verteilt werden, sondern ganze Blöcke den RIRs und von dort dann den einzelnen LIRs zugeordnet werden, scheint eine Verknüpfung dennoch möglich zu sein. Man kann sich einen entsprechenden Dienst zwar einkaufen (wobei die Firma auch eine kostenlose Light-Variante anbietet), ich habe mich aber für die Lösung von hostip.info entschieden. Vor allem, weil man über ein ziemlich simples HTTP-API einfach eine IP-Adresse hinschickt und die entsprechenden Ortsinformationen zurückbekommt. Die Qualität der Daten scheint sehr unterschiedlich zu sein. Ich sehe (zumindest jetzt, während ich das hier schreibe) Zugriffe aus Aachen oder aus Mannheim bzw. Walldorf. Da hätte ich schon einen Verdacht, wer das sein könnte :) Andererseits wurde meine eigene, mir von meinem Provider zugewiesene Adresse, zunächst in Hamburg verortet. Man kann das zwar korrigieren, was ich auch gemacht habe, aber ob damit nun nicht andere Adressen fälschlicherweise in Bielefeld landen, ist unklar. Ich lasse das Mashup jetzt erstmal eine Weile laufen, die Karten werden einmal pro Tag aktualisiert. Um die Leser dieses Blogs zu geokodieren, müsste ich ein paar einfache Tricks anwenden, da ich keinen direkten Zugriff auf die log-Daten habe. Aber das ist natürlich kein wirkliches Hindernis... Update: Ich cache jetzt die geocodierten Daten lokal per Datenbank, und frage nur für neue Adressen bei hostip.info nach. Dadurch habe ich keine Bedenken mehr, das update-Intervall deutlich zu verkürzen. Neue, bisher nicht gesehene IP-Adressen, werden nun durch rote Punkte gekennzeichnet.

2006-11-01

Ajax-Vortrag

Auch dieses Semester findet wieder das RBG-Seminar statt, in dem sich aktuelle und ehemalige Systemadministratoren der Universität Bielefeld und sonstige Interessierte über Neuigkeiten aus den Bereichen Administration, Netze, Sicherheit, usw. unterhalten. Die heutige Veranstaltung war zwar recht gut besucht, aber meiner Meinung nach dürfen auch gerne wieder ein paar mehr Studierende vorbeischauen. Ausserdem sind noch einige Termine frei, die nur auf eine(n) Vortragende(n) warten. Ich für meinen Teil habe heute was zum Thema Ajax erzählt (Folien zum Angucken und zum Ausdrucken). Wie habe ich es vermisst, mich mal wieder mit was zu beschäftigen, was mich selber interessiert, und dann anderen davon zu berichten... Ich habe die Beispiele nochmal soweit überarbeitet, dass sie nicht nur in Mozilla/Firefox funktionieren, sondern auch im Internet Explorer und Opera. Zumindest funktionieren sollten. Beim Film-Beispiel wirft der IE eine unverständliche Fehlermeldung, und Opera packt die per XMLHttpRequest nachgeladenen Daten nicht an die vorgesehene Stelle. Ich weiss im Augenblick nicht, woran das liegt. Aber zumindest die einfachen Beispiele am Anfang laufen in allen drei Browsern. Konqueror/Safari kann ich wieder nicht testen, da bitte ich um Rückmeldung, wie sich die Beispiele dort verhalten.