Construyendo una Casa por los Cimientos: un Software Centrado en UX/DX

Steve Jobs decía que “tienes que empezar por la experiencia de usuario y entonces trabajar hacia atrás hasta la tecnología”. En efecto, es importante no empezar la casa por el tejado. Desarrollar tecnología primero, y después buscar dónde venderla puede no ser el enfoque más adecuado.

La tecnología ha alcanzado una madurez tal, que cada vez más, se pone en el centro a los usuarios. Por un lado, a los usuarios finales, es decir, se pone foco en la Experiencia de Usuario (UX); y, por otro lado, a los desarrolladores, en este caso se hace énfasis en la Experiencia del Desarrollador (DX).

Empecemos por la Experiencia de Usuario. Cuando se va a diseñar una nueva aplicación, es importante hacer las preguntas adecuadas al usuario, para que el resultado final sea satisfactorio para el cliente:

  • ¿Qué información necesita? Si, por ejemplo, el cliente solo necesita datos agregados, ¿por qué mostrar toda la información?
  • ¿Qué características necesita? Tratemos de no darle funcionalidad que no se necesita, y que puede considerarse una distracción, sobre todo en entornos críticos.
  • ¿Cómo va a interactuar con la aplicación? Nuestra tecnología quizá es capaz de mostrar unas interfaces de usuario muy complejas, pero puede ser que el usuario necesite una aplicación para ser manejada en una tablet robusta, con guantes, que requiere pocos botones y muy grandes.
  • ¿Cómo interactuará con la información? Ya no se trata de cómo la visualizará, sino de cómo podrá llegar a la información que necesita en un determinado momento. Es posible que disponga de cientos de fuentes de datos disponibles, pero el usuario quizá necesite que la aplicación le facilite el filtrado de la información relevante en un momento determinado.
  • ¿Qué vista de los datos necesita? Los mismos datos pueden mostrarse desde diferentes perspectivas, y lo más importante, de nuevo, es la relevancia. Es decir, lo que le importa a nuestro usuario en un momento determinado.

El desafío Geo-Ops y cómo afrontarlo con SDK y APIs

Todo esto nos lleva a lo que en Hexagon denominamos el desafío Geo-Ops. En el mundo de las aplicaciones geoespaciales nos encontramos dos partes bien diferenciadas: Geoespacial y Operacional. ¿Cómo llevamos la experiencia en productos e información geoespacial al mundo del desarrollo de aplicaciones operacionales? Lo hacemos a través de los Kit de Desarrollo de Software (SDK), que mejoran la Experiencia del Desarrollador, integrando la alta complejidad de la gestión de datos geoespaciales en las aplicaciones, sin necesidad de que el desarrollador tenga experiencia previa en este campo. De esta forma éstos, se pueden focalizar en mejorar la Experiencia del Usuario.

Así, el desarrollador puede estar tranquilo cuando diseña la arquitectura del sistema, porque el SDK se ocupará de que la aplicación funcione en cualquier plataforma. Lo mismo para el interfaz de usuario. El desarrollador puede centrarse en diseñarla a medida de las necesidades del cliente, y aprovechar componentes reutilizables del SDK para facilitarle el trabajo. En definitiva, el uso de los SDK permite a los equipos de desarrollo poder dedicar el tiempo a los requisitos funcionales, sin reinventar la rueda. Esta tecnología facilitará el desarrollo de aplicaciones a largo plazo que evolucionen con las necesidades del cliente.

Pero no vale cualquier SDK. Hay que elegirlo por su diseño. Es decir, que haya sido concebido como tal. El problema es que hay algunos SDK que han sido creados después de haber construido el software. Si hacemos un símil con un edificio, un buen SDK se diseña antes de construirlo, y por tanto cada puerta y ventana tiene un por qué, una función. En otros casos, se construye el edificio, al que no se le pensaban abrir puertas ni ventanas, porque iba a funcionar como caja negra, y más tarde se hacen esfuerzos por abrirlas, con resultados desastrosos. Estas puertas y ventanas son lo que se denominan Interfaces de Programación de Aplicaciones (API).

Abierto, flexible y rápido así es Luciad

El Portfolio Luciad es un software para construir Aplicaciones Geoespaciales Dinámicas, y tiene un SDK desde el inicio. Nació en 1999, y se creó para resolver problemas que el GIS no puede, como gestionar información dinámica, integrar fuentes de información, pensar en el largo plazo y reutilizar. Está muy focalizado en ciertos sectores como Defensa, Aviación, Smart Cities, y en general entornos de misión crítica. Es importante destacar que Luciad no es un GIS sino una serie de componentes para desarrollar aplicaciones de Location Intelligence.

En lo que respecta a la Experiencia de Desarrollador, utiliza las últimas innovaciones y tecnologías, oculta las complejidades y funciona en todas las plataformas. Si hablamos de Experiencia de Usuario, Luciad sobresale en rendimiento, precisión e interfaces de usuario. Dispone de productos para servidor, escritorio, navegador web y dispositivos móviles, tanto en Java, C++, C# y Javascript, y destaca porque no dispone de ningún formato propietario de datos. Simplemente se conecta a los datos de forma directa, y los trae a la aplicación con un enfoque In-memory.

La tecnología es tan ligera que puede funcionar tanto en entornos pesados de servidor, así como también embarcado en el ordenador de un avión, como en el caso del Mirage 2000D.

La gran ventaja es que el SDK está organizado en componentes para una máxima flexibilidad y reutilización. Estos componentes están separados por funcionalidad, son parte de un todo, y siguen los mismos principios, pudiéndose combinar y encadenar unos con otros. Es la mejor forma de ahorrar costes, porque solo se usa lo que se necesita, inspirando un desarrollo basado en componentes. Está basado en los más robustos principios de ingeniería de software desde su concepción, lo que hace que el buen diseño de este lleve a un buen diseño de las aplicaciones que lo utilizan.

En el largo plazo, Luciad aporta grandes beneficios. Todas las versiones nuevas son completamente compatibles hacia atrás, lo que significa que en la aplicación se puede sustituir una versión de Luciad por otra más moderna de una forma directa, sin necesidad de ningún desarrollo (plug & play). Una de las cuestiones que encarecen los proyectos geoespaciales es la falta de soporte para versiones del software. Bien, con Luciad esto no ocurre. Tenemos soporte de largo plazo, que hace que tengamos clientes que usan la misma versión del software desde hace años, y siguen obteniendo soporte por nuestra parte. Esto reduce el Coste Total de Propiedad (TCO) dramáticamente, y evita al cliente pagar por desarrollar de nuevo sus aplicaciones, sólo porque una versión del GIS ya no está soportada.

El diseño del SDK de Luciad a lo largo de todos sus productos es homogéneo y consistente, lo que permite aprender una vez y utilizar muchas veces con todos sus productos. Además, el desarrollador puede estar seguro de que nuevas versiones de las API no vendrán con sorprendentes cambios de diseño, que le obliguen a aprender todo de nuevo. Todo esto es posible porque está muy bien diseñado desde el inicio.

Luciad hará del desarrollador un súper desarrollador, ya que incluye infinidad de características out-of-the-box, que facilitarán su vida. Hablamos de rendimiento, soporte de formatos de datos, drivers, GPU, WebGL, etc.

El entorno evoluciona y también lo hace Luciad, con continuas mejoras de documentación en la plataforma de desarrolladores, se adapta a las tendencias de mercado como OpenJDK, JavaFX, etc.

Dejo para el final uno de los puntos más importantes, y que une el UX y el DX, y es el hecho de que el roadmap de Luciad está guiado por los usuarios, es decir, recogemos las necesidades que nos expresan nuestros clientes para mejorar nuestros productos, pudiendo llegar a acuerdos con ellos para definir la fecha de las nuevas funcionalidades.
En definitiva, estamos Luciad hará del desarrollador un súper desarrollador, ya que incluye infinidad de características out-of-the-box, que facilitarán su vida. Hablamos de rendimiento, soporte de formatos de datos, drivers, GPU, WebGL, etc.hablando de visualización y análisis de información geoespacial, con un rendimiento incomparable, en 2D/3D/4D, gestionando volúmenes ingentes de datos, y con la mayor versatilidad del mercado.

Descubra cómo puede utilizar el Portfolio Luciad para crear la aplicación exacta que sus usuarios necesitan en nuestro webinar (en inglés).