Google MyLocation: How Does it Work?


Following on from my post last week, I have received an email from someone (called Tauno) who says the Sony Ericsson version of GMM doesn’t send the IMEI.

Now I think Vodafone’s version may be a custom version that uses their wholesale location service. The version that most people are using is just using the cellid – and this isn’t available on all phones.

But what of the Google video? …


"location based on unique footprint of nearby towers"
"service gets better the more you use it"

How can the phone (Java) get the nearby towers? How can it get signal strengths? Well, it can’t. My latest theory is that when you move away from one tower towards another, the cellid changes and MyLocation knows you are midway inbetween – I suspect this is the use of "nearby towers" … and hence the service gets better as you move.

Location without GPS or Operator LBS

skyhook.gifThe problems of mobile phone GPS (slow/battery hungry) and operator LBS (often closed to developers) have caused people to think about obtaining location in other ways. Skyhook have created a Wi-Fi access point database and associated windows/Linux/Symbian SDK to allow developers to obtain location to within 20m.

The clever bit is that after the database has been initially created (presumably by someone from Skyhook driving around), the system and hence database self-adapts to changes by comparing new/changed access points to those with known positions.

Skyhook have a new SDK and a contest to provoke developers. You can win an iPhone or N95 – it’s ironic that they picked a GPS phone as a prize!

Location Based Services

mobilife.gifLocation based services are currently being held back by network operator inactivity. With the exception of a few operators there’s no developer access to location information. This information, does in fact exist for the majority of network operators because in many countries it’s usually a legal requirement to provide it to security services as part of the granting of a GSM/3G license. It’s just that operators can’t share the information due to privacy concerns and the lack of perceived business case (revenue model).

There seems to be a resurgence of ideas for location based applications at the moment, mainly as part of user-centred design and context aware services. So, how can these be implemented? One approach is to talk to network operator. However, unless you can provide an immediate revenue stream for them I don’t think you will get them to listen. Another approach is to use cell id information and map this to geographical location. This isn’t as difficult as it sounds. MobiLife provide free Python (Series 60) based applications to get you started. There’s even the start of a database at GSM cells  and Cell Spotting.