OpenCellId – collecting data for mobile location-based services

It is great to see a revived buzz around mobile location based apps and services. There are lots of new services to try. I try loads of them, the most recent was Moot just a few days ago (I love their video which I’ve embedded here – very cute), but there are way more than I can keep up with.

One problem they all share before they get to offer you their variations on useful location-based services is how to figure out where you are in the first place.

GPS is an obvious response, but not everyone has it on their mobile, and even if you do, it has some big problems – it can take a while to get a fix, won’t work indoors, etc.

Good solutions supplement this with other sources of information. Skyhook is getting a lot of attention at the moment for their service – mainly due to it being used in the iPhone. It means that the iPhone (and other devices using Skyhook) can work out where it is using GPS, but if a GPS fix cannot be made (or in the interim time while waiting for one) it can give an approximate location almost instantly using cell-tower triangulation and/or known WiFi access points.

skyhook coverage map of wifi access points in the UKAs an aside, I was surprised by how good their UK coverage of WiFi access points is. It’s still nothing like their US coverage, but is better than I thought it’d be.

And you can add new locations. I added my home wifi, so friends of mine with iPhones (and there seem to be a lot of them!) can get a very accurate location fix from their phone even while in my house out of line-of-sight with a GPS satellite.

Google Maps for Mobile is another similarly neat system which can show you where you are on a Google Map from the cell ID information on your phone, without needing GPS. It’s often surprisingly accurate.

As impressive as these are to use, there systems aren’t massively complicated or hard to reproduce. The really valuable part of these systems is the database of cell ID locations for lookups – which the companies naturally have an interest to protect. The data is all properietary and locked down – I can’t write an app now which looks up a location for a cell id using Google’s “My Location” database.

A response to locked down sources of map data led to the creation of OpenStreetMap – a community mapping project to create an open, free source of map data for all. It’s a Google Maps that you can anyone the raw data from.

In the same way, OpenCellId hopes to do the same for location data – creating an open source of data giving the location of GSM cell IDs. I first heard of it through a comment someone from OpenCellId made on my blog, but hadn’t really followed up on it. It’s open source credentials seem pretty legit – the source for the project is all (apparently – I’ve not looked at it myself) available on Google Code under a GPL license, and there is an open (if somewhat basic) API for getting data out of the database.

As with OpenStreetMap, this will only become truly useful once populated with enough data. I was initially somewhat skeptical as to how likely this is – are there enough people who might be willing to run an app to collect Cell ID location data with no personal benefit? (In fact, actually at some cost considering the battery life implications).

But then, I was similarly skeptical about OpenStreetMap – I remember the first time I looked at the site, saw that my street wasn’t included in the map, and gave up on it as something unlikely to be very useful. I didn’t expect that it’d ever get to the point where I might want to use it in favour of Google or Yahoo Maps. But look at it now: not only is my street very well covered (including footpaths and back alleys not shown on Google or Yahoo), but I even read about how they’ve surpassed the level of detail in Yahoo Maps for areas like Beijing.

So I’m starting to think again about OpenCellId. Maybe this really could work.

As Tom from OpenCellId pointed out, this could be embedded into an existing useful app which someone is already using GPS for. Asking a user to submit GPS and CellID info that they’re already collecting anyway isn’t as unreasonable as asking someone to leave a client running to collect and submit the data just for OpenCellId.

screenshotThis all inspired me to try and knock together a mobile client for Windows Mobile to collect data. It’s a simple and clunky little thing at the moment, but it’s enough that I’ve started uploading a few updates for Eastleigh (home) and Hursley (work).

Even if it doesn’t get widely used by others, it wont be long before I’ve covered enough of the Eastleigh / Winchester / Southampton area for the OpenCellId database to be a potentially useful source of location data for me. In a few weeks, I could have access to something that lets me get my approximate location without needing to wait for GPS.

Not sure what I might use that for, but theres gotta be something I could do. 🙂

some of the updates I collected at lunch

I’ll find a place to share it in a day or two once I’ve worked out any kinks, but in the meantime, if you’d be interested in running the client, please get in touch.

Tags: , , , , , , , , , ,

7 Responses to “OpenCellId – collecting data for mobile location-based services”

  1. Matthew says:

    Have you seen

    They use a WM client to collect the info, and pay you for it…. although the reward rates keep dropping!

  2. dale says:

    That’s interesting. I’d heard of navizon before, but not realised their approach.

    In short – they pay people to populate their database using the money that other people pay to access the database. And if you contribute, you get to access it for free.

    And (like Skyhook), they’re collecting WiFi addresses as well as GSM cell ids.

    Sounds really good. Not as fluffy as the OpenCellId ideals, but neat nevertheless.

  3. […] dale lane fan of all things mobile, father of small girls, IBM code monkey, youth charity trustee… « OpenCellId – collecting data for mobile location-based services […]

  4. jane says:


    I need to study the access pattern of location based service users

    I need help to acquire the data. Kindly advice

  5. dale says:

    @jane – Have you contacted the guy behind OpenCellId?

  6. Keat says:

    Hi Dale, I’m keen to try out your client to contribute to the database – it’s got 500+ cells for Singapore, but the coverage doesn’t seem very well spread out over the island, so I’d like to help cover my neighbourhood 🙂 How can I get the app from you?