Google Blogoscoped

Tuesday, February 26, 2008

How TripTouch Connects to Google And Others

TripTouch is a website for travellers; using geolocation – trying to guess your position based on your IP – lots of widgets are displayed on the page with information like weather, events, maps and more. While heavily widgetized, the frontpage of the service does remain neatly structured with a clean design.

I asked the creators of the site about their back-end, in particular how they are able to poll the various data for the widgets... and what challenges they had to overcome in doing so. Ron Mertens, reponsible for TripTouch research & development, says the site is based on LAMP (Linux/ Apache/ MySQL/ PHP) and explains:

TripTouch is actually a mashup of about 10 different sources (and we’re adding more and more...) including -

* Kayak
* Evenful
* Hostelworld
* Google
* Wikitravel
* (...)

To each source we connect in a different way... some of them have API (XML usually, and sometimes JSON) which makes it really easy to use. Some of them just give you some Javascript or html code to put in your page. Some (like google map) is a combination of JS and API... And some we have to ’scrap’ manually. Obviously we get permission first ;-)

Ron says that for sites where money is involved, like HotelWorld or Kayak (where they are also affiliates) “the solution is easier and better documented.” In general, he sees the following four major development challenges:

1. Make sure the data fits to our own models. For example – we have an internal way to represent a ’destination’ in TripTouch. We need a way to connect this destination to its weather ID in, to the correct hostels or events, etc.
2. Usually we cache the data internally. Then we need to make sure it doesn’t go ’stale’ – so we keep refreshing our own cache all the time.
3. Aggregating – an event has a representation in TripTouch – but it can come from different sources (eventful and for example). So we have to make them work together
4. When you scrap sites they can change their layout even in a small way and it can break your ’robot’. So you need to be careful and make sure it works all the time.

Ron goes on to explain how the site utilizes Google:

The first thing we do with Google is use Google Maps – we can display a map for each location, obviously. We also use GeoCoding and address-search within the maps, and also provide overlays of hostels and events. Another thing we do is display your own trip on the google map – complete with location markers and poly-lines, it’s neat.

I like google maps but I have two complains – first is that it’s rather slow sometimes... and second is that they do not cover the whole world, and they do not take tourists in to account – the maps are *local* maps – so the Thailand map for example is in Thai! and not in English. This is why we plan to supplement the google maps with more map providers in the future.

Ron adds, “We also use Google adsense for advertisement, this is rather obvious these days...”

[Thanks TripTouch!]

Update: Ron above said how it was a hurdle for TripTouch that e.g. the Thailand map was only in Thai, not English. On that note, Google now announced: “I realized that our maps were much less useful for people who don’t recognize non-Latin characters ... Now, in addition to seeing the local label for a location, you’ll also see an English version of the local pronunciation for Greece, Thailand, Russia, and many cities in Japan.” I can already see this live on TripTouch too, so apparently it already works not only for Google Maps but also the Google Maps API.


Blog  |  Forum     more >> Archive | Feed | Google's blogs | About


This site unofficially covers Google™ and more with some rights reserved. Join our forum!