Menos NIH, más PFE: Demoliendo mitos sobre Drupal

 rojomorgan_drupal_demolishing_myths_about_drupal
Menos NIH, más PFE: Demoliendo mitos sobre Drupal

Hace un par de semanas -o tal vez más, este artículo seguramente se publique más tarde- fui invitado a participar en el Modern Web Event, una actividad anual realizada por la Universitat Oberta de Catalunya (UOC). Este tipo de actividades suelen tener carácter anual y se realizan en diferentes ciudades y esta edición venía a Sevilla. ¿Cómo rechazar la oportunidad? sobre todo cuando al interesarme por los objetivos, el target y en definitiva por el leitmotiv principal de la invitación, desde la organización me proporcionaron una premisa más interesante dado el contexto. 
El pie que me proponían era el siguiente: "Me quiero meter a esto de la web, me han dicho que Drupal mola mucho, por dónde empiezo" a partir de lo cual empezamos a modelar un enfoque que permitiese construir un relato con una idea fuerza central que respondiese a “¿Puede Drupal ser una buena opción?” y todo ello a través del reto que supone hacerlo en unos veinticinco minutos de tiempo útil para la charla. Así que challenge accepted y manos a la obra. 

Lo cierto es que me pareció un buen reto desde el punto de vista divulgativo, ya que era una buena forma de poner en valor los avances realizados por la comunidad, esos desarrolladores y desarrolladoras de “octavo de Drupal” que son sus contribuciones han conseguido imprimir un salto cualitativo enorme a hacer de la plataforma un sistema más transversal, más estandarizado y más asimilable en uso y gestión a otros CMS y frameworks populares. Hacer algo de relato con el trabajo de tantas personas implicadas en tantos aspectos...una charla exprés articulada dentro de un formato estándar, algo parecido a Presentación - Nudo - Desenlace que sirviese para exponer algunas conclusiones que (bajo mi punto de vista) pudiesen resultar interesantes y puentear los lugares comunes y algunos tropos mantenidos en el tiempo a los que valía la pena confrontar. Ir a buscar a los mitos y salirles un poco al encuentro con un lenguaje humano, cómodo y algo de salseo. Al fin y al cabo, Drupal ahora es una herramienta mucho más amigable para personas no iniciadas que podrían dar sus primeros pasos con la tecnología y valía la pena contarlo. Para empezar, creí necesario borrar el disco duro un poco y meterse en los zapatos de una  persona que googlease el término “Drupal” para ver de que iba. ¿Qué era lo primero que iba a encontrar? ¿Qué podría encontrarse? de ahí surgía un poco la primera parte de la charla…así que borré un poco la información del disco duro que albergo en la cabeza (tampoco que es almacene mucha, la verdad) y pasé a ponerme en la situación de una persona interesada en la tecnología que se pone a buscar información sobre Drupal...y preparé una sesión que buscaba ser didáctica y abrir puertas más allá de una evangelización directa, con unas slides que se me ocurrió construir con mi cochambroso inglés. Este es (más o menos) el relato articulado de esa sesión sobre mitos y preguntas.

Por supuesto si quieren saltarse esta pequeña historia esquizofrénica, tienen a su disposición las slides de la charla aquí en SlideShare o en SpeakerDeck

Que ustedes disfruten

1- Primera parte, presentación ¿Qué es Drupal? (o qué dice la gente)

Bueno, en realidad hay vida más allá del sempiterno discurso exponiendo que es un gestor de contenidos, framework y esto y lo otro. Una persona buscaría la keyword en Google o en Twitter y ya empezaría a flipar. Lo he visto en directo. Ocurre. 

Me aparecían cosas como estas:

Puro amor...así que sin complejos, intenté abordarlas directamente y antes que cualquier otra cosa, ofreciendo algunas explicaciones de porque pensaba yo que podía haberse dado este estado de opinión entre las personas que se adentraban en Drupal y como podría interpretarse, con la idea de relativizarlo un poco e impedir que alguien no iniciado se dejase condicionar por algo así:

Este era el punto de partida. Lo primero que recibe alguien desde Google al aproximarse a Drupal. Lo cual es un poco injusto (o al menos a mi me lo parece) sobre todo para un enfoque inicial (para sufrir con Drupal siempre habrá tiempo más adelante). Las posibles explicaciones que soy capaz de articular las plasmé también en la charla, tres elementos clave que identifiqué en mi delirio personal intentando sintetizar los argumentarios oidos por activa y por pasiva a lo largo de todos estos años:

 

  1. El sesgo tecnológico: "Esto lo hago yo más rápido con $LENGUAJE y con muchas menos líneas". Todos y todas estamos en ese rollo. 
  2. Propósito General vs. Propósito específico: No todos los CMS nacieron con la misma intención. Ni con el mismo enfoque. Ni con la misma flexibilidad.
  3. Orientación a estándar: la facilitación transicional entre tecnologías es y ha sido en cierta manera parte del problema. Que las cosas se hagan de manera homogenea. 

Porque en realidad, en cierta manera una experiencia inicial con Drupal tampoco dista mucho hoy día del relato habitual con el que se compara a pie de calle con otros CMS populares. Me refiero al típico esquema conversacional “Drupal es muy feo porque yo con $CMS me lo bajo, lo instalo y en dos clicks ya lo tengo funcionando”. Bueno, repasando un proceso de ese nivel, en realidad y siguiendo con el disco duro en blanco tampoco se diferenciaba mucho:

 

Así que me surgían varias preguntas a partir de aquí:

1- ¿En que posición están las tecnologías similares?
2- ¿Cómo podría seleccionar una y en base a que podría elegir?

Sobre la primera cuestión, expuse un pequeño mapa del estado del mercado actual, con casi todas las plataformas (CMSs y Frameworks) en un punto parecido de evolución, con capacidades parecidas y posibilidades similares donde se está produciendo una denodada lucha entre plataformas bien por alcanzar cierta hegemonía bien por mantenerla...incluidos flames entre CEOs por librerías y licencias libres de software, como puede verse en este cruce de cartas aquí y aquí (aquí un resumen). Un ambiente algo competitivo dentro del sector de las plataformas basadas en PHP. Mucha tensión y algo de salseo. Pero que nos empujaba a uno de los puntos centrales de este relato: sí con cualquiera de las opciones podemos construir cosas parecidas y todas se encuentran en un nivel de madurez relativamente igualado…¿Cómo decantarse por una? lo que engarza con la segunda parte de las cuestiones anteriores ¿En base a que podría elegir? ¿Cuántas opciones tengo? ¿Cómo está el mercado? y bueno a decir verdad el mapa de situación de las distintas tecnologías web en liza me salía con una forma tal que así:

A partir de aquí empezaban a venir a mi mente diversos flashbacks de tiempos pasados, cuando cerrábamos los flames con conclusiones cómodas para todas las partes y terminábamos asumiendo ese lugar común de que una plataforma era para blogs y sistemas pequeños y otra podría ser para construir grandes sistemas de muchos users y alto rendimiento. ¿Que había ocurrido? en cierta manera y simplificando mucho, todas las opciones han terminado encontrándose en un escenario común de propósitos generales que en mayor o menor medida, proporcionan soluciones parecidas y un alcance funcional similar….

2- Segunda parte: el nudo (o donde todo se empieza a relacionar) 

Me puse a tomar notas y a dar varios saltos entre comunidades para averiguar lo que podría ser un modelo de valoración de opciones disponibles. El siguiente derribo iba enfocado a esas vistas que cada plataforma ofrece. Esas “métricas” casposas, ese marketing horrible...cifras extrañas que ayudan poco a comprender bien lo que está ocurriendo realmente. Siguiente mito: las métricas vanidosas. 

Entonces a ver...no podemos fiarnos de lo que nos devuelve Google o Google Imágenes, las pseudo-métricas de ofrece cada plataforma son cutres y las personas expertas podrían explicarme cosas con cierto sesgo tenológico...¿Qué hago? ¿Cómo me decido? Aquí vendría mi propuesta, un planteamiento aproximativo de que hacer en ese caso y como investigar para poder sacar algunas conclusiones propias, separando un poco el grano de la paja y realizando un pequeño análisis lo más específico posible una situación concreta. Pura IAP (Investigación - Acción participativa)

1- ¿Cuánto esfuerzo me costará aprender esta tecnología? (AKA que hay que hacer)

Esta cuestión tiene mucho que ver con un corpus de actividades diversas que la persona interesada debería realizar y apuntaría directamente a la facilitación que la plataforma sea capaz de ofrecer dentro de una dinámica general de comunidad, descrita en diferentes cuestiones...en primer lugar  ¿Cómo se resuelve la paradoja horizontalidad - verticalidad dentro de la comunidad? Una de las tensiones habituales en las que se inserta habitualmente una comunidad tecnológica suele ser que sus creadores son a la vez propietarios de las empresas de referencia en esa tecnología. Se produce cierto solapamiento entre talento de la comunidad - posiciones en estas empresas y en ocasiones los procesos de tomas de decisiones quedan centralizados en un set de perfiles que combinan ambas características. Y esto llega a ser conflictivo en ocasiones, por permear las tomas de decisiones y las visiones a medio/largo plazo. 

Por otra parte la tensión inherente a la centralización - descentralización de una comunidad es un punto de interés clave: la organización remota y líquida del colectivo debe ser lo suficientemente centralizada como para reunir el esfuerzo en una visión común sin 

Otro punto a favor sería el trabajo “individualizado” a realizar, investigación, lectura, prácticas…¿Cuanta documentación está disponible? ¿Hay caminos específicos para iniciación? un ejemplo sería las páginas y páginas de información disponible para empezar con Drupal, o bien el tag “Novice” dentro de la cola de tareas con la que se marcan aquellas Issues que pueden resultar asimilables por una persona que se está iniciando y de alguna manera establece una ruta de iniciación que la comunidad permite como pista de despegue. Visita la cola de tareas abiertas de Drupal y lee las Issues tageadas para novatos y novatas

El punto restante queda en el terreno de lo colectivo…los itinerarios de aprendizaje que pueden asimilarse a partir de las enseñanzas de personas más experimentadas. ¿Dónde están las personas expertas en esa tecnología? ¿Me quedan relativamente cerca? ¿Hay grupo local en mi ubicación? ¿Hay quedadas? ¿Se mueve el conocimiento? En nuestro caso: Drupal Sevilla, Asociación Española de Drupal, Drupal Cataluña...además de todo el set de eventos internacionales. Hay movimiento, hay mecánica. 

2- ¿Qué uso podré darle a este aprendizaje? (AKA para que me valdrá)

Llegar a un conocimiento relativamente eficiente es un proceso arduo plagado de situaciones ensayo-error de puro empirismo que son susceptibles de generar espacios de frustración en las personas. De alguna manera, deberíamos de ser capaces de intuir la utilidad de ese aprendizaje y el aprovechamiento que de él podremos extraer para nuestra vida profesional, lo que en cierto sentido tiene una relación directa (idealmente directa, quiero decir) con el cumplimiento de estándares que sirvan para adaptarse con relativa facilidad a otro tipo de plataforma, a otros modelos de proyectos y de funciones profesionales, impidiendo que ese know-how acumulado se desvirtué en un posible cambio de contexto. Necesitamos que realmente lo que aprendemos tenga un sentido más allá del contexto actual en el que nos desempeñamos y nos permita crecer y expandirnos por los posibles caminos que podamos encontrar o construir. ¿Cómo se esfuerza esta tecnología por asumir estándares? en el caso de Drupal como hija directa del lenguaje PHP, disponemos de un corpus normativo de reglas de estilo y pautas que cada vez tienen más integración a nivel de código, the PHP Standards Recommendations y un asunto a investigar es cuantas cumple la plataforma que estemos investigando. 

3- ¿Qué futuro le espera a esta plataforma? (AKA ¿Esto cómo va?) 

El futuro es incierto (es un mundo dificil) así que la pregunta es un poco abstracta e inasumible pero servía como ancla útil para lanzar la cuestión asociada al sentido prospectivo que una plataforma debería tener desarrollada, esa incierta visión que se juega entre las capas altas de la comunidad en su propia horizontalidad y los segmentos mas bajos de la misma a pie de calle. ¿Hacia dónde camina el proyecto? el desarrollo de este item pasaría -bajo mi punto de vista- por pensar (o repensar si ya estamos dentro) como se adapta, como es capaz de ir pivotando entre los sucesivos hitos de tendencias y mejoras que se van sucediendo cada vez con más agilidad dentro del enorme e inabarcable campo de la tecnología. Es una cuestión de agilidad en aras de asegurar una supervivencia ¿Y qué hace esta plataforma por adaptarse? ¿microservicios? ¿desacople de la capa de frontend? ¿conexiones? ¿mejoras en cuanto a rendimiento? 

 

En este apartado, resumí algunos ejemplos de esto a lo largo de los últimos años y de como Drupal (en realidad las personas que forman su comunidad) habían ido auscultando el entorno para tratar de incorporar los cmbios significativos y las nuevas ideas y modelos a la plataforma. 

 

3- Tercera parte: ¿Conclusiones? (o voy a intentar generar una clausura)

Para resumir algunas cuestiones y volviendo al enfoque inicial, me surgían dos corpus bien diferenciados de ideas breves de clausura, un conjunto más general y otro más específico para determinar la llegada de la sesión en una dirección concreta y asentar posibles lecturas. 
 
Digamos que en un nivel general, podríamos subrayar que de cara a iniciarse en la tecnología podríamos asumir que es bueno que te introduzcas en una plataforma:
 
1- Que sea software libre (cumpla las cuatro libertades asociadas al modelo)

2- Que cumpla estándares (para facilitar la adquisición de conocimiento que pueda ser reutilizable)

3- Que se adapte a los nuevos tiempos (para evitar el riesgo de quedar deprecated por los avances y tendencias)

4- Que tenga una comunidad que lo rodea bien articulada (para establecer vínculos y aprovechar el conocimiento compartido)

Y de una manera algo más específica y aproximándonos a Drupal me atrevería a proponer las siguientes:
Ideas hijas:

1- Drupal es software libre y cumple (en mayor o menor medida) las cuestiones anteriores.

2- Drupal corre rápido por estandarizarse y en sus últimas versiones ha asumido estándares. 

3- Drupal tiene una serie de ventajas importantes acerca de la integración con otras tecnologías o el aprovechamiento de otros modelos. 

4- Drupal tiene alrededor una comunidad donde es importante involucrarse: participar en eventos, patrocinar estos, interactuar con las personas que lo forman, realizar parches, traducciones, resolver dudas, divulgar...todo ayuda e implicarse es fundamental. 
 

Ya, con el mejor deseo de que la persona que ha llegado hasta aquí mantenga intacta su cordura inicial, no me queda otra que dar las gracias a todos y a todas por atreveros a leer este artículo de casi dos mil quinientas palabras y recomendaros como indica el título de la charla: Menos inventar la rueda y más reutilizar lo ya creado. Nos vemos en el Drupaleo. 

:wq! 

6 Julio 2017 - 3:02pm
Total de votos: 48
Imagen de David Rodríguez
David Rodríguez

Añadir nuevo comentario

Plain text

  • No se permiten etiquetas HTML.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Saltos automáticos de líneas y de párrafos.
CAPTCHA
Esta pregunta es para probar si eres o no un visitante humano.