Location Based Service could be next big thing for mobile application.
There are 2 ways to localize your phone:
- GPS - Requires special hardware (ext/int) and uses more power.
- Network detection (celluar id) - Less accurate and depends on mobile operators .
Lets add another 2 ways:
- Ask the user! Yes, let user decide manually where he/she is. Then update to server eg. SMS or Internet
- Make use of IP Addresses to estimate the region.
Google’s mobile Gmap has recently added a new feature which can pinpoint/estimate/triangulate your location. It uses both methods - GPS and cell id. There are some on going discussion about the how it works here.
Some Technicalities:
- J2ME have System.Properties(“phone.cid”) or (“CellId”) which will query for the cell id. But it works for some Nokia and Sony Ericsson phones only.
- In Python S60, MCC, MNC, LocAreaCode and CellId can be retrieved easily. Symbian C++ would be able to retrieve them too. MIT J2me notes.
More resources:
- Cell Spotting
- Mobilife
- Track Down Anyone (Lifehacker)
- Track with IP Address
- TrailExplorer (Google Code)
- GSMLoc - cell database
- Placelab - database of Wifi AP, but for Seattle only
- Another - cell id
- Yahoo! ZoneTag API - I simply love Yahoo APIs