Il Saotracker è stato un esperimento del 2005. Si trattava di uno script PHP che si collegava al sito pubblico di Costa Crociere, l'armatore della saonave, cioè la nave su cui era imbarcata la nostra amica Sao, e scaricava le informazioni inviate ogni 10 minuti dalla strumentazione di bordo.
Le coordinate GPS della saonave venivano
quindi trasmesse a Google Maps che generava la mappa. Grazie alle informazioni
metereologiche aggiuntive potevamo perfino sapere se Sao stava bene,
aveva caldo oppure si stava sciogliendo... ;-)
All'epoca Costa Crociere offriva un servizio simile ma senza
l'interattività di Google Maps.
Tanta acqua è passata sotto i ponti da allora, ma il saotracker resta un bel ricordo di sperimentazione di un affiatato gruppo di amici.
Crediti
Questa avventura, durata l'arco della crociera della nostra amica, nata (anche per) sperimentare con PHP, Javascript, l'API di Google Maps ed il CSS, è esistita grazie alle seguenti risorse e persone:
- Costa crociere, che già all'epoca offriva la geolocalizzazione e le webcam dalle navi della propria flotta;
- Google che offre gli impareggiabili Google Maps (personalizzabile tramite API) e Google Earth (controllabile tramite file KML/XML);
- Michele Ferretti, che ha realizzato la funzione di conversione delle coordinate (da me poi tradotta in PHP) nonché un tutorial sull'uso di Google Maps su cui si basava in parte questo progetto, di cui parlò molto positivamente nel suo blog;
- Le guide del mio hosting con molte informazioni utili circa l'uso di CURL;
- Antonio, che ha realizzato il logo per questo pazzo progetto e mi ha incoraggiato tantissimo a guardare oltre!
Cronologia di un'avventura
Per il piacere di ricordare com'eravamo e cosa facevamo (e a che ore lo facevamo!) ecco la cronologia di quella pazza settimana di tanti anni fa!
Versione 0.1 (28.7.2005)
- Prima versione funzionante.
Versione 0.2 (29.7.2005 - alba)
- Tradotta da JavaScript a PHP la funzione di conversione delle coordinate di gradi/minuti/secondi in latitudine/longitudine. Con l'occasione resa più flessibile l'espressione regolare di riconoscimento dati.
- Implementata la modalità KML che genera l'output nel dialetto XML utilizzabile per trasmettere locazioni dal web a Google Earth (funzione ancora sperimentale e da migliorare).
- Riorganizzata la pagina principale spostando le informazioni prima della mappa per maggiore chiarezza.
- Ora lo zoom di Google Maps è maggiore se la nave è ferma, cioè in porto.
- Apportate alcune migliorie al box informativo nella mappa ed ai crediti a fine pagina.
- Aggiunta questa pagina.
Versione 0.3 (29.7.2005 - pomeriggio)
- Ora si può accedere al file KML richiedendo saotracker.kml invece di saotracker.php?mode=kml. La modifica dovrebbe aumentare la compatibilità con i browser ed è ottenuta tramite RewriteEngine in un file .htaccess di controllo del server web Apache.
- Nel file KML mancava la stringa iniziale XML, corretto.
- Ora il file KML gestisce correttamente lo zoom, minore se la nave è in movimento e maggiore se non lo è. In pratica ora se la nave è in porto con un clic si può passare a Google Earth ed esplorare la città!
- Apportate alcune modifiche interne per rendere più coerente il funzionamento delle varie parti del programma.
Versione 0.9 (30.7.2005)
- Razionalizzata la gestione delle condizioni d'errore.
- Separate le varie entità del programma: codice PHP, HTML&JavaScript, XML.
- Aggiunti due file da (XHTML e KML) da inviare in caso di errore interno.
- Migliorato e corretto il codice CSS.
- Modificata la gestione della key dell'API di Google Maps: ora il codice PHP la include e definisce come variabile andandola a cercare nella cartella corrente. In questo modo è possibile spostare lo script senza apportare modifiche ma semplicemente inserendo nella cartella la key gratuita corrispondente.
- Aggiunto un piccolo modulo di statistica, tanto per vedere chi usa la pagina ;-)
- Inserito un logo offerto dal buon Antò e modificati un po' i colori del sito.
Versione 0.92 (1.8.2005)
- Dopo tanta fatica... il collegamento col satellite se ne va e il saotracker diventa uno cosa inutile, sigh!
- Per rendere noti eventuali problemi come questo, aggiunto il rilevamento dell'orario di ultimo aggiornamento.
- Apportate alcune migliorie alla gestione dei CSS.
Versione 0.94 (1.8.2005 - pomeriggio)
- Ora la data dell'ultimo aggiornamento è visualizzata nel nostro fuso orario (GMT+2) e non in quello in cui viene proposta sul sito (GMT).
- L'eventuale avviso di problemi di aggiornamento ha ora una gestione a parte e un'impaginazione propria.
- Ottimizzate le impostazioni CSS e aumentata la compatibilità con IE5.5.
- Razionalizzata la stringa di versione e gli elementi XHTML identificativi dello script.