La historia de OkMap
Antes de OkMap
Una experiencia adquirida a lo largo del tiempo
En 2003, cuando empezaba a tomar forma la idea de OkMap, ya tenía una forma de abordar el desarrollo de software que había adquirido durante los años anteriores.
La programación había comenzado muchos años antes, en un ámbito completamente diferente al de la cartografía. Con el tiempo se había consolidado una convicción sencilla: antes de desarrollar una funcionalidad es necesario comprender bien qué se quiere conseguir y cómo hacerlo; solo después viene la escritura del código.
El objetivo era, por tanto, intentar hacer las cosas correctamente desde el principio, evitando, en la medida de lo posible, construir soluciones destinadas a ser reescritas poco después.
Cuando OkMap nació en 2004, esta forma de trabajar ya estaba consolidada. Pero la fase inicial también fue una excepción: OkMap nació como un laboratorio personal, y experimentar también significaba escribir código para comprender problemas que todavía no conocía. Algunas de aquellas primeras soluciones serían posteriormente completamente reescritas, pero la experiencia adquirida durante aquella fase seguiría siendo fundamental.
El contexto, en cambio, cambió por completo: ya no software de gestión, sino cartografía, GPS y senderismo.
OkMap nació de la combinación de la experiencia en el desarrollo de software y una pasión por la cartografía y la montaña que había cultivado desde mi juventud.
El laboratorio
2004–2005 — De la experimentación a un software utilizable
En 2004 comenzó el desarrollo de OkMap. La idea no era crear un producto comercial, ni construir desde el principio un programa completo. Era sobre todo un laboratorio en el que experimentar con la cartografía digital, los mapas y las tecnologías necesarias para implementarlos.
Las primeras pruebas se centraron en la representación de la superficie terrestre. Una de las primeras proyecciones implementadas fue la proyección ortográfica, utilizada principalmente como ejercicio para visualizar la Tierra y experimentar con un globo giratorio. Paralelamente comenzó el trabajo sobre la representación de datos vectoriales sencillos.
Precisamente estas primeras experiencias mostraron hasta qué punto era necesario comprender bien los problemas cartográficos antes de poder resolverlos mediante software. La idea inicial del globo giratorio, por ejemplo, se basaba en un enfoque que no tenía en cuenta el hecho de que los datos vectoriales utilizados estaban referidos a un determinado centro de proyección. Al cambiar el punto de vista del globo también cambiaría la referencia de la proyección.
Aquella solución fue abandonada y gran parte del código fue reescrita. Sin embargo, no fue un trabajo perdido: aquella primera implementación había permitido comprender el problema y adquirir los conocimientos necesarios para abordarlo de otra manera.
Mientras tanto, OkMap comenzó a adquirir una forma más concreta. A los experimentos iniciales se añadieron la gestión de mapas ráster y su georreferenciación, la visualización y edición de datos GPS y la posibilidad de crear y modificar objetos gráficos vectoriales directamente sobre el mapa.
La gestión de la cartografía también se desarrolló progresivamente. Los datums, elipsoides y proyecciones se definieron en los archivos XML de la base de datos cartográfica de OkMap. Se implementaron las principales proyecciones necesarias para trabajar con mapas, entre ellas Lat/Lon, Mercator Transversa y Mercator.
A estas funciones se añadió un primer conjunto de herramientas para la importación y exportación de datos, estadísticas y gráficos de tracks GPS.
Todavía no era el programa en el que OkMap se convertiría en los años siguientes, pero ya existía un núcleo coherente de funcionalidades: un mapa ráster podía ser georreferenciado, los datos GPS podían visualizarse y editarse, los objetos podían representarse sobre la cartografía y los resultados podían ser analizados.
Era, en esencia, lo mínimo necesario para que OkMap dejara de ser solamente un laboratorio personal y pudiera convertirse en algo útil también para otras personas.
La distribución gratuita
2005–2015 — OkMap conoce a sus usuarios
Cuando OkMap alcanzó un conjunto de funcionalidades suficientemente completo para ser útil también a otras personas, decidí ponerlo a disposición de forma gratuita. Todavía no existía un proyecto comercial: el objetivo era permitir que otras personas interesadas en cartografía y GPS utilizaran el trabajo que había desarrollado.
La difusión se produjo inicialmente sobre todo a través del sitio web de OkMap y de los foros dedicados al GPS, la cartografía y el senderismo. En aquellos años estos lugares representaban un importante punto de encuentro para los aficionados y fueron también el primer entorno en el que OkMap comenzó a encontrarse con sus usuarios.
Con la distribución llegaron también nuevas necesidades. La relación con los usuarios se desarrolló en dos direcciones. Por un lado estaba la asistencia: intentar responder a las preguntas, ayudar a resolver los problemas y, cuando era necesario, profundizar en cuestiones cartográficas bastante específicas.
Por otro lado estaban las solicitudes de nuevas funcionalidades. No todas daban lugar a un desarrollo: cada necesidad debía evaluarse en relación con lo que era OkMap y con la forma en que podía integrarse en el programa.
En algunos casos, sin embargo, una solicitud concreta se convertía en la oportunidad de abordar un problema más general. Así ocurrió, por ejemplo, cuando un profesor experto en sistemas de referencia y transformaciones geodésicas me dio a conocer las transformaciones de Bursa-Wolf. Hasta entonces OkMap utilizaba simples traslaciones para la transformación de datums; el estudio de las nuevas fórmulas llevó a implementar un modelo más completo.
La gestión de las proyecciones también se amplió en respuesta a necesidades específicas. Algunos usuarios rusos llamaron la atención sobre la proyección de Bonne, que posteriormente fue añadida a OkMap.
Estos episodios representan una forma de evolucionar que seguiría siendo característica de OkMap: una necesidad concreta podía convertirse en el punto de partida para desarrollar una funcionalidad general, pero no significaba simplemente añadir una nueva función cada vez que alguien la solicitaba.
A lo largo de los años OkMap siguió creciendo en diferentes direcciones, manteniendo sin embargo su propia identidad. Las nuevas funcionalidades debían encontrar un lugar coherente en el programa y contribuir a hacerlo más útil, sin convertirlo en una simple colección de herramientas independientes.
Durante este periodo llegó también una de las funcionalidades que tendría un papel importante en la difusión de OkMap: la posibilidad de crear Garmin Custom Maps. Seguía siendo el periodo de distribución gratuita, pero OkMap ya comenzaba a utilizarse en escenarios cada vez más diversos de aquellos para los que había sido concebido inicialmente.
La comercialización
2015 — Después de once años
Durante unos once años OkMap se había distribuido gratuitamente. Mientras tanto el programa había crecido, había conocido usuarios con necesidades muy diferentes y había sido sometido a continuas pruebas y verificaciones.
Con el paso de los años también se había consolidado mi confianza en el software. Las funcionalidades se habían vuelto más numerosas y completas, pero sobre todo OkMap había alcanzado un nivel de madurez y fiabilidad que consideraba suficiente para poder ofrecerlo como producto comercial.
La decisión de iniciar la comercialización llegó, por tanto, como consecuencia natural de este recorrido. El 30 de julio de 2015 se realizó la primera venta de OkMap: después de once años, el laboratorio personal con el que todo había comenzado se convertía también en un software comercial.
El software sigue evolucionando
La comercialización no cambió, sin embargo, la forma en que OkMap continuaba desarrollándose. Las solicitudes de los usuarios se entrelazaban con la evolución de las herramientas de desarrollo, de las interfaces de usuario y de las tecnologías relacionadas con la cartografía y el GPS, llevando progresivamente el programa hacia nuevas posibilidades.
Web Maps
Otro cambio importante llegó con la introducción de las Web Maps. La idea surgió al observar la evolución de otros programas cartográficos y la posibilidad de utilizar directamente los mapas disponibles en Internet.
Para los usuarios fue un cambio significativo. Ya no era necesariamente necesario disponer de un mapa digital local: OkMap podía utilizar los mapas disponibles en línea, haciendo más sencillo el acceso a la cartografía y ampliando considerablemente las posibilidades de uso del programa.
También desde el punto de vista del desarrollo fue un paso importante. La gestión de los mapas en línea requería un enfoque completamente diferente del utilizado para los mapas ráster locales. OkMap comenzó así a gestionar diferentes servicios cartográficos disponibles en Internet y a permitir a los usuarios configurar otros nuevos.
Con el tiempo, la compatibilidad se amplió a diferentes tecnologías para la distribución de mapas en la web, siguiendo la evolución de los estándares y soluciones disponibles.
Del GPS al ROV
La evolución de OkMap también llevó a un uso muy diferente de aquel para el que había sido creado. Algunas de las funciones de comunicación ya presentes en el programa, creadas originalmente para recibir y compartir datos de posición en tiempo real, también podían utilizarse para conectar OkMap a dispositivos diferentes de los GPS convencionales.
De esta posibilidad nació una interfaz específica que permitía recibir los datos procedentes de un ROV y representarlos en el mismo mapa utilizado para seguir la posición de la embarcación. La misma arquitectura permitía gestionar varias fuentes de datos, identificándolas individualmente, y por tanto visualizar simultáneamente información procedente de diferentes dispositivos, como ROV y otros dispositivos subacuáticos.
Con el tiempo esta integración se enriqueció con nuevas funcionalidades. En el track del ROV se introdujo una banda lateral semitransparente para indicar el área observada por el vehículo, un círculo de proximidad alrededor de la posición actual para destacar el área observable en ese momento y una línea de rumbo para proyectar su dirección.
Estas soluciones llevaron a OkMap a contextos operativos profesionales muy diferentes de los originales, entre ellos actividades náuticas de búsqueda de personas desaparecidas y actividades arqueológicas subacuáticas.
Garmin PVT
Otra necesidad procedente del uso profesional de los GPS llevó a un desarrollo adicional. Algunos dispositivos Garmin utilizados en campo transmitían la información de posición mediante el protocolo PVT, diferente del flujo NMEA normal que ya gestionaba OkMap.
Para poder utilizar directamente estos dispositivos, se implementó por tanto la compatibilidad con el protocolo Garmin PVT. También en este caso una necesidad concreta se transformó en una funcionalidad integrada en el programa, ampliando las posibilidades de uso de OkMap con herramientas GPS ya utilizadas en actividades operativas.
Un software que sigue cambiando
Optimizar lo que ya existe
La evolución de OkMap no ha consistido únicamente en añadir nuevas funcionalidades. En algunos casos ha sido necesario volver sobre partes del programa ya consolidadas para mejorar su funcionamiento.
Un ejemplo es el sistema de renderizado de los objetos gráficos sobre el mapa. A medida que aumentaban las posibilidades del programa, redibujar cada vez el mapa completo se volvía cada vez menos eficiente. Por ello, el sistema se replanteó para redibujar únicamente lo que había cambiado, manteniendo en la memoria gráfica las partes que no habían cambiado y recomponiéndolas como una única capa.
Intervenciones de este tipo no añaden necesariamente una nueva opción en los menús, pero pueden cambiar significativamente el comportamiento del programa.
La curiosidad como motor del desarrollo
No todas las nuevas funcionalidades nacieron de una solicitud. Algunas fueron simplemente la oportunidad de explorar una posibilidad técnica y comprender si podía encontrar un lugar útil dentro de OkMap.
Así nació, por ejemplo, la compatibilidad con la generación de mapas hillshade y color relief, aprovechando una posibilidad ya ofrecida por las herramientas utilizadas por OkMap. En otros casos, la curiosidad llevó a estudiar cuál podía ser un algoritmo eficaz para generar curvas de nivel como datos vectoriales.
Otras experimentaciones llevaron a herramientas más directamente relacionadas con el uso cotidiano del programa, como la identificación del sistema de referencia más probable de un mapa cuando no se indica el CRS pero están disponibles las coordenadas métricas, o la descarga de waypoints desde OpenStreetMap.
Una nueva frontera: la cobertura sistemática
Una de las funcionalidades más recientes nació una vez más de una necesidad relacionada con el ROV: la posibilidad de generar automáticamente un track en patrón de barrido para cubrir sistemáticamente un área de búsqueda, o de generar una cuadrícula de rutas dentro de un área definida por un polígono.
La función se diseñó como una herramienta general de planificación de rutas y no como una característica específica de los ROV. El mismo tipo de ruta puede utilizarse, por ejemplo, para planificar la cobertura de un área con un dron, como en el caso de un reconocimiento de un campo agrícola.
Es un ejemplo de cómo una necesidad concreta puede convertirse en una función más general, capaz de encontrar aplicaciones también en contextos diferentes de aquel que había originado su desarrollo.
Veinte años después
Más allá de los usos previstos
En 2024 habían transcurrido veinte años desde el inicio del desarrollo de OkMap. El programa era ya muy diferente de aquel primer laboratorio personal, pero algunas de las ideas fundamentales con las que había nacido seguían siendo las mismas.
A lo largo de los años OkMap ha entrado en contextos que iban mucho más allá de aquellos que había imaginado al principio. Algunos usos eran consecuencia directa de las funcionalidades desarrolladas, mientras que otros nacieron de necesidades específicas de los usuarios y llevaron a nuevas posibilidades para el programa.
En algunos casos se trataba de actividades profesionales en las que la cartografía y la posición geográfica eran elementos importantes del trabajo cotidiano. OkMap se ha utilizado, entre otras cosas, en actividades náuticas y subacuáticas, en la búsqueda de personas desaparecidas y en actividades arqueológicas.
OkMap también se ha utilizado para realizar levantamientos durante algunas importantes operaciones de recuperación, trabajando sobre un mapa subacuático de la zona.
Con el paso de los años me he dado cuenta de que los usos de un software como OkMap pueden ser muchos más de los que su desarrollador pueda conocer o imaginar.
La relación con los usuarios
A lo largo de los años, la relación con los usuarios se ha convertido en una parte importante de la historia de OkMap. No se ha tratado únicamente de proporcionar asistencia, sino de intentar comprender las situaciones en las que se utilizaba el programa y las dificultades que podían surgir en el uso cotidiano.
Siempre he intentado responder a las solicitudes recibidas y, cuando un problema lo requería, estudiarlo directamente. En algunos casos esto ha significado trabajar junto con el usuario sobre su situación concreta, por ejemplo verificando personalmente un mapa y la elección de los puntos de control necesarios para georreferenciarlo correctamente, hasta proporcionar un procedimiento paso a paso.
Esta relación ha hecho que OkMap siguiera evolucionando también a través de la experiencia de quienes lo utilizaban. Las solicitudes no se convertían automáticamente en nuevas funciones: primero se evaluaban y, cuando encontraban un lugar coherente dentro del conjunto del programa, podían pasar a formar parte de su evolución.
Y continúa
Después de más de veinte años OkMap sigue desarrollándose. Las tecnologías cambian, surgen nuevas necesidades y llegan nuevas ideas, pero la forma de abordar el proyecto ha permanecido esencialmente igual: comprender, experimentar, verificar y desarrollar aquello que puede ser realmente útil.
La historia de OkMap, por tanto, continúa...
Descubre OkMap y sus funcionalidades
Descubre OkMap Desktop y OkMap Mobile, explora sus funcionalidades y encuentra los recursos útiles para aprovechar al máximo el software.
Software para Windows - Funcionalidades Desktop - Funcionalidades Mobile