[Openstreetmap] OpenStreetMap/Freemap and mobile devices?

Paul Makepeace openstreetmap at paulm.com
Wed Jun 8 07:58:15 BST 2005


Hi Nick,

The kind of functionality you're envisaging is largely implemented in a 
fashion with the Urban Tapestries (UT) project, http://urbantapestries.net/

As the server developer for version 2 last year I can give a bit of 
feedback on what we experienced...

Nick Whitelegg wrote:
> A thought I've had for some time with Freemap, wouldn't it be good if OSM maps 
> could be displayed on mobile devices like PDAs or even phones? Without a lot 
> of knowledge in this area ATM (but am keen to learn) I'm not sure how 
> feasible it would be but the following appear to be true:
> 
> a) the device would need inbuilt GPS;

UT used location requests to the phone provider to get the nearest cell 
tower, and then user input (i.e. scrolling about) to pin-point the exact 
location they were either at or interested in.

This worked reasonably well; cell towers are a few hundred meters apart. 
The downside was having to produce a custom WAP/HTTP gateway at Orange 
to put the location requests in our HTTP requests via a maze of proxy 
servers and custom code. My understanding was that this was fairly hard 
work.

There's a common myth that it's possible to triangulate your cell phone 
from multiple towers. This *isn't* possible in the UK (sorry!) with 
non-3G towers yet.

Another downside to location requests is normally they're fairly 
expensive. That may well change in future, hopefully to a subscription 
model or even better free, but at the time it required close cooperation 
with our network provider, Orange/FT.

> b) There would seem to be two ways of implementing this:
> 
> i) Get your current position from the inbuilt GPS, construct an HTTP request 
> to the server using, e.g. the cURL library, and get a map back as, say, a PNG 
> image.
> 
> ii) Send an XML-RPC request to the server, get the raw data back then process 
> the data to draw the map on the mobile device. This is more flexible but 
> requires more processing on the device.

We opted for installing a map on the device (SE P800) and having the all 
the communications operate using coords.

Bear in mind that in addition to any map data you are probably likely to 
want to send other data too, e.g. nearest pubs, and very quickly you 
find your meagre and only somewhat reliable 9600baud GPRS connection 
being used up, or used to an extent your usability is becoming frustrating.

Talking of which, I'm not sure if you've ever seen the contents of an 
XML-RPC packet--it is verbose in the extreme. You absolutely have to be 
using HTTP compression. In our case this required writing client code. 
The savings yielded were around 80-85%. Of course, the HTTP header 
itself is still uncompressed. Personally I would definitely consider 
using a tighter session protocol, i.e. not HTTP.

With the advent of increasingly pervasive wireless and wireless on phone 
devices (e.g. Orange M2000/XDA IIi) this is opening up some exciting 
possibility. However, Proboscis' experiences with wireless were not 
terribly promising either. But that's a whole different conversation...

> c) the device would need to make a request to the server every x minutes or 
> seconds, or when the position has changed by y metres/feet.

We left that in the hands of the user. I don't think we're quite at the 
stage in terms of user expectation or network coverage & bandwidth for 
devices to be continuously connected like that. Still, it'd be a nice 
option.

> Doubtless there are many practical problems with battery life, etc, but it 
> would certainly be something worth investigating. I also gather that most 
> mobile devices cannot connect arbitrarily to the internet through 
> user-written software, for security reasons. So (correct me if I'm wrong) it 

What you're thinking of is a restriction placed on unsigned java code; 
the same isn't the case for native apps. Consider a basic PDA browser...

> would only be possible to do this sort of development under the Linux/Qtopia 
> environment at the moment and not under Symbian or Palm environments.
> 
> If this is feasible it's certainly something I would like to get involved in. 
> Are there suitable PDAs out there with GPS ability, or could I get a cheap 
> pluggable GPS unit and plug it into an arbitrary PDA?

I have an Orange M1000 with the TomTom Navigator software which can come 
with a bluetooth GPS unit. As it stands it's a great piece of kit and 
works on a lot of different devices. I haven't tried hooking it up to 
any third party software or stuff I've written myself yet. (Love to hear 
from anyone who has!)

Hope that helps, Cheers, Paul




More information about the talk mailing list