Twitter, Google Maps en Pinkpop

Het begon allemaal ongeveer 2 weken geleden op Twitter. Erwin Blom stelde een vraag . Of ik een Twittervision achtige applicatie voor Pinkpop zou kunnen maken.

Aangezien ik ervaring heb met Google Maps en ook al wat geëxperimenteerd had met de Twitter API was het antwoord simpel.

Helaas had ik niet zo heel veel tijd meer voor Pinksteren en zou ik tijdens Pinksteren zelf weg zijn. Besloten werd om er geen publieke Mashup van te maken, maar eentje die de VPRO kon gebruiken tussen de concerten door op de 3VOOR12 kanalen.

Techniek

De Mashup is gemaakt m.b.v. Ruby on Rails. De Rails controller haalt de laatste 20 tweets op van de 3VOOR12 twitter gebruiker + vrienden. Op dit moment is het niet mogelijk om meer dan 20 tweets op te halen via de Twitter API. Dit gaat als het goed is binnenkort veranderen.

Voordat de tweets op de kaart afgebeeld kunnen worden, moet eerst de locatie van de verschillende gebruikers achterhaald worden. De locatie is vermeld in iedere tweet, maar er is een betere manier.

De mensen achter Twittervision hebben een eigen API bovenop de Twitter API gemaakt en hiermee kan je de locatie van iedere gebruiker opvragen. Deze locatie is eenvoudig aan te passen door in een Tweet de volgende notatie te gebruiken: L:address[:], bijvoorbeeld L:Amsterdam. Er zijn ook nog andere notaties mogelijk.

Toen de Mashup af was kwam Erwin met het idee dat er eigenlijk een filter toegepast moest kunnen worden om alleen de voor Pinkpop relevante berichten er uit te kunnen halen. Tweets kunnen maar 140 karakters bevatten, dus echt veel ruimte om een code mee te sturen is er niet. We hebben toen besloten om de gebruikers te vragen om voor ieder bericht over Pinkpop de code PP te tikken. Deze berichten worden dan in de Rails controller er uit gefilterd en naar de kaart gestuurd.

De Mashup doorloopt de volgende stappen:

  1. Haal de laatste 20 berichten op
  2. Verwijder de berichten die niet beginnen met de filter code
  3. Stuur de overgebleven berichten naar de pagina
  4. Haal van iedere gebruiker de Locatie op (via Ajax)
  5. Beeld de berichten af op de kaart met tussenpozen van 5 sec
  6. Als er minder dan 20 berichten zijn, worden deze berichten 2 minuten lang getoond, daarna worden de nieuwe opgehaald.
  7. Als er geen nieuwe berichten zijn, worden de oude nog een keer getoond.

Publieke Mashup

Dat de mashup niet publiek was, vonden sommigen wel erg jammer. Het was niet mogelijk om de Mashup publiek te maken en dan ook nog te garanderen dat deze stabiel zou draaien om in de uitzending te gebruiken.

Maar gelukkig was daar roelandp van TodayArts. Hij maakte in zeer korte tijd een geslaagde Mashup met de Tweets op Google Maps, de 3VOOR12 videostreams, Flickr en zelfs de buienradar!

Conclusie

Ik heb het resultaat helaas zelf nog niet gezien (in de videostreams), maar de reacties zijn goed. Twitter heeft bijgedragen aan een nieuwe manier van festival beleven.

Ook het gebruik van een code voor iedere Tweet vind ik erg geslaagd. Dit biedt ook mogelijkheden, bijvoorbeeld een soort tagging van tweets. Maar de code moet dan wel kort blijven.

Kortom er zijn veel nieuwe mogelijkheden te bedenken door simpel verschillende bronnen te combineren in een Mashup. Welke festivals en evenementen gaan hiermee verder?