lauantaina, lokakuuta 03, 2009

Selaimesi tietää kaiken

Jos olet liikkeellä modernilla selaimella, se tietää missä olet. Google Mapsin zoom-potikan yläpuolelle ilmestynyt nappula todistaa sen.

Monessa 'päätelaitteessa' on GPS mutta aniharva laite luovuttaa sen tietoja selaimelle. Blackberry oli ilmeisesti ensimmäinen. Asiassa tapahtui salmannopeaa kehitystä. Viime heinäkuussa julkaistiin W3C draft nimeltä 'Geolocation API Specification'.

Se on esimerkki siitä, että W3C on ajan hermolla ja ainoastaan yhden firman jatkuva vastaan hankaaminen estää standardien vahvistumista. Kaikki asialliset selainvalmistajat tukevat draftia.

Uusi speksi tuo 'navigator' -objektiin 'geolocation' -ominaisuuden. Jos tietokone, jolla liikut, tietää sijainnin, se on JavaScriptin luettavissa:
navigator.geolocation.getCurrentPosition(successCallback, errorCallback);
Ihanaa, että ei tarvita selainkohtaisia kommervenkkejä. Käsittämättömintä on, että kyseinen data on hyvällä tarkkuudella saatavissa koneista joissa ei luultu olevan mitään paikannuslaitteita. Ylläoleva koodirivi pistää selaimen kysymään käyttäjältä 'Share location?' tms.

Jokaisessa koneessa, jossa on langaton verkko, on myös paikannuslaite. WLAN-tukiasema on kuin radiomajakka. Se toitottaa omaa MAC-tunnustaan uskollisesti koko ajan. Hankaluutena on vain, että ihmiset muuttavat WLAN-tukiasemien paikkaa muuttojen, kauppojen, murtovarkauksien, ulosmittausten tai mielijohteiden seurauksena.

Firma nimeltä Skyhook on päättänyt uskollisesti pitää tietokantaa maailman jokaisen WLAN-tukiaseman koordinaateista. He jopa ajelevat autoillaan maailman suurkaupunkeja aivan kuin Googlen kuvausautot. Silti Skyhook luulee minunkin asuvan vielä vuodentakaisessa osoitteessa vaikka heidän algoritminsä kuulemma huomaa yht'äkkisen muutoksen.

Toinen firma, joka ylläpitää vastaavaa tietokantaa on Google. Kun Firefox kohtaa ylläolevan koodirivin, se kysyy luvan ja myönteisessä tapauksessa tarkistaa ympäröivät WLAN-asemat ja hakee Googlen tietokannasta todennäköisen sijainnin. Omakohtaisesti sijainti on tarkempi kuin osaisin itse piirtää.

Tein aiheesta jo jonkin aikaa sitten testisivun. En ole siitä kovin ylpeä, vaatisi päivitystä, mutta pelaa se.

navigator.geolocation löytyy nykyisin ainakin seuraavista selaimista
  • Firefox
  • Chrome
  • iPhone Safari
  • Android
  • Opera
Opera käyttää Skyhookia, muut Googlea. Kaikki muutkin selaimet tukevat geolocation-oliota asentamalla Google Gears -plugari.

5 Comments:

At 10:36, Blogger zache said...

Testasinpas tuota. Käyttöliittymällisesti Firefox 3.5:n kilke on kivempi kuin Google Gears, mutta kummankin paikannustarkkuus jättää parantamisen varaa. (Paikansivat väärään kaupunkiin)

Noh, mutta pikku vikoja. Juhlat alkavat sitten kun Google yhdistää tuohon omaan systeemiinsä sijaintitiedon Google Latitudesta tai Firefox tarjoaa jonkun helpon tavan saada paikkatieto mielivaltaisesta lähteestä (esim gpsd:ltä) .

 
At 20:04, Blogger Esa said...

Liityykö tuo kaupunki sinuun mitenkään vai onko kyseessä selkeä bugi?

Käyttöliittymällisesti Firefox 3.5 promptaa liian huomaamattomasti harmaalla palkilla. Olen saanut valituksia ihmisiltä, jotka eivät ole huomanneet promptia.

Google Latitude jne.. Suurin este tälle tekniikalle on ihmisten hysteerinen pelko 'isovelivalvoo' -ilmiöstä.

 
At 06:46, Blogger zache said...

Luulen et se on IP-paikannuksen ominaisuus eikä varsinaisesti bugi ku kerran paikannettu kaupunki oli Helsinki ja se on viimeinen paikka josta traceroute näemmä saa vastauksen. Olen siis länsirannikolla.

Firefoxille muuten löytyy Geolocater lisäosa jolla pystyy vaihtamaan lennossa sijaintia Googlen paikannuspalvelun ja tallennettujen koordinaattien välillä.

 
At 12:07, Blogger zache said...

Jos olet liikkeellä modernilla selaimella, se tietää missä olet. Google Mapsin zoom-potikan yläpuolelle ilmestynyt nappula todistaa sen.

Ubuntun Linux Firefox 3.5.3:lla muuten Google maps ei tarjoa tuota paikannusta vaan se vaatii kans Google Gearsin. navigator.geolocation kyl toimii joten ilmeisesti Google Maps ei vielä tue sitä.

 
At 16:04, Blogger Esa said...

Sama juttu oli myös XP FF3.5.3:n kanssa vielä reilu viikko sitten.

Nyt se käyttää enisijaisesti navigator.geolocationia vaikka on Gears asennettuna.

Pikku täsmennys: Tämä ei ole sama kuin IP-paikannus. Varmaankin IP:tä käytetään yhtenä parametrinä mutta vallitseva WLAN-ympäristö on se virallinen tekniikka.

Tietokantaan kaikki tietysti tallentuu ja oikaisut tapahtuvat kun kerkiävät.

Skyhook paikallistaa minut selvästikin FON-WLAN-yhteisön tietokannan ikääntyneellä versiolla.

 

Lähetä kommentti

<< Home