Scriptorama.nl

Header image showing a keyboard, mouse, laptop and books on design patterns

Mozilla Labs introduceert Geode

Dit jaar lijkt een beetje het jaar van de location-based (web)applications te worden. Er is een explosie aan location-based applications via de iPhone en de iPhone 3G geweest, de Gears extensie biedt sinds kort een Geolocation API, het W3C is bezig met een standaard voor een dergelijke Geolocation API en Firefox 3.1 zal deze standaard al implementeren.

De laatste toevoeging is meer een aanvulling op wat Firefox 3.1 gaat doen. Mozilla Labs heeft vandaag de Geode extensie voor Firefox 3 geintroduceerd. Geode is een extensie voor Firefox 3 die de Geolocation functionaliteit van Firefox 3.1 nu alvast aan de man brengt. Kortom, met Geode wordt het nu mogelijk om een website jouw locatie te laten gebruiken, zelfs als je geen GPS tracker aan je desktop of laptop hebt hangen.

De extensie doet dat, kennelijk, door de WiFi signalen uit de buurt te gebruiken:

We’re using Skyhook’s Loki technology to map the Wifi signals in your area to your location. Unlike normal GPS-based methods which can take upwards of 45 seconds for a lock, Geode works both inside and outside with an accuracy of between 10 to 20 meters, normally within a second.

Please note that in this early implementation, both location and IP information is sent to the current provider, Skyhook, everytime a website is granted access to your location. Skyhook’s privacy policy is that they do not store or use any personal identifying information, and they promise to only keep data in anonymized agregate.

Hoe dat precies in z'n werk gaat is me niet geheel duidelijk. Weet jij hier meer over? Let us know!

Een snelle test wijst uit dat, hoewel 20 meter ietwat optimistisch is, Geode inderdaad behoorlijk accuraat is voor iets dat geen GPS is. Mijn locatie werd, ondanks zo'n 12 WiFi accesspoints in de buurt, op zo'n 60 meter na juist bepaald. Behoorlijk in de buurt en in principe goed genoeg voor een hele hoop applicaties.

Uiteraard biedt Geode de gebruiker volledige controle over welke site wat voor informatie krijgt. Ten eerste kun je de informatie volledig weigeren, maar je kunt ook onnauwkeurigere informatie geven door een nauwkeurigheid als Wijk, Stad of Land te kiezen.

De Geolocation API

Voor de webdeveloper is het gebruik van Geode, en eigenlijk dus de W3C Geolocation API, erg gemakkelijk. Je hoeft om eenmalig de locatie op te vragen maar een simpele functie aan te roepen. Aangezien de locatie opvragen even kan duren geef je een callback op zodat de browser, en jouw javascript, niet hoeft te blijven wachten tot de locatie bepaald is. Op het moment dat de locatie bepaald is wordt de callback aangeroepen.

JAVASCRIPT:
  1. function handlePositionCallback(pos)
  2. {
  3.   alert( post.latitude + ", " + pos.longitude );
  4. }
  5.  
  6. navigator.geolocation.getCurrentPosition(handlePositionCallback);

Uiteraard kan er ook het een en ander fout gaan. Zo kan de connectie naar de locatie provider bijvoorbeeld fout gaan, of misschien kan jouw locatie simpelweg niet bepaald worden. Hiervoor kun je eventueel een tweede callback opgeven aan navigator.geolocation.getCurrentPosition():

JAVASCRIPT:
  1. function handlePositionCallback(pos)
  2. {
  3.   alert( post.latitude + ", " + pos.longitude );
  4. }
  5.  
  6. function handleErrorCallback(error)
  7. {
  8.   alert(error.code + " - " + error.message);
  9. }
  10.  
  11. navigator.geolocation.getCurrentPosition(handlePositionCallback, handleErrorCallback);

Geode uitproberen

Je kunt Geode downloaden via de aankondiging op Mozilla Labs. Daar vind je ook enkele demo's - die helaas wel erg op Amerika gericht zijn.

Reageer ook!

Zo ziet er inderdaad erg goed uit! Ik heb zelf de 3G en moet zeggen dat hij mij echt superrr bevalt.

Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>