jueves, 1 de noviembre de 2018

Software: ¿Es Gephi obsoleto?

¿Está Gephi obsoleto? Situación y perspectivas.

Mathieu Jacomy | Blog Gephi


Nota: como es un poco largo, también puedes leerlo en Medium.

A pesar de años de colaboración, por primera vez, Eduardo, Mathieu y yo nos sentamos juntos en el mismo lugar. La comunidad Gephi existe principalmente en línea, y sus miembros tienen pocas ocasiones para verse en persona. Pero tenemos que hablar. Mathieu Bastian es el principal desarrollador de Gephi y actualmente vive en Berlín. Eduardo Ramos Ibáñez es el segundo contribuyente más prolífico después de Mathieu y el único otro que conoce en profundidad el núcleo de Gephi. Vive en madrid En cuanto a mí, quien inició nuestro proyecto, Mathieu Jacomy, vivo en París. Acabamos de llegar a Berlín para hablar en profundidad sobre Gephi: estado del proyecto, su relevancia, su futuro. Nuestro objetivo es cuestionar el proyecto Gephi y reevaluar nuestro compromiso con él. Necesitamos una imagen de las diferentes opciones. Comenzamos por el elefante en la habitación: ¿vale la pena el proyecto? Aquí está nuestra respuesta.


¿Qué está mal con el proyecto Gephi?

Nuestro objetivo es identificar las fortalezas y debilidades del proyecto. No se trata solo de evaluar si sus beneficios contrarrestan sus problemas, sino también de encontrar el curso correcto de acciones. Comencemos con los problemas.

Un problema común para los proyectos de código abierto de nicho, nuestro recurso más limitado es el liderazgo técnico. Qué significa eso? Es una consecuencia de que el código de Gephi es bastante complicado. Afortunadamente, esto no es un problema para todos los colaboradores, por ejemplo, es bastante fácil implementar un complemento de estadísticas. Muchas partes de Gephi podrían ser mejoradas por los desarrolladores de plugins, pero no todas las partes. A veces necesitamos modificar la arquitectura, o una parte profunda y específica como el motor GraphStore. Cuando surge, solo unos pocos miembros de la comunidad son competentes. A saber Mathieu y Eduardo. Codificar estas partes no requeriría habilidades locas, sino una buena cantidad de conocimiento específico de Gephi. Desafortunadamente, ese conocimiento está preso en el cerebro de dos personas (¡bueno, aún es mejor que una!). Esto es lo que llamamos el cuello de botella del liderazgo técnico. Podemos optar por solucionar los problemas centrales por nosotros mismos o difundir el conocimiento a otros desarrolladores, pero ambos escenarios requieren el precioso tiempo de Eduardo y / o Mathieu.

La tecnología está cambiando, debemos adaptarnos y desgasta el liderazgo técnico. Es obvio para los desarrolladores, pero no para los usuarios: no podemos simplemente producir una versión de Gephi que funcione bien y dejar que sea. Dejaría de funcionar porque la tecnología cambia. Las nuevas versiones de Java, los nuevos sistemas operativos romperían las funciones que funcionan bien en el entorno actual. Lamentablemente, cuando surgen incompatibilidades, generalmente los desarrolladores centrales deben lidiar con ellos. Estábamos en tal situación antes de la versión 0.9, en un momento en que el nuevo motor GraphStore aún no estaba listo pero la compatibilidad con Java se rompió y durante ese tiempo, los usuarios de Mac no pudieron usar Gephi sin un giro complicado. No estamos seguros de poder mantenernos al día de manera eficiente con estos cambios debido a nuestro limitado liderazgo técnico.

La tecnología evoluciona en una dirección desfavorable. La experiencia del usuario está en el centro del proyecto Gephi. Desafortunadamente, parece que el lenguaje Java tiende a desviarse del diseño y desarrollo de la interfaz de usuario. Es cierto que nunca ha sido una fortaleza de Java. Esta tecnología no es compatible con el diseño moderno de la interfaz de usuario. Creo que Java asume que la interfaz de usuario será desarrollada por un ingeniero en lugar de un diseñador. Puede ser incluso peor. Con la obsolescencia de OpenGL en Mac y la eliminación de JavaFX del entorno de ejecución, podríamos vivir en un mundo donde los softwares multiplataforma tienen un cerebro Java y una cara web. Gephi se basa en la biblioteca JOGL cuyo desarrollo es cada vez más incierto, lo que nos obliga a considerar alternativas como WebGL. Entendemos que tiene sentido delegar el diseño moderno de UI a un entorno bien establecido (HTML5 y amigos). Sin embargo, WebGL está lejos de la estabilidad y el rendimiento de OpenGL. Creemos que, desde la postura del usuario, Gephi trata mucho de forjar las habilidades de exploración y análisis de la red en casos pequeños y fáciles, y de ampliarlos a casos más grandes y más complicados. Gracias a su motor OpenGL, puede funcionar casi tan bien para redes de cientos de miles de nodos que de decenas de nodos. Si la capacidad de visualizar grandes conjuntos de datos es clave para Gephi, las tecnologías web no son una alternativa viable. No tenemos una solución definitiva para este problema y podríamos enfrentar un callejón sin salida tecnológico en un futuro no muy lejano.

Gephi no es solo sobre tecnología. Como proyecto, también debe enfrentar los cambios en la vida de sus colaboradores clave. Mathieu acaba de tener su primer hijo y, en general, nuestras carreras siguen sus propios caminos que no siempre coinciden con las necesidades del proyecto. Por un lado, somos más eficientes en lo que estamos haciendo, pero por otro lado, tenemos menos y menos tiempo para dedicarnos al proyecto. De hecho, solo tenemos menos tiempo libre. No queremos que Gephi muera, pero corremos el riesgo de cansarnos de la carga que representa. No perdimos nuestro deseo por este viaje inesperado, pero la realidad a menudo toca a la puerta y sería deshonesto omitir este aspecto de la situación.

Finalmente las necesidades de los usuarios también están cambiando. Los usuarios pueden acceder a muchos otros sistemas para el análisis y visualización de redes. Surgió un mercado de soluciones basadas en web y cada sistema encontró un nicho para instalarse. Un panorama de herramientas de red. Gephi ya no es necesario, si es que alguna vez lo fue. Las redes complejas alguna vez fueron el truco más de moda de los pioneros de las ciencias sociales en un mundo de big data, pero ahora tienen UMAP y redes neuronales profundas. Las redes complejas entraron en una era de "negocio como de costumbre". Dejaron de llamar la atención de las mentes más creativas. Las redes complejas tuvieron su momento, y pasó. No creemos que sea malo o triste, en realidad podría ser una oportunidad. Sin embargo, el contexto ha cambiado y es posible que Gephi ya no sea lo que la gente necesita. Entonces, ¿qué necesitan?

Lo que está bien con Gephi

Creemos que Gephi en realidad todavía satisface algunas necesidades, a veces de una manera única. Tenga en cuenta que estas ideas no son el resultado de un estudio sistemático, sino que surgen de nuestros contactos empíricos con los usuarios, durante talleres, en línea o en nuestra vida cotidiana. Eduardo, Mathieu y yo éramos bastante convergentes en nuestros sentimientos.

En primer lugar, Gephi todavía tiene un público y se encuentra principalmente en el ámbito de la educación y la investigación. La comunidad de Facebook está activa y, a menudo, presenta la visualización de datos digitales desde una perspectiva de las ciencias sociales, como las redes de Twitter. Dado que es el lugar principal donde pedir ayuda, también atrae una cierta cantidad de retoques y experimentación exóticos. La comunidad Gephi es más que solo usar el software, también es un espacio donde las personas comparten lo que han hecho, discuten varios temas y obtienen comentarios. Tiene algo de subcultura. Creemos que Gephi tiene cierto atractivo para las mentes curiosas, y que ayuda a cierto público a comprometerse con el análisis de la red. Seguir a quién menciona a Gephi en Twitter también nos hizo darnos cuenta de que "Gephi" se usa a veces como una etiqueta para referirse a una exploración visual. Este parece ser particularmente el caso en el análisis de redes sociales (SNA), la comunidad donde Gephi se extendió más. Desde que emergieron, las humanidades digitales también hicieron un amplio uso de Gephi. Por lo que observamos, Gephi tiende a ser más utilizado en las ciencias sociales y por los principiantes, pero, sin embargo, se utiliza en las ciencias naturales y por los usuarios avanzados como los científicos de datos. Podemos medir su éxito en el sector de la investigación por sus 3780 citas (contadas en Google Scholar). Este público probablemente encuentra algo en Gephi que no encuentra en ninguna otra parte, aunque solo sea gratis. Esta cantidad bastante grande de usuarios sigue siendo una buena razón para mantenerla y desarrollarla.

Gephi también tiene algunas especificidades que podrían perderse en el desafortunado caso de que su desarrollo llegue a su fin. Tiene su nicho y muchos usuarios lo valoran por lo que lo hace especial. Creemos que esta especificidad viene en tres partes. (1) Es un software gratuito que puede instalar fácilmente en múltiples plataformas. Esto lo convierte en una de las pocas opciones económicas para la enseñanza, talleres, etc. (2) Se enfoca en el análisis de redes desde una perspectiva gráfica e interactiva que es más intuitiva que las ecuaciones matemáticas de la teoría de grafos. Puede ser comprendido por personas no expertas, como estudiantes y periodistas de datos o investigadores de ciencias sociales, que se salen de sus competencias básicas. (3) Le permite ampliar sus habilidades de análisis y exploración de redes a redes mucho más grandes. Su curva de aprendizaje une pequeñas redes cualitativas con grandes conjuntos de datos cuantitativos. Los efectos de la complejidad y la forma en que explora los datos serán muy diferentes, pero las herramientas básicas a su disposición seguirán siendo las mismas (diseño, estadísticas, filtrado ...). Gephi es una herramienta integral que permite a los principiantes comprender la esencia de la exploración de la red. Está en su mejor momento en un entorno pedagógico donde las personas aprovecharán la práctica para mejorar sus habilidades de análisis de datos.

Quiero mencionar que algunas de las cosas que hacen atractivo a Gephi no son, en nuestra opinión, esenciales. Somos conscientes de que Gephi permite producir imágenes impresionantes y que la vista de un diseño de espacialización que se desarrolla en una red tiene algo fascinante. Ciertamente son un factor importante en su éxito. También desempeñan un papel en el compromiso del usuario con los datos, que es clave para progresar en la ciencia de los datos. Sin embargo, estas características atractivas solo tienen sentido en la medida en que llevan a los usuarios a mejorar sus habilidades de análisis de red. Aunque Gephi se puede usar para producir "pornografía de datos", creemos que no termina ahí. Jugar es solo el primer paso hacia la capacidad de obtener información de las redes. Otros dispositivos pueden producir visualizaciones evocadoras, pero Gephi es uno de los pocos que aprovechan activamente el juego para despertar el interés por la ciencia (en el campo del análisis de redes).

Donde se encuentra actualmente el proyecto Gephi

Gephi no es el único software para el análisis de redes y, lo que es más importante, no quiere serlo. Dependiendo del estilo y habilidades de uno, otras opciones podrían ser preferibles. NetworkX podría ser más flexible si conoces Python. Para dibujar diagramas debes dirigirte a GraphViz. Como biólogo, Cytoscape es la herramienta que usa tu comunidad ... ¿y has probado NodeXL? Diferentes dispositivos hacen cosas diferentes y Gephi no quiere ser todo eso. En el pasado, hemos tenido la tentación de crear una herramienta genérica para cualquier tipo de red, incluso el temido grafo de jerarquización mixta dinámica temática. Ahora queremos centrarnos en lo que Gephi hace mejor y articularlo con otras herramientas que tienen beneficios específicos.

Creemos que el nicho de Gephi es una exploración visual e interactiva de tipos comunes de redes con un conjunto de características que no son demasiado específicas y que se escalan a una gran cantidad de nodos y enlaces. Hemos observado que la mayoría de los usuarios tienden a explorar redes de múltiples órdenes de magnitud: de 10 a 10K nodos, o de 100 a 10M nodos ... Creemos que es una característica clave. Por el contrario, no creemos que la producción de un mapa estático sea su misión principal. Otras herramientas están en una mejor posición para esa tarea, y priorizamos las funciones de exploración sobre las salidas gráficas. Instantánea retroalimentación visual central para la identidad de Gephi. Lo que está en la mejor posición para hacer, es hacer que las cosas sean visibles cuando los usuarios aplican un algoritmo a su red. Fomentar este tipo de conciencia ayuda a los usuarios a reflexionar sobre su método, a dar sentido a su actividad y a optimizar su flujo de trabajo.

El kit de herramientas Gephi ha perdido la mayor parte de su relevancia. Las bibliotecas de procesamiento de grafos como NetworkX han madurado y presentan la mayoría, si no todas, las operaciones que puede realizar en Gephi. El kit de herramientas es básicamente una rama separada del proyecto que requiere una cierta cantidad de mantenimiento. Drena fuerzas del proyecto principal. Teniendo en cuenta que el código fuente de Gephi está abierto y que es posible realizar experimentos sin el Kit de herramientas, creemos que tendría sentido interrumpirlo, aunque hasta ahora no hemos apretado el gatillo oficialmente.

Reenfoque Gephi no solo se trata de quitar partes, sino también de llenar agujeros. Por ejemplo, aunque desaprobaremos los grafos jerárquicos porque no son tan comunes, consideramos que es compatible con enlaces paralelos, bien representados en los conjuntos de datos. Con el mismo espíritu, dado que los diseños de espacialización son tan fundamentales para la experiencia del usuario, consideramos agregar algoritmos que evalúen la calidad de un diseño y otras características que admiten el análisis de redes visuales. Por ejemplo, creemos que la visualización de enlaces debe mejorarse en el panel de exploración. Por último, pero no menos importante, reenfocar a Gephi también se trata de reordenar la interfaz general del usuario para poner énfasis en lo que es importante y simplificar lo que no lo es. Las reflexiones sobre la futura interfaz de usuario de Gephi ya se han presentado en una publicación anterior del blog.

Finalmente vale la pena hablar sobre el proyecto. Nos gusta que Gephi sea de código abierto, multiplataforma, libre y abierto. No queremos cambiar nada de eso. No iremos tan lejos como para escribir un manifiesto, pero declaramos aquí que Gephi no es una empresa, no queremos que sea una compañía y no se convertirá en una. Esto no significa que no pueda haber actividad económica que involucre a Gephi, sino que, cuando sucede, no está alojado en el proyecto. Entonces, ¿qué es el proyecto Gephi? Una red informal de colaboradores que involucra a varios individuos en diversos grados, sin límites claros, y donde cualquier persona puede aportar sus propias cosas al proyecto. Sin embargo, ser libre y abierto no significa que no tengamos ninguna estructura: la licencia GPL 3 protege el proyecto, los códigos y los contenidos tienen autores y diferentes personas tienen roles diferentes. Gephi no es solo software y complementos, sino también sitio web, blog, comunidad de Facebook ... Una buena parte de la energía de las personas se destina a la producción de contenidos. Hay un proyecto Gephi en torno al software Gephi, y podría ser cada vez más importante.

Como conclusión de esta sección, resumamos lo que Gephi es y seguirá siendo:
  • Gratis
  • Fuente abierta
  • Extensible por la comunidad.
  • Multiplataforma
  • Instalable como un software normal
  • Con archivos locales basados ​​(sin alojamiento en la nube, funciona sin conexión)
  • Centrado en el usuario
  • Enfocado en la exploración
  • Amistoso para principiantes (tanto como sea posible)
  • Opinado: no siempre hará lo que hacen otras herramientas.

El futuro de Gephi: versión 1.0 y más allá.

Una parte importante de nuestra discusión gira en torno a características futuras. No se trata solo de en qué debería centrarse Gephi, sino también de lo que podemos hacer en el contexto de hoy y de mañana. Como se explicó anteriormente, tenemos un liderazgo técnico limitado y estamos limitados por la evolución de Java y OpenGL. Esto nos lleva a considerar qué características pueden considerarse en el estado actual de Gephi y qué características requerirían un cambio de paradigma. No solo estamos imaginando el futuro Gephi, sino también el futuro Gephi (lo que nuestro proyecto podría ser si desafiamos una serie de supuestos subyacentes). Tenemos dos horizontes diferentes: Gephi 1.0, una versión enfocada del software de hoy, y Gephi 2, un futuro posible en un terreno diferente.

Para Gephi 2, estamos anticipando que Java no está completamente soportando nuestras necesidades, y estamos considerando la posibilidad de portar una parte (y posiblemente todo) del software en una plataforma diferente. El contexto tecnológico actual nos incentiva a usar un cerebro de Java detrás de una cara basada en la web, pero WebGL sigue siendo un cuello de botella para las grandes redes. No tenemos una buena solución, pero podría surgir a tiempo. También estamos reconociendo el florecimiento del ecosistema de análisis de redes y creemos que un solo software podría no ser la mejor solución para abordar una constelación de necesidades de los usuarios. Por ejemplo, si Gephi se centra más en la exploración, deja espacio para una herramienta diferente sobre la publicación en red. Esta herramienta puede ser parte de nuestro proyecto y no ser el software en sí. Puede que no suene dramático, pero para nosotros es un paso psicológico decisivo pensar en el proyecto como múltiples herramientas y no solo en el software Java. Aporta claridad a nuestras intenciones y abre nuevas posibilidades para abordar problemas difíciles.


Características del futuro: fragmentos de hoja de ruta.


Gephi 1.0 puede presentar una serie de cambios que tienen sentido como una extensión natural de los Gephi de hoy, mientras que los cambios más dramáticos se posponen a Gephi 2. No tenemos una idea clara de lo que podría ser Gephi 2, pero su existencia nos ayuda a seleccionar el derecho
Características para un futuro cercano. Aquí hay una lista de mejoras que nos gustaría implementar antes de pasar a un paradigma diferente.
  • Característica UNDO, limitada al "ámbito GEXF": datos de red, metadatos, posiciones, tamaños, colores ...
  • Predeterminado guardar en GEXF. Más estable que ".gephi", aunque no guarda el estado de la interfaz de usuario.
  • Registro de actividad, posiblemente coordinado para deshacer, posiblemente almacenado en el GEXF. Un plugin ya está explorando esa dirección.
  • Enalces paralelos. GraphStore lo admite pero no el resto de Gephi.
  • Nuevo motor OpenGL. Eduardo ya hizo un prototipo de una versión alfa.
  • Enlaces curvos en la exploración visual. Estos son importantes porque ayudan a identificar la orientación de los enlaces.
  • Búsqueda rápida en nodos y metadatos. Resulta que debería ser bastante fácil de implementar.
  • Nuevos iconos. Ahora hay muchos recursos disponibles para mejorar y la parte técnica es trivial.
  • Laboratorio de datos más limpio.
  • Incrustar Java: no más problemas con la instalación de la versión correcta de Java.
  • Instalar desde MacStore. Más fácil para los usuarios de Mac.
  • Fijar la composición del filtro.
  • Mejores informes de estadísticas en HTML5.
  • Mejore el aspecto, el color y el tamaño de la etiqueta, los controles deslizantes ... Por ejemplo, incentive las clasificaciones en lugar del modo unitario predeterminado.
  • Etiquete el ancla (inicio, medio, final) ... y posiblemente un poco de jitter.
  • Mejor ajuste de etiqueta (uno que funcione mejor). Posiblemente con la etiqueta jitter.

En conclusión


Gephi no está obsoleto, y tenemos una buena esperanza de hacer que sus fortalezas sean más evidentes al reenfocar nuestros esfuerzos de desarrollo hacia la versión 1.0. Como resultado adicional de nuestra discusión, ahora le damos la bienvenida a Eduardo como nuestro nuevo desarrollador líder, pero más sobre eso en una publicación de blog separada. ¡Gracias por su apoyo y saludos desde Berlín!

No hay comentarios:

Publicar un comentario