A month back, I bought a new mobile phone (HTC S710) running Windows Mobile 6.0. I specifically bought it for playing around with the Windows Mobile API, and I’ve been trying out a few things with it. I’m pretty impressed by the .NET Compact Framework, it makes it ridiculously simple to do things that require huge chunks of code in C++.
Anyways, one of the few things I wished I could do with my old phone was to use the location information broadcast by cellular networks. Almost all GSM providers (Airtel/BSNL/Vodafone) broadcast the current location to the cellphone – the phone usually displays it in the “home” screen, but that’s about it. That information could be much more useful though – it’s effectively a low resolution GPS.
Think about this scenario – you are travelling to a distant location and the route has patchy network coverage. You are supposed to reach the destination by 9:00 AM, but for some reason, you don’t get there by that time. Someone who cares about you gets anxious and wants to know where you are – he or she tries to call you, but thanks to the patchy network, the call doesn’t get through. Or maybe, you’re sleeping and you set the profile to “Silent”. Wouldn’t it be nice if that person can send a message and get to know where you are, without you having to do anything?
Locator does precisely that. Once Locator is launched, it listens for SMS messages with a particular body – once such a message arrives, it sends a reply with the current location as the message body (along with the time of the last location change). The current location, is read from the information broadcast by the cellular network.
This is how Locator looks like:
Once launched, message interception is activated automatically – Locator responds to any new SMS messages with the body #where art thou#, with “<Owner> is at Home (Asdf) since <DateTime>”, where Owner is the name of the phone’s owner, and DateTime is the date and time when the location changed to Asdf.
The left button closes the application and deactivates message interception. The right button opens a menu that allows you to add the current location to an existing group (like Home) or create a new group with the current location.