I was already discussing this with dbrashear in some other thread. Basically gpsapp should at some point be split up in a backend, which very possibly could be gpsd, and possible multiple frontends. Communication could go through a shared memory page, socket, or named pipe.

Things that frontends could do are numerous. Show directions to local restaurants that are still open, especially fun if it isn't a list of mickey d's, but those excellent local places that you'd never know about unless someone told you. Automatically reprogramming the tuner for local radio stations when driving long distances. Public 802.11 access points in the area, to get that daily empeg.comms.net fix while you're on the road.

It would also make it easier to keep gpsapp responsive, a background thread/process could do the map-drawing while the main program just deals with key input and refreshing the display. Similarily we could track progress and pop up directions even while the gpsapp visuals are not active (i.e. when we're in the player app).

The sky is the limit. Although in reality, available programming cycles are probably more the limit
_________________________
40GB - serial #40104051 gpsapp