Opdrachtgever
De opdracht
Bouw een webapplicatie voor KLM Travlr die aangestuurd door zoekwoorden allerlei social media content ophaalt (zoals Flickr foto’s, YouTube video’s, Foursquare locaties en Tweets) en op basis daarvan een reisadvies geeft.
De kwestie
De grootste uitdaging voor de front-end van het platform ligt enerzijds in de implementatie van het prachtige maar complexe design, anderzijds in de communicatie met de sociale media. Zo mag er bij de realisatie van het design geen sprake zijn van page reloads, moeten verschillende paginastaten deelbaar zijn, is het gebruik van Flash geen optie (vanwege iPad-ondersteuning) en dient vrijwel elke gebruikersinteractie ondersteund te worden door animatie.
De back-end van het gehele platform heeft zijn eigen uitdagingen. Hoe consumeer je informatie van Yahoo, Google, Twitter, Flickr, YouTube, Foursquare en WikiTravel in één aanvraag zonder dat de eindgebruiker minuten op een antwoord moet wachten? En hoe haal je al die informatie op zonder de limieten te overschrijden die elke partij heeft?
De oplossing
Op basis van het concept en design van TribalDDB bouwde Enrise voor KLM Travlr een webapplicatie die op basis van zoekwoorden de gevraagde social media content ophaalt. Om het platform een soepele werking mee te geven wordt deze content a-synchroon opgehaald en getoond.
De oplossing zit hem in de juiste balans tussen het tijdelijk of persistent opslaan van data. Ondanks het feit dat het zoekgedrag van gebruikers een long-tail van criteria kan geven, zijn de antwoorden die je daarop vindt op het internet redelijk eenduidig.
De gevonden data wordt geïndexeerd in SOLR en persistent opgeslagen in een MySQL database. Iedere zoekopdracht die eerder uitgevoerd is heeft daarmee al relevante informatie in de systemen van KLM die direct getoond kan worden. Maar het systeem beperkt zich niet tot deze informatie. Er zal elke keer opnieuw gezocht worden naar nieuwe informatie om zo de database van KLM nog verder te verrijken.
Met deze tactiek ontlasten we het aantal aanvragen bij de verschillende partijen en kunnen we een goede performance bieden, met als resultaat een optimale gebruikerservaring.
Het resultaat
KLM Travlr vernieuwt hiermee het zoeken naar een vakantiebestemming: je kiest niet eerst waar je naar toe wilt, maar wat je wilt doen. Door ervaringen en belevingen van andere vakantiegangers via sociale media te koppelen aan je interesses en voorkeurslocaties, tipt Travlr je je volgende vakantiebestemming.
De gebruiker kan elke zoekresultaatpagina (zoals diepzeeduiken op de Gili Islands) delen via social media sites als Facebook, Twitter en Hyves en hoeft hiervoor niet ingelogd te zijn bij KLM Travlr. Naast de door KLM ingevoerde interesses en locaties worden ook zoekopdrachten door gebruikers zelf opgeslagen en beantwoord met relevante resultaten.
Een ‘interesse’ die nog niet bekend is in de systemen van KLM wordt live opgevraagd bij alle eerder genoemde partijen. De resultaten van deze zoekopdracht worden gematched met locaties die in eerdere criteria gevonden zijn. De gebruiker krijgt de nieuw gevonden locaties verrijkt met beeldmateriaal te zien.
Facts & Figures
- 10 externe databronnen die via webservices in KLM Travlr ontsloten worden.
Technieken
PHP, JavaScript, jQuery, JSON, XHTML, CSS2, CSS3
Platformen & Systemen
Zend Framework, MySQL, SOLR