mashup blog. Bringing mashups & web 2.0 down to earth.

 
 Sunday, January 27, 2008

Schon einige Male haben wir in diesem Blog berichtet, wie bestimmte Teile von velyoo.com programmiert wurden. Nun gibts ähnliche Erläuterungen und noch viel mehr auch in Buchform. Im letzte Woche im O'Reilly-Verlag erschienenen Buch Mashups programmieren wird auf rund 75 Seiten auf die technische Architektur und die Programmierung von Teilen von velyoo.com eingegangen - und einige interessante Geheimnisse zur Plattform und zur Funktionsweise gelüftet.

Neben Programmieranleitungen für ein Mashups wie velyoo.com wird im Hauptteil des Buches von den Co-Autoren Denny Carl, Joern Clausen und Anatol Zund eine Einführung in die Mashup-Welt, Programmiersprachen und Services gegeben sowie anhand von einigen weiteren sehr interessante Mashup-Beispielen erläutert, wie man selbst einen Mashup erstellen kann. 'Mashups programmieren' ist bei Amazon.de oder im Buchhandel erhältlich.

 

 Wednesday, August 08, 2007

Google hat kürzlich seine Mapplets in die Google MyMaps live geschaltet, nachdem der Preview für Entwickler schon einige Wochen verfügbar war. Mapplets sind kleine Gadgets, welche personalisiert ein Overlay auf die Google Maps erlauben und für jedermann auf Google-Server zum Download bereitgestellt werden können. Damit werden Mashups sozusagen innerhalb der Google Maps möglich, was insbesondere interessant ist, um einen Mashup einer breiten Menge an Nutzern zugänglich zu machen.

Zum Beispiel lassen sich so Wohnungsinserate in die Google Maps hineinrendern. Mittlerweile sind schon über hundert solcher Mapplets verfügbar. Velyoo hat natürlich auch ein entsprechendes Mapplet, welches sich hier zum Download findet.

google | map | mashup | velyoo
 Wednesday, August 16, 2006
Programmableweb.com ist die Adresse im Internet, um sich einen Überblick über die verschiedenen Mashups im Web sowie integrierbare APIs zu verschaffen. Derzeit sind dort über 900, vor allem amerikanische Mashups verzeichnet - und für interessierte unbedingt empfehlenswert. velyoo.com wurde kürzlich dort aufgenommen und mit fünf Sternen bewertet - thank you guys.

 Saturday, August 12, 2006

velyoo verfügt seit kurzem nun ebenfalls über eine Artikeldarstellung mit Google maps. Bei ebay.ch oder ricardo.ch eingestellte Artikel zu bestimmten Themengebieten werden dabei aggregiert auf einer Karte dargestellt und ermöglichen so das lokale Auffinden von Marktplatzartikeln. Dies soll sich insbesondere für solche Artikel von Nutzen sein, welche typischerweise in der Region gekauft werden (bzw. nicht per Post versandt werden können), also z.B. Autos, Motorräder, Fahrräder etc.

Details zur Implementation von Google maps demnächst in diesem blog.

 Saturday, June 24, 2006

Schon seit mehreren Jahren und mittlerweile in einer recht ausgereiften Form bietet eBay sämtliche im eBay Universum eingestellten Artikel über eine API bzw. einen SOAP-Webservice an. Über die API sind nicht nur eingestellte Artikel such- und auslesbar, sondern es können auch Artikel darüber neu eingestellt werden. Dies nutzen mittlerweile z.B. mehrere Duzend Software-Tools, welche ebay Heavy-Usern versprechen wollen, Artikel besser, schneller und schöner in eBay einzustellen, als dies eBay selbst kann (z.B. http://www.supreme-auction.de/).

 

Beschäftigt man sich mit der eBay API etwas genauer, muss man relativ schnell zugeben, dass es eBay ernst ist mit der API. Nicht nur dass die Zugriffsfunktionen auf Artikel sehr umfangreich sind, das ganze mehr oder weniger robust funktioniert und sauber versioniert ist. Auch die über 1’000 Seiten starke Dokumentation beeindruckt. Die brauchts dann allerdings auch, wenn man auf die unterschiedlichen Artikel in den weltweit verteilten eBay Marktplätzen zugreifen will. Nützlich sind fürs Erste auch die Code-Beispiele in verschiedenen Programmiersprachen, welche einen schnellen Einstieg erlauben: In wenigen Stunden kann damit ein einigermassen begabter Programmierer eBay Artikel auslesen und in eine bestehende Applikation integrieren.

 

Befasst man sich etwas intensiver mit der Materie, stellt man aber auch relativ rasch die dahinter stehende Komplexität fest. Ein Beispiel sei an dieser Stelle kurz ausgeführt: Neben allgemeinen Artikeleigenschaften wie aktueller Preis, Titel und Auktionsende speichert eBay je nach Artikeltyp weitere Attribute. Solche sind z.B. „Kilometerstand“ bei Autos oder „Auflösung“ bei Digitalkameras. Selbsterklärend, dass so eine Unzahl von Attributen zusammenkommt und nicht jeder Artikel die gleichen Attribute besitzt. eBay löst diese Problematik nun so, dass für jedes Attribut sowie für jeden Wert eines Attributs eine ID vergeben wird. Verfügbare Attribute je Artikel können über einen eigenen Call abgeprüft werden. Das ist soweit sinnvoll, etwas schwierig macht’s es allerdings, dass es kein vollständiges Verzeichnis dieser Attribut-IDs gibt (Dokumentation enthält nur die wichtigsten). Das heisst, dass je nach Aufgabenstellung das Ganze zur aufwändigen Pröbel-Aufgabe wird. Dazu allerdings stellt eBay wieder nützliche Tolls wie das API-Testtools bereit. Dieses erlaubt einen parametrisierbaren Aufruf sämtlicher API-Calls über ein simples Web-Interface. Die Responses werden direkt in XML-Struktur zurürckgegeben, so dass zumindest auf diese Weise relativ einfach eine Zugänglichkeit der Attribute und IDs gegeben ist. Die Attributlösung von eBay führt allerdings dazu, dass beim Einbau von Attribut-Informationen in eine Applikation für jeden Artikel ein eigener API-Call notwendig ist. D.h. dass zum Beispiel eine Auflistung aller gebrauchter Artikel (Attribut „Artikelzustand“ mit Wert „gebraucht“) einer bestimmten Kategorie nicht in einem Call möglich ist. Stattdessen muss ein weiterer Attribut-Call für jeden gefunden Artikel durchgeführt werden, was wiederum etwas mehr Programmieraufwand bedeutet. Betrachtet man allerdings eBays umfangreiche Artikel- und Attributstruktur von Auto über Briefmarke zu Schuhen, ist dies alles nur verständlich.

 

Entsprechend der Web 2.0 Philosophie ist die eBay API frei und kostenlos verfügbar. Wer mehr als 10'000 API Calls pro Monat ausführen will, muss seine Applikation allerdings offen legen und von eBay zertifizieren lassen. Eine Zertifizierung erfolgt ebenfalls kostenlos und dient eBay vor allem als Kontrolle dafür, dass Calls auf die eBay-Infrastruktur effizent gelöst sind und nicht unnötigen Traffic verursachen.

 

velyoo wurde zum Beispiel von eBay zertifiziert und darf sich deshalb mit folgendem Logo auszeichnen:

eBay | mashup | velyoo
 Thursday, June 22, 2006

Währenddem Kartendienste wie Google maps oder neuerdings auch Map24 brav ihre Kartendaten über APIs zur Integration zur Verfügung stellen, scheint sich map.search.ch und das Deutsche Pendant goyellow.de noch dagegen zu sträuben. Gerade weil map.search.ch aber schöne Satellitenbilder bereitstellt (welche für die Schweiz bei Google maps in hoher Auflösung fehlen) wäre eine Integration dieser Kartendaten zur Zeit noch besonders interessant.

Glücklicherweise braucht es aber nicht unbedingt eine API, um die Daten zu integrieren - JavaScript und URL-Parameter-Modifikation bringen auch schöne Resultate. Ein Beispiel, wie dies funktioniert, ist auf den Unterseiten von velyoo (map.search.ch) oder velyoo.de (goyellow.de) integriert (auf Vergrösserungs-Icon neben der Ortschaft klicken):

map-search-ch-mashup12.jpg

Technisch funktioniert dies folgendermassen:

Die statische Version von map.search (dito goyellow) liefert Bilder in JPG oder PNG Format URL-parameterbasiert aus. Ein Aufruf auf ein Bild kann damit folgendermassen aussehen:

http://mapdata.maple.search.ch/chmap.png?layer=sym,fg,copy,circle&zd=32&x=-200&y=-150&poi=zug&q=&merge=1&w=400&h=300&base=chur

Die Parameter haben folgende Funktion:

  • layer: Hier können die darzustellenden Layer angegeben werden: fg liefert z.B. die Ortsnamen, sym die Karte, circle zeichnet den gesuchten Ort auf der Karte mit einem roten Kreis und bg zeigt das gewünschte Satellitenbild.
  • zd: Damit wird der Zoomfaktor eingestellt, mögliche Werte 0.5 bis 400
  • x, y:Geben die Anzahl Pixel an, wo der Karteausschnitt links und oben vom Zielpunkt entfernt beginnen soll
  • w, h: Geben Höhe und Breite des zurückgelieferten Bildes an
  • poi: Mögliche Point of Interest Layers, z.B. zug für die Bahnhöfe
  • base: der Eigentliche Suchort URL-encoded, also z.B. Chur oder St.%20Gallen, ergänzt um Adressen

Mit etwas JavaScript lassen sich die Parameter-Aufrufe nun dynamisieren, z.B. Zoomfaktor für Ein- oder Auszoomen oder ein Switch von Karte zu Satellitenbild. Diese beiden Funktionen sind auf velyoo im genannten Karten-popup integriert, die JavaScript-Funktionen sind offen unter http://www.velyoo.com/res/helpers.js verfügbar.

Leider lassen sich damit noch nicht so schön Inhalte wie Fotos oder andere Daten in die Map hineinrendern, wie dies bei Google maps möglich ist. Für die dynamische Anzeige von Adressdaten oder Ortskizzen auf einer Website jedoch allemal ausreichend und als Goodie mit hochauflösender Satellitenbilder der Schweiz.

map | mashup | velyoo
Archive

<August 2008>
SunMonTueWedThuFriSat
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

More Information
Categories Blogroll
 RSS 2.0  Atom 1.0

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.


Sign In


© Copyright 2008, Marco Hassler