You know those coverage maps that mobile service providers create? The ones that tell you that, yes, there’s blanket 3G coverage in your favourite holiday destination, but when you get there you discover mean ‘slight 3G coverage for people sitting on top of their chimneys facing west under optimal stratospheric conditions’?
Well… it strikes me that, now phones have accessible GPS data, we shouldn’t need to rely on these particular bits of marketing propaganda. Somebody could write a phone app which periodically captures details of the signal and the phone’s location, and uploads them to a service which creates a map showing the true picture. Imagine you could look at your movements over a month or two and discover which operator would really provide you personally with the best service. If you were running the application, the system could even tell you that automatically! (Which would be a good way to get the data-gathering mechanism widely adopted).
Has anyone done this? I might write it up as a student project proposal…
Great idea Q . The O2 service on the iPhone is pretty awful, count me in if you want a beta tester!
Hi Q. Since you’ve pictured a Nokia N95, I would think this would be easy to write using Python running on S60. You can certainly obtain the GPS location through Python, and also the cellid, LAC, network (MCC and MNC) and signal strength in dBm of the base station you’re currently using. You’d need code similar to this:
self.mcc, self.mnc, self.lac, self.cellid = location.gsm_location()
self.dbm = sysinfo.signal_dbm()
Then just write this information into a database of some kind, and leave the application running. It might take you a while to map out the whole country, though! And using the GPS really does flatten the battery. I left my GPS running on my Nokia N82 whilst I walked over Catbells, Maiden Moor, Honister Pass and Great Gable (~15 miles, 9 hours hiking) in the Lake District, and it was down to 1 bar battery left in about 6 hours.
Yes, sadly, I don’t actually have a phone with GPS (mine’s an E61) but I know some people who have.
Have always wanted a good reason to play with the S60 Python implementation. I wonder if you can get any information about networks you aren’t currently connected to as well… I don’t know enough about the radio- and transport-level protocols…
P.S. Sounds like a fabulous walk!
> I wonder if you can get any information about networks you aren’t currently connected to as well…
Alas, not from user APIs. I believe the GSM stack itself can tell you, and there’s an S60 application called NetMonitor which is only available inside Nokia, but which once leaked out onto the net, which used hidden APIs and told you the signal strength of neighbouring cells (required for knowing when to handover). Presumably it’s possible to know the strength of other networks mobile networks, as there are various beacon packets (rather like WiFi SSIDs) to allow the mobile to “log in” to the network. But getting access to the GSM stack is hard; quite rightly, network operators are cagey as they don’t want people screwing with their networks.
Hi, I would like to recommended my web:
http://www.covermap.es
Covermap is an application that allows the calculation of propagation loss of a particular antenna defined by the user.
In covermap you have the ability to see the extension of the radio antenna (coverage mode), the different coverage cells of positioned antennas (cellular mode) and get the loss in decibels on a particular point with respect to the antenna (point to point mode).
Hi, I would like to recommended my web:
http://www.covermap.es
Covermap is an application that allows the calculation of propagation loss of a particular antenna defined by the user.
In covermap you have the ability to see the extension of the radio antenna (coverage mode), the different coverage cells of positioned antennas (cellular mode) and get the loss in decibels on a particular point with respect to the antenna (point to point mode).
[ I wouldn’t normally post adverts for people, but since I accidentally pinched Javier’s name I thought it was fair 🙂 – Quentin ]