Geolocation API e Location-Aware Browsing

Tra le novità che ci porterà HTML 5, e che in parte ha già portato, c’è un ricco set di API.

Tra queste, di notevole interesse è la Geolocation API:

The Geolocation API defines a high-level interface to location information associated only with the device hosting the implementation, such as latitude and longitude. The API itself is agnostic of the underlying location information sources. Common sources of location information include Global Positioning System (GPS) and location inferred from network signals such as IP address, RFID, WiFi and Bluetooth MAC addresses, and GSM/CDMA cell IDs, as well as user input. No guarantee is given that the API returns the device’s actual location.

In pratica, grazie alla GeoAPI, viene rilevata la posizione dello User Agent e i relativi dati (lat e lng) vengono manipolati dallo script, per offrire all’utente accesso ai dati e alle features della webapp.

Il primo dubbio che può venire in mente riguarda, giustamente, la privacy dell’utente che accede al servizio. Se io non volessi dare i miei dati?

Risponde il W3C:

User Agents must not send location information to Web sites without the express permission of the user. User Agents must acquire permission through a user interface, unless they have prearranged trust relationships with users…

che significa, più o meno, che l’utente deve avere la ossibilità di negare al browser, in qualunque momento, la possibilità di trasmettere le coordinate al web service.

ALtra domanda. Da dove vengono prese le informazioni sulla località dello User Agent? L’abbiamo letto nella prima citazione riportata. Se non abbiamo un cellulare dotato di GPS, la rilevazione si basa sulla triangolazione tramite Wi-Fi o ripetitori della rete cellulare, oppure ancora attraverso l’indirizzo IP del provider che fornisce l’accesso alla rete.
Ovviamente, a meno che non si abbia un cellulare dotato di GPS, la rilevazione potrà essere solo vagamente approssimativa.

Rientrando nel progetto di sviluppo di HTML 5, sono ancora pochi i browser che supportano la GeoAPI. Tra questi vale la pena di provare la beta 3.5 di Firefox, che al momento sembra quello che offre il maggior supporto ad HTML 5 e alle nuove API.

Allora, dopo aver istallato FF 3.5, andiamo a dare un’occhiata a quello che si dice in casa Mozilla.

Prima di tutto, ci viene spiegato di cosa si tratta:

Websites that use location-aware browsing will ask where you are in order to bring you more relevant information, or to save you time while searching.

Where I am

Poi ci viene spiegato come funziona la rilevazione e la trasmissione dei dati:

If you consent, Firefox gathers information about nearby wireless access points and your computer’s IP address. Then Firefox sends this information to the default geolocation service provider, Google Location Services, to get an estimate of your location. That location estimate is then shared with the requesting website.

If you say that you do not consent, Firefox will not do anything.

Privacy

Quindi Firefox mostrerà un messaggio, in alto nella pagina, che avverte l’utente della trasmissione dei dati e ne chiederà la conferma.

Privacy

Firefox offre anche la possibilità, come previsto dalle raccomandazioni del W3C, di rendere stabili le proprie scelte, attraverso le opzioni che si raggiungono dal menu Strumenti -> Informazioni sulla pagina -> Permessi

Privacy

Detto questo, qual è la prima applicazione che utilizza le GeoAPI di HTML 5 che vale la pena conoscere? Ovviamente, trattandosi di geodati, il battistrada lo fanno Google e Flickr. E proprio Flickr propone il servizio Nearby (annunciato proprio ieri su code.flickr.com).

Accedete al servizio (ovviamente, con FF 3.5), date fiducia a Flickr e autorizzate Firefox a trasmettere i dati. Ed ecco che vi verranno proposte le foto scattate dagli utenti intorno al vostro ISP.

flickr nearby

Annunci

2 thoughts on “Geolocation API e Location-Aware Browsing

  1. Ciao, ho letto il tuo articolo su io programmo n 135,”Rivivi i tuoi viaggi con flickr e google maps”, tutto ok, tranne il form.htm che con tinua agenerarmi l’errore alla riga
    var markers = xml.documentElement.getElementsByTagName(“marker”);

    documentElement. non definito. Le chiavi sono corrette in quanto su roma.php funziona tutto, qua no… Hai qualche idea..?

I commenti sono chiusi.