Hacker News new | ask | show | jobs
by dirtyaura 5633 days ago
Great article. His observations of location polling strategies and battery life are spot on, so if you are interested in location-based services, read them carefully. When developing Jaiku Mobile (always-on rich presence sharing with location and other data) we learned same things.

There's actually two strategies that you've to manage: polling of the location (GPS usage) and sending it to the server (network usage). In 3G, there is a significant energy consumption cost, when you send small amount of data regularly to server, because the network stack has to be changed to higher-energy mode each time you send something over TCP/IP.

Even if you stay in a same location and the location data doesn't changed, you might need to send the data to server. Why? To indicate freshness of the data, server has to pinged to indicate that location data is still fresh, even if it hasn't changed. Indicating data's freshness can be important in tracking situation (e.g. Geoshare).

1 comments

Did you ever consider using CellID to detect whether location has changed, before checking more precisely from GPS? Haven't tested it in a real product myself, but found this strategy in an old Symbian app, and it seemed quite clever -- especially in a 3G (or 3.5/4/whatever) mobile network cell size should be small enough that if the user is really moving, the CellID will also change quite quickly. And energy consumption to poll this is almost 0, assuming the device is a phone that is connected to the mobile network anyways.
Yes we used Cell ID and that was our main source of location data (GPS-enabled phones were quite rare back in 2006).

But cell id can change quite a lot even if you stay in the same place, depending on your signal strength.

Btw. did that old Symbian app happened to be called ContextPhone? It was a precursor of Jaiku Mobile.

Thanks for your response. Was this all on Symbian platform? Does that platform give you access just to the active cell, or also the neighboring ones? I wonder if using the full list of neighboring cells could help, that's available at least via Android API.

Nope, it was not ContextPhone. Something for basic phone tracking.

Symbian gave access to the active cell only.

I heard a story that back then this was required by operators, because with good access to neighbouring cells and their signal strengths, people could easily build tools to compare networks in different areas and "prove" that one operator is better than the other. I don't know if the story is true.

You can do very accurate locationing with neighbouring cells and cloud-based database and some simple Bayesian modelling. Google does something similar with their non-GPS locationing.