In my frugal phoning post I mentioned that I leave data turned off on my mobile phone. This presents a problem if you want to use your phone as a navigation device. Even if you have and use a data plan there can be problems when you are in rural mountainous areas where cell phone coverage is non-existent. And I visit those areas fairly often. So what can you do?
The OpenStreetMap (OSM) project is the mapping equivalent to Wikipedia: Volunteer contributions are made available to the world at large free of charge. There are differences between the two projects. Wikipedia can fundamentally be viewed as a database driven website, yes it is more than that, but for a first cut that is a reasonable definition. OpenStreetMap is basically a geographical database with an whole group of associated projects that provide the tools to create, update and use the data in the database.
Because it is open and the data can be freely downloaded a number of projects use it for creating mapping applications. The list includes apps focused on displaying maps, performing navigation and guidance and gathering data for editing maps. For general display and for navigation I’ve settled on using OsmAnd with downloaded vector based maps which get updated about twice a month. For helping update the OSM database with better data I use OSMTracker.
Neither are perfect. OsmAnd tries to do too many things and has a cluttered interface and its default map style is very busy for just doing highway navigation. The default map style is based on the default map style on the OSM project page which has had the goal of showing most of the things in the OSM database. This is not what one wants for a simple and clear map for highway navigation. So I’ve created a custom style based on the MapQuest open style. I can’t do everything in a OsmAnd map style that I can in Mapnik, but it helps a lot. If I ever get it cleaned up enough I might donate my custom map style to the OsmAnd cause.
OSMTracker also tries to do too much. I find the default button set reasonable if I am walking around collecting address information but impossible to use when driving. So I’ve created a custom button set designed to make it easy to collect speed limit and traffic control (yield/give way signs, stop signs and traffic signal) information.
The two biggest issues with using OsmAnd with data turned off for navigation in the United States are:
- The lack of address information. If you can’t find the place you are looking for then you can’t navigate to it.
- The lack of complete speed limit information. Without actual speed limit information the routing algorithms make guesses about which roads might be fastest. While they guess fairly well, it is far from perfect.
So I’ve made it a pet project to gather address and speed limit information where ever I go. If you are navigating around where I live or where I’ve visited I think I may have helped you out.
That is one of the very nice things about OSM and navigation apps like OsmAnd: You can fix the issues yourself and your fixes will show up for you to use in a fairly short period of time.
Navigation uses the GPS receiving system in your smart phone. Since your phone has lots of uses and navigation is one that only has to be “good enough”, the GPS system will not acquire quickly unless it has a pretty good guess about its current location. Usually it gets that guess from reporting the IDs of any cell sites and any nearby WiFi networks to a location service provider. This process of gathering information about what RF signals the phone sees and guessing the phones location from it is handled by a “Network Location” library in the phone.
Needless to say, if your data is turned off or if your are in an area with no cellular service, your phone can’t do that and it may take a long time to acquire a GPS location lock.
Interestingly, the network location system is also used by most social networking apps. You may consciously decide that a restaurant location app can share your location. But you probably haven’t consciously decided that the provider of your network location should have it too but they do. Or at least they can. More on this in a future post on privacy.