La storia di OkMap
Prima di OkMap
Un'esperienza che viene da lontano
Nel 2003, quando iniziava a prendere forma l'idea di OkMap, c'era già un modo di affrontare lo sviluppo del software che avevo maturato negli anni precedenti.
La programmazione era iniziata molti anni prima, in un ambito completamente diverso da quello cartografico. Nel tempo si era consolidata una convinzione semplice: prima di sviluppare una funzionalità è necessario capire bene che cosa si vuole ottenere e come farlo; solo dopo viene la scrittura del codice.
L'obiettivo era quindi cercare di realizzare le cose correttamente fin dall'inizio, evitando, per quanto possibile, di costruire soluzioni destinate a essere rifatte poco dopo.
Quando nel 2004 nacque OkMap, questo modo di lavorare era già acquisito. Ma la fase iniziale fu anche un'eccezione: OkMap nacque come laboratorio personale, e sperimentare significava anche scrivere codice per capire problemi che ancora non conoscevo. Alcune di quelle prime soluzioni sarebbero state successivamente completamente riscritte, ma l'esperienza acquisita durante quella fase sarebbe rimasta fondamentale.
Il contesto invece cambiava completamente: non più software gestionale, ma cartografia, GPS ed escursionismo.
OkMap nacque dall'incontro tra l'esperienza nello sviluppo del software e una passione per la cartografia e la montagna che avevo coltivato fin dalla giovinezza.
Il laboratorio
2004–2005 — Dalla sperimentazione a un software utilizzabile
Nel 2004 iniziò lo sviluppo di OkMap. L'idea non era quella di creare un prodotto commerciale, né di costruire fin dall'inizio un programma completo. Era soprattutto un laboratorio nel quale poter sperimentare con la cartografia digitale, le mappe e le tecnologie necessarie per implementarle.
Le prime prove riguardarono la rappresentazione della superficie terrestre. Una delle prime proiezioni implementate fu quella ortografica, utilizzata soprattutto come esercizio per visualizzare la Terra e sperimentare un globo rotante. Parallelamente iniziò il lavoro sulla rappresentazione di semplici dati vettoriali.
Proprio queste prime esperienze mostrarono quanto fosse necessario comprendere bene i problemi cartografici prima di poterli risolvere con il software. L'idea iniziale del globo rotante, ad esempio, si basava su un approccio che non teneva conto del fatto che i dati vettoriali utilizzati erano riferiti a un determinato centro di proiezione. Cambiando il punto di vista del globo sarebbe quindi cambiato anche il riferimento della proiezione.
Quella soluzione fu abbandonata e gran parte del codice venne riscritta. Non fu però lavoro perso: quella prima implementazione aveva permesso di capire il problema e di acquisire le conoscenze necessarie per affrontarlo in modo diverso.
Nel frattempo OkMap cominciò a prendere una forma più concreta. Alle sperimentazioni iniziali si aggiunsero la gestione delle mappe raster e la loro georeferenziazione, la visualizzazione e la modifica dei dati GPS e la possibilità di creare e modificare oggetti grafici vettoriali direttamente sulla mappa.
Anche la gestione della cartografia si sviluppò progressivamente. Datum, ellissoidi e proiezioni erano definiti nei file XML del database cartografico di OkMap. Vennero implementate le principali proiezioni necessarie al lavoro con le mappe, tra cui Lat/Lon, Transverse Mercator e Mercator.
A queste funzioni si aggiunsero un primo insieme di strumenti per l'importazione e l'esportazione dei dati, le statistiche e i grafici delle tracce GPS.
Non era ancora il programma che sarebbe diventato negli anni successivi, ma ormai esisteva un nucleo coerente di funzionalità: una mappa raster poteva essere georeferenziata, i dati GPS potevano essere visualizzati e modificati, gli oggetti potevano essere rappresentati sulla cartografia e i risultati potevano essere analizzati.
Era, in sostanza, il minimo necessario perché OkMap smettesse di essere soltanto un laboratorio personale e potesse diventare qualcosa di utile anche per altri.
La distribuzione gratuita
2005–2015 — OkMap incontra i suoi utenti
Quando OkMap raggiunse un nucleo di funzionalità sufficientemente completo per essere utile anche ad altri, decisi di renderlo disponibile gratuitamente. Non c'era ancora un progetto commerciale: l'obiettivo era permettere ad altre persone interessate alla cartografia e al GPS di utilizzare il lavoro che avevo sviluppato.
La diffusione avvenne inizialmente soprattutto attraverso il sito di OkMap e i forum dedicati al GPS, alla cartografia e all'escursionismo. In quegli anni questi luoghi rappresentavano un importante punto di incontro per gli appassionati e furono anche il primo ambiente nel quale OkMap cominciò a incontrare i suoi utilizzatori.
Con la distribuzione arrivarono anche nuove esigenze. Il rapporto con gli utenti si sviluppò in due direzioni. Da una parte c'era l'assistenza: cercare di rispondere alle domande, aiutare a risolvere i problemi e, quando necessario, entrare nel merito di questioni cartografiche anche piuttosto specifiche.
Dall'altra c'erano le richieste di nuove funzionalità. Non tutte portavano a uno sviluppo: ogni esigenza doveva essere valutata rispetto a ciò che OkMap era e al modo in cui avrebbe potuto integrarsi nel programma.
In alcuni casi, però, una richiesta particolare diventava l'occasione per affrontare un problema più generale. È accaduto, ad esempio, quando un professore esperto di sistemi di riferimento e trasformazioni geodetiche mi fece conoscere le trasformazioni di Bursa-Wolf. Fino ad allora OkMap utilizzava semplici traslazioni per la trasformazione dei datum; lo studio delle nuove formule portò all'implementazione di un modello più completo.
Anche la gestione delle proiezioni si arricchì in risposta a esigenze specifiche. Alcuni utenti russi portarono l'attenzione sulla proiezione di Bonne, che venne successivamente aggiunta a OkMap.
Questi episodi rappresentano un modo di evolvere che sarebbe rimasto caratteristico di OkMap: una necessità concreta poteva diventare lo spunto per sviluppare una funzionalità generale, ma non significava aggiungere semplicemente una nuova funzione ogni volta che qualcuno ne faceva richiesta.
Nel corso degli anni OkMap continuò così a crescere in direzioni diverse, mantenendo però una propria identità. Le nuove funzionalità dovevano trovare un posto coerente nel programma e contribuire a renderlo più utile, senza trasformarlo in una semplice raccolta di strumenti indipendenti.
In questo periodo arrivò anche una delle funzionalità che avrebbe avuto un ruolo importante nella diffusione di OkMap: la possibilità di creare Garmin Custom Maps. Era ancora il periodo della distribuzione gratuita, ma OkMap cominciava ormai a essere utilizzato in scenari sempre più diversi da quelli per cui era stato concepito all'inizio.
La commercializzazione
2015 — Dopo undici anni
Per circa undici anni OkMap era stato distribuito gratuitamente. Nel frattempo il programma era cresciuto, aveva incontrato utenti con esigenze molto diverse ed era stato sottoposto a continui test e verifiche.
Nel corso degli anni si era consolidata anche la mia fiducia nel software. Le funzionalità erano diventate più numerose e complete, ma soprattutto OkMap aveva raggiunto un livello di maturità e affidabilità che ritenevo sufficiente per poterlo proporre come prodotto commerciale.
La decisione di iniziare la commercializzazione arrivò quindi come conseguenza naturale di questo percorso. Il 30 luglio 2015 fu effettuata la prima vendita di OkMap: dopo undici anni, il laboratorio personale con cui tutto era iniziato diventava anche un software commerciale.
Il software continua a evolvere
La commercializzazione non cambiò però il modo in cui OkMap continuava a svilupparsi. Le richieste degli utenti si intrecciavano con l'evoluzione degli strumenti di sviluppo, delle interfacce utente e delle tecnologie legate alla cartografia e ai GPS, portando progressivamente il programma verso nuove possibilità.
Web Maps
Un altro cambiamento importante arrivò con l'introduzione delle Web Maps. L'idea nacque osservando l'evoluzione di altri software cartografici e dalla possibilità di utilizzare direttamente le mappe disponibili in rete.
Per gli utenti era un cambiamento significativo. Non era più necessario disporre necessariamente di una carta digitale locale: OkMap poteva utilizzare le mappe disponibili on-line, rendendo più semplice l'accesso alla cartografia e ampliando notevolmente le possibilità di utilizzo del programma.
Anche dal punto di vista dello sviluppo fu un passaggio importante. La gestione delle mappe on-line richiese un approccio completamente diverso da quello utilizzato per le mappe raster locali. OkMap iniziò così a gestire diversi servizi cartografici disponibili in rete e a permettere agli utenti di configurarne di nuovi.
Nel tempo il supporto si è esteso a diverse tecnologie per la distribuzione delle mappe sul web, seguendo l'evoluzione degli standard e delle soluzioni disponibili.
Dal GPS al ROV
L'evoluzione di OkMap portò anche a un utilizzo molto diverso da quello per cui era nato. Alcune delle funzioni di comunicazione già presenti nel programma, nate per ricevere e condividere in tempo reale i dati di posizione, potevano essere utilizzate anche per collegare OkMap a dispositivi diversi dai normali GPS.
Da questa possibilità nacque un'interfaccia dedicata che permetteva di ricevere i dati provenienti da un ROV e di rappresentarli sulla stessa mappa utilizzata per seguire la posizione dell'imbarcazione. La stessa architettura permetteva di gestire più sorgenti di dati, identificandole singolarmente, e quindi di visualizzare contemporaneamente informazioni provenienti da dispositivi diversi, come ROV e altri dispositivi subacquei.
Nel tempo questa integrazione si arricchì di nuove funzionalità. Sulla traccia del ROV venne introdotta una banda laterale semitrasparente per indicare l'area osservata dal veicolo, un cerchio di prossimità sulla posizione corrente per evidenziare l'area osservabile in quel momento e una linea di rilevamento per proiettarne la direzione.
Queste soluzioni portarono OkMap in contesti operativi professionali molto diversi da quelli originari, tra cui attività nautiche di ricerca di persone scomparse e attività archeologiche subacquee.
Garmin PVT
Un'altra esigenza proveniente dall'utilizzo professionale dei GPS portò a un ulteriore sviluppo. Alcuni dispositivi Garmin utilizzati sul campo trasmettevano le informazioni di posizione attraverso il protocollo PVT, diverso dal normale flusso NMEA già gestito da OkMap.
Per poter utilizzare direttamente questi dispositivi, venne quindi implementato il supporto al protocollo Garmin PVT. Anche in questo caso una necessità concreta si trasformò in una funzionalità integrata nel programma, estendendo le possibilità di utilizzo di OkMap con strumenti GPS già impiegati in attività operative.
Un software che continua a cambiare
Ottimizzare ciò che già esiste
L'evoluzione di OkMap non è passata soltanto dall'aggiunta di nuove funzionalità. In alcuni casi è stato necessario tornare su parti del programma già consolidate per migliorarne il funzionamento.
Un esempio è il sistema di rendering degli oggetti grafici sulla mappa. Con il crescere delle possibilità del programma, ridisegnare ogni volta l'intera mappa diventava sempre meno efficiente. Il sistema venne quindi ripensato in modo da ridisegnare soltanto ciò che era stato modificato, mantenendo in memoria grafica le parti che non erano cambiate e ricomponendole come un unico livello.
Interventi di questo tipo non aggiungono necessariamente una nuova voce nei menu, ma possono cambiare in modo significativo il comportamento del programma.
La curiosità come motore di sviluppo
Non tutte le nuove funzionalità sono nate da una richiesta. Alcune sono state semplicemente l'occasione per esplorare una possibilità tecnica e capire se potesse trovare un posto utile all'interno di OkMap.
È nato così, ad esempio, il supporto alla generazione di mappe hillshade e color relief, sfruttando una possibilità già offerta dagli strumenti utilizzati da OkMap. In altri casi la curiosità ha portato a studiare quale potesse essere un algoritmo efficace per generare le isoipse come dati vettoriali.
Altre sperimentazioni hanno portato a strumenti più direttamente legati all'uso quotidiano del programma, come l'identificazione del sistema di riferimento più probabile di una mappa quando il CRS non è indicato ma sono disponibili le coordinate metriche, oppure il download dei waypoint da OpenStreetMap.
Una nuova frontiera: la copertura sistematica
Una delle funzionalità più recenti è nata ancora una volta da un'esigenza legata al ROV: la possibilità di generare automaticamente una traccia a pettine per coprire sistematicamente un'area di ricerca, oppure di generare una griglia di percorsi all'interno di un'area definita da un poligono.
La funzione è stata pensata come uno strumento generale di pianificazione di percorsi e non come una caratteristica specifica dei ROV. Lo stesso tipo di percorso può infatti essere utilizzato, ad esempio, per programmare la copertura di un'area con un drone, come nel caso di una ricognizione su un campo agricolo.
È un esempio di come una necessità concreta possa diventare una funzione più generale, capace di trovare applicazioni anche in contesti diversi da quello che ne aveva originato lo sviluppo.
Vent'anni dopo
Oltre gli utilizzi previsti
Nel 2024 erano trascorsi vent'anni dall'inizio dello sviluppo di OkMap. Il programma era ormai molto diverso da quel primo laboratorio personale, ma alcune delle idee fondamentali con cui era nato erano rimaste le stesse.
Nel corso degli anni OkMap è entrato in contesti che andavano ben oltre quelli che avevo immaginato all'inizio. Alcuni utilizzi erano conseguenza diretta delle funzionalità sviluppate, altri sono nati da esigenze specifiche degli utenti e hanno portato a nuove possibilità per il programma.
In alcuni casi si trattava di attività professionali nelle quali la cartografia e la posizione geografica erano elementi importanti del lavoro quotidiano. OkMap è stato utilizzato, tra gli altri, in attività nautiche e subacquee, nella ricerca di persone scomparse e in attività archeologiche.
OkMap è stato utilizzato anche per effettuare rilevamenti durante alcune importanti operazioni di recupero, lavorando su una mappa subacquea dell'area.
Con il passare degli anni mi sono reso conto che gli utilizzi di un software come OkMap possono essere molti più di quelli che il suo sviluppatore riesca a conoscere o ipotizzare.
Il rapporto con gli utenti
Nel corso degli anni il rapporto con gli utenti è diventato una parte importante della storia di OkMap. Non si è trattato soltanto di fornire assistenza, ma di cercare di comprendere le situazioni nelle quali il programma veniva utilizzato e le difficoltà che potevano emergere nell'uso quotidiano.
Ho sempre cercato di rispondere alle richieste ricevute e, quando un problema lo richiedeva, di approfondirlo direttamente. In alcuni casi questo ha significato lavorare insieme all'utente sulla sua situazione concreta, ad esempio verificando personalmente una carta e la scelta dei punti di controllo necessari per georeferenziarla correttamente, fino a fornire una procedura passo per passo.
Questo rapporto ha fatto sì che OkMap continuasse a evolvere anche attraverso l'esperienza di chi lo utilizzava. Le richieste non diventavano automaticamente nuove funzioni: venivano prima valutate e, quando trovavano un posto coerente nell'insieme del programma, potevano diventare parte della sua evoluzione.
E continua
Dopo più di vent'anni OkMap continua a essere sviluppato. Le tecnologie cambiano, emergono nuove esigenze e arrivano nuove idee, ma il modo di affrontare il progetto è rimasto sostanzialmente lo stesso: capire, sperimentare, verificare e sviluppare ciò che può essere realmente utile.
La storia di OkMap, quindi, continua...
Scopri OkMap e le sue funzionalità
Scopri OkMap Desktop e OkMap Mobile, approfondisci le funzionalità e trova le risorse utili per utilizzare al meglio il software.
Software per Windows - Funzionalità Desktop - Funzionalità Mobile