Programación SIG

sábado, diciembre 31, 2005

Un año de programación SIG - Parte 2

En esta segunda parte, me la voy a jugar con 5 predicciones de desarrollo GIS para el año que viene, bueno, y un poco más allá, ya que me pongo......

1. Empiezo con un comentario radical: el SIG de escritorio, tal y como lo conocemos, morirá. De hecho, desde hace tiempo es un enfermo terminal. Me explico. Hace años los únicos que manejaban estas aplicaciones eran "especialistas", hoy en día esto ha desaparecido prácticamente, los SIG de escritorio tienen interfaces visuales y son más potentes que nunca, pero los puede utilizar cualquiera. De hecho, son tan potentes que empiezan a no servir para las necesidades específicas que requiere cada sector. De hecho, cada vez es más frecuente la comercialización/utilización de librerías de componentes para personalizar nuestro propio SIG, en cualquier entorno (web, escritorio, móvil).

Bueno, es un poco exagerado, siempre hay un sitio para una buena aplicación de uso general, que usa el 20% de la funcionalidad y que sirve para el 80% de los usuarios. Al final, son buenas noticias para los desarrolladores, cada vez hay más necesidad de adaptación y personalización, no hay más que ver lo que piden en infojobs.

2. Veremos una evolución de los sistemas distribuidos, con todo lo que ello implica. Un SIG distribuido contará con funcionalidad SIG en todos los ámbitos, web, escritorio y móvil. De hecho, se perderá la "singularidad" de los SIG. No dejan de ser una serie de componentes y aplicaciones que aportan el análisis y consulta de información espacial. Hemos dejado de ser un sector "raro", y esta tendencia se acentuará en el 2006. Cada vez será más fácil para un desarrollador no especializado el programar con componentes SIG, como si lo hiciese con bases de datos relacionales.

Es un camino de no retorno, que está provocando la masiva aceptación y conocimiento de aplicaciones SIG, fuera de los ámbitos tradicionales. Asociado a esto, creo que en los próximos años este sector va a crecer muy por encima de la media, es algo que llevamos escuchando tiempo, pero ahora se empieza a notar. Y gran parte del trabajo por hacer tiene que ver con el desarrollo, así que habrá que estar a la altura del resto de la industria informática, como poco.

3. Esta predicción habla de tecnologías, y es quizás la más arriesgada, pero también la más divertida. Creo que seguiremos sin ver un SIG completamente programado en .NET, al menos uno que se use masivamente. La transición desde aplicaciones basadas en COM no está siendo todo lo rápida que a Microsoft le gustaría. Aún así, será una de las tecnologías de elección para programar en el escritorio (extensiones, aplicaciones personalizadas, etc) y en dispositivos móviles, algo menos en la web.

Java seguirá siendo el lenguaje para programación web y de dispositivos móviles, y cogerá un buen trozo del escritorio. Si estás empezando en esto y tienes que elegir plataforma de desarrollo, elige Java.

Seguiremos viendo proyectos con otras tecnologías (PHP,C,etc.), pero serán minoritarios. Está por ver cuánto tiempo tarda alguien en sacar algo con Ruby On Rails (si no lo han hecho ya), ahora que está tan de moda.

La menos arriesgada es apostar a caballo ganador. Bueno, caballo no, pingüino. Cada vez será más necesario tener aplicaciones multiplataforma, que se ejecuten con la misma funcionalidad en Windows y Linux, por citar los dos sistemas operativos más importantes en la actualidad. Linux está cogiendo algo de espacio en el escritorio, de forma muy tímida, pero donde ampliará su presencia es en el servidor.

En la industria informática se viene hablando de tecnologías que parecen antagónicas y competidoras pero que persiguen el mismo objetivo: hacer la vida más sencilla al usuario (bueno, y crear aplicaciones más vistosas, que entren por los ojos). Me refiero a todo lo relacionado con Web 2.0 (Ajax, Flex, RIA, etc.) y a los "clientes ricos" conectados parcialmente (Java Web Start, Smart Clients, etc.). En aplicaciones SIG, ambos tienen su lugar, pero mi apuesta es por los segundos. Esta apuesta es muy arriesgada, porque todo el mundo tiene en mente las aplicaciones web (a veces sobrevaloradas) pero en SIG tiene muchísimo sentido tener clientes "pesados" que conectan con un servidor para obtener funcionalidad y datos, con interfaces de usuario que la web nunca tendrá en cuanto a funcionalidad y usabilidad, y capaces de visualizar y analizar datos locales con la misma efectividad. El ejemplo más típico es Google Earth, pero veremos casos más completos, como éste. En cualquier caso es un nuevo tipo de aplicación SIG, más pequeña, más extensible y personalizable, y de uso más general. Por cierto, donde causarán más impacto es en dispositivos móviles.

Mi última predicción tecnológica tiene que ver con los servicios web. Veremos más y mejores servicios, hoy en día todo el mundo conoce los servicios de datos, bien en forma de especificaciones OGC (no siempre muy afortunadas) o ejemplos más concretos como este. Pero los que creo que empezarán a eclosionar son los servicios de funcionalidad, con interfaces estándar como SOAP o REST. Ya existen a día de hoy, pero al menos en España son muy poco utilizados.

4. El mercado de trabajo para desarrolladores SIG seguirá siendo lo más demandado en el sector. Tiene sentido, si quiero ser coherente con lo escrito anteriormente. De hecho, la conversión de sistemas SIG desde aplicaciones más o menos científicas a sistemas de gestión producen este efecto.

5. Para acabar, a nivel personal, confío en que el 2006 sea mejor en lo profesional incluso que el 2005. Para el año que viene espero seguir creciendo profesionalmente, y sobre todo aprendiendo nuevas técnicas y profundizando en el desarrollo de sistemas de información geográfica. Espero tener tiempo para aprender Flash, echarle una ojeada a RoR por pura curiosidad, y tener la oportunidad de desarrollar algo con J2ME. Confío en seguir teniendo la suerte de explorar las últimas novedades, pues aunque esto me hace no quedarme quieto ni un instante (y a veces cansa), es intelectualmente muy estimulante.



Un año de programación SIG - Parte 1

Bueno, el resumen anual y predicciones del nuevo año son un clásico en toda columna de opinión que se precie, así que me voy a atrever con una versión personal de 5 hitos en el desarrollo de sistemas GIS durante este año (primera parte), y 5 "predicciones" de por dónde van a ir los tiros el año que viene (segunda parte). Es difícil resumir 365 días, así que agarra tu refresco favorito y lee con paciencia.

El mundo del desarrollo ha sido sacudido en el año 2005 por algunas "nuevas" tecnologías y tendencias (o la reinvención de las mismas), y los SIG no han sido ajenos a este fenómeno. Algunos ejemplos se citan a continuación.

1. Asistimos a un avance del software open source en toda la industria en general, y también en los SIG. Sin embargo, los SIG open source están muy atrasados en funcionalidad con respecto al software comercial (hablando en términos relativos y comparándolo con otros sectores). Los que tenían más funcionalidad (GRASS.....) no parecen haber evolucionado tecnológicamente y se han estancado, siendo su uso residual. Está por llegar el "gran" SIG open source y gratuito (pues esta segunda característica es la que importa, no nos engañemos), pero estamos más cerca, de ello no me cabe duda, sin embargo no ocurrirá en mi modesta opinión hasta que uno de los "grandes" done código o colabore con programadores (ya está ocurriendo, ver unas líneas más abajo).

Más que un programa será un conjunto de programas, bien conocidos, fáciles de instalar y de utilizar.

Al hilo de esto, se han producido movimientos interesantes en el mundillo GIS open source. En España existen iniciativas apoyadas por la administración que promocionan software libre por encima del comercial, y han surgido proyectos de creación de sistemas GIS prácticamente desde cero, financiados con dinero público, con la intención de sustituir el software comercial que se venía utilizando. Una apuesta arriesgada que el tiempo dirá si fue acertada o no.

De forma más general, destaca sin duda la toma de poder por parte de Autodesk de la "marca" Mapserver, a golpe de fundación. Se puede leer más aquí.

A muchos miembros de la comunidad Mapserver no les ha hecho mucha gracia esto.

2. Este año ha sido sin duda el año de Google, y nos han regalado dos maravillosas aplicaciones para los giseros: Google Maps y Google Earth. Ambos orientados al usuario final, no especialista en GIS. Gracias a la difusión que tiene Google, todo el mundo los conoce. Lo interesante además es que podemos hacer nuestras pequeñas personalizaciones y adaptaciones, para compartir información geográfica con amigos y compañeros. Esto me lleva a una reflexión: cuando se tiene la mejor tecnología y el producto es gratis, a la gente le importa un bledo si es open source o no. No entro a valorar si esto es bueno o malo, pero la experiencia me demuestra que es así.

Gracias a estas aplicaciones se ha creado lo que se podría llamar una sociedad "sensible a la geografía". Y desde un punto de vista más tecnológico, el que interesa aquí, el caso de Google Earth demuestra que no todo está inventado, y que la web puede ser un mecanismo adecuado para aplicaciones complejas. El streaming de datos que utiliza, simplemente, se sale.

3. Hablando más de desarrollo, específicamente de aplicaciones web, este año han pegado el pelotazo los términos "AJAX" , "Web 2.0", "RIA = Rich Internet Applications", etc. Se han popularizado este tipo de aplicaciones, que nos proporcionan un nivel de interactividad en web que no estábamos acostumbrados a ver. Ya existen ejemplos en GIS, como Google Maps, la librería Ka-Map para UMN MapServer o los componentes que veremos en las siguientes versiones de ArcIMS y ArcGIS Server.

El éxito de este tipo de proyectos pasa, en mi opinión, por no caer en la tentación de usar "AJAX para todo", pues mantener semejante cantidad de código Javascript puede ser un verdadero infierno. Pero es una tecnología que se está asentando, y cuando se estabilice y generalice alguno de los "framework" de reciente aparición, será un arma muy poderosa en el arsenal de todo desarrollador de aplicaciones web, y muy particularmente de aplicaciones GIS, donde la vistosidad y usabilidad cuentan muchísimo.

4. En el año 2005 se ha consolidado la necesidad de contar con sistemas de información geográfica que sean capaces de integrarse con otras aplicaciones. Actualmente un SIG moderno debe ser capaz de integrarse con el resto de sistemas de una gran organización, ejecutarse en múltiples plataformas tecnológicas y sistemas operativos, y funcionar en red de forma colaborativa. Hace años que empezó esta tendencia (GIS corporativo), durante este año he podido asistir de forma personal al nacimiento y diseño de sistemas distribuidos. Conceptos como réplicas, sincronización, servicios web distribuidos, edición desconectada u online ya no nos resultan extraños y forman parte del presente.

5. Bueno, al ser un blog personal, he dejado para el final aspectos más particulares. Para mí el año 2005 ha sido un año de cambios, un año de duro y satisfactorio trabajo. Como años anteriores, un año de mucho aprendizaje, nunca se deja de aprender, un año de retos (y algún que otro marrón inesperado, que aunque desagradables también curten lo suyo), muchas presentaciones en público, pero, sobre todo, un año en el que he conocido a grandes profesionales y amigos, con los que ha sido un auténtico placer compartir la rutina, dentro y fuera de la oficina. Un año de programación SIG, en definitiva, un buen año.