Coding

Firefox Geode and W3C Geolocation

Skyhook's hybrid positioning system (XPS) - How it works?
Skyhook's hybrid positioning system (XPS) - How it works?

Mozilla in their upcoming Firefox 3.1 release is introducing an experimental feature “Geode“. Geode is about the browser (and server) automatically deducing your location and provide appropriate location-based information. Though Location-aware applications are present in Mobile Phones using Cell-Tower Triangulation or GPS, this is the first major effort to do something similar on the PCs.

Geode provides an early implementation of the W3C Geolocation specification and location information will be provided by one or more user-selectable service providers and methods – GPS-based, WiFi-based, manual entry, etc. What I was curious is how they deduct location information using Wi-Fi. It seems they use a technology from a company called SkyHook, whose hybrid positioning system (XPS) is a software-only location solution that allows any mobile device with Wi-Fi, GPS or a cellular radio (GSM/CDMA) to determine its position with an accuracy of 10 to 20 meters. Click on the video below to see how it works – basically, they are building a huge database of Wi-Fi access points and correlating them with Latitude/Longitude information from other sources like GPS for each access point profiled.

Skyhook's hybrid positioning system (XPS) - How it works?

Skyhook’s hybrid positioning system (XPS) – How it works?

All these are transparent to developers and users, for developers it is just a Javascript call like the one shown below:

navigator.geolocation.getCurrentPosition ( function ( pos ) {
   alert( pos.latitude + ", " + pos.longitude );
})

Before these initiatives, web applications were limited to deducing user’s location based on your IP. Technology is not standing still with IP based deduction, earlier they were limited to US cities, now the database is complete and is to identify cities world over including India.

Related links: ZoneInfo database, GeoNames