Non dico certo una novità se affermo che secondo me il mercato del software per palmare è ben lungi dall'essere saturo. Ho googlato molte volte in passato per vedere se ci fossero software particolarmente accattivanti, ma sono sempre rimasto deluso. A parte Agenda Fusion, di cui mi sono preso una licenza, in giro c'è davvero poco: i soliti PIM, qualche convertitore di valute, software che non capisci se vanno davvero oppure no. Eppure - e lo dico anche a me - da quando il codice managed può girare anche su Windows Mobile, è molto più accessibile produrre qualcosa: basta solo l'idea.
Tutta questa storia dei GPS, del loro basso costo, della loro diffusione, mi ha fatto venir la voglia di provare qualcosa. Chissà quando, però! Questa pagina su MSDN è il punto d'inizio per capire come andare a rilevare i dati forniti dal ricevitore GPS. Ricordo che con Windows Mobile 5.0 ci sono due modalità per accedere: o via hardware, o attraverso il driver intermedio fornito nel sistema operativo. Quest'ultimo ha due vantaggi terrificanti: 1) più applicazioni possono accedere al GPS allo stesso tempo (ci pensa il driver a far credere a ciascuna applicazione che in quel momento esiste solo lei - wow, che definizione tecnicamente rigorosa) e 2) possiamo ottenere i dati già parserizzati, senza dover quindi manualmente estrapolare dalla stringa NMEA le informazioni che ci servono. Il punto (2), per me che sono sviluppatore, è senz'altro un'ottima notizia. Possiamo comunque leggere i dati in formato RAW, ma grazie ad una serie di API possiamo ottenere le informazioni tramite oggetti COM come GPS_POSITION.
Per far ciò, dobbiamo scaricare ed installare il Windows Mobile Version 5.0 SDK e lavoricchiare un po' con P/Invoke, ma non dovrebbe essere nulla di drammatico. Ultima nota: se non vi interessa sviluppare, date un'occhiata comunque qua, perchè ci sono un paio di pagine che dicono come WM5 utilizza il registry per l'interfacciamento con il GPS - quali keys vengono lette, dov'è il nome della porta, il baud-rate, e via dicendo. Se volete fare qualche tweak, può essere un buon spunto.