In a lot of regions, OSM has better data than Google. But still, Google data is used more than OSM data. Why? Because Google creates good tools to use their data: Navigation apps for iPhone and Android, the social latitude app ...
Therefore, I do a call for all developers to collaborate on one app: Navit.
- Because it has been ported to many devices, including iPhone, Android, Windows Mobile, Maemo, Palm Os, Mac OSX, Windows, Linux and even TomTom. So any contributions to the Navit core become available for many devices.
- Because it's not a start from zero: Navit can already do a lot of things.
How is Navit written?
The Navit core is written in C, the device specific bindings are written in the device specific language: e.g. Java for Android, Objective-C for iOS ...
What can Navit do already?
See the wiki for this one: http://wiki.openstreetmap.org/wiki/Navit#features
What Navit can't do yet:
- Device specific bindings are poor: e.g. in Android, you can't navigate to a contact: Navit can't access contacts, the volume button doesn't work yet ...
- Add via points is under development, GPX backtracking isn't implemented
- POI search (by name) or housenumber search isn't working yet. There is a nearest POI by category view though.
So if your a developer and have some time left, there is always work to do.
PS. I'm not one of the core members of Navit. I tried to help with Navit but had too little experience in C to solve real bugs.