160. Fase 3: Colaboración en Tiempo Real

La Colaboración en tiempo real es la fase 3 del proyecto Gutenberg, y ya se ha definido su funcionamiento y la prueba de concepto.

Recuerda que puedes escuchar este programa desde Pocket Casts, Spotify, Google Podcasts, Apple Podcasts e iVoox o suscribirte al feed directamente.

Transcripción del programa

Hola, soy Javier Casares y estás escuchando WordPress Pódcast, en el resumen de noticias de la Comunidad WordPress.

En este programa encontrarás la información del 3 al 9 de julio de 2023.

Cuando el proyecto Gutenberg apareció por primera vez muchos se llevaron las manos a la cabeza. Veníamos de un editor básico en el que poco más se podría hacer que no fuera incluir texto con sus párrafos, negritas cursivas o subrayados.

Si querías incluir una imagen y situarla en un lugar correcto tenías que saber algo de HTML.

Que WordPress desde su versión 5.0 hasta la 6.3, o sea, 13 versiones durante varios años, se haya concentrado en que el editor sea de bloques y, por tanto, que sea fácilmente configurable y usable ha sido un reto y, se puede decir que, sobre todo aquellos que haga años que no lo usan, es un proyecto maduro.

Tan maduro que, aunque se seguirán evolucionando los bloques, la fase 1 y 2 se dan 100% por terminadas para comenzar con la fase 3: la colaboración en tiempo real.

Históricamente WordPress ha tenido un sistema de revisiones con las que se podía volver atrás en caso de haber guardado algo incorrecto. Pero todavía seguíamos sin poder acceder dos personas a un contenido para poder verlo y editarlo a la vez. Y eso es lo que nos trae, entre otras cosas, esta fase 3 de Gutenberg.

El elemento principal de esta fase es la colaboración en tiempo real, que se resumen en algo tan sencillo como que dos o más personas puedan entrar en el editor y trabajar simultáneamente.

La idea inicial es utilizar WebRTC como tecnología base y estándar de la Web, y que permite el funcionamiento de todo lo que es WordPress hoy en día. Sin duda esta tecnología tiene más posibilidades, como los WebSockets, pero esto parece que quedaría en territorio plugin. La idea es construir la base tecnológica.

Pero, aunque tecnológicamente sabemos cómo vamos a poder trabajar queda otro gran reto: evitar conflictos. ¿Qué pasa si dos personas quieren poner una imagen en un mismo bloque… a la vez? En este caso necesitamos un sistema libre de conflictos y parece que un proyecto de código abierto llamado Yjs podría ser la solución.

Este tipo de tecnología es la que podemos encontrar en proyectos como Google Docs o Figma.

Esto abre muchos asuntos a muchos niveles. Uno muy visual, por ejemplo, es cómo se van a poder diferenciar cada uno de los usuarios conectados en la pantalla, por ejemplo, poniendo punteros de ratón de distintos colores o formas. Otro, no tan visual, es si se requerirá algún cambio en el modelo de datos.

Vale, ahora que sabemos cómo va a ser la base tecnológica y los retos que conlleva, el siguiente punto es el de los flujos de trabajo.

Y es que no es lo mismo alguien que entre a mirar el contenido de una entrada que alguien que esté redactando o alguien que esté maquetando o dando formato. Pero ya no sólo eso. Es muy probable que cuando un contenido no está publicado haya pocos problemas… pero, y si hay varias personas trabajando en un contenido publicado… ¿qué pasará cuando alguno de ellos pulse en Guardar? ¿Qué es lo que se publicará si uno de ellos no ha acabado su parte?

Para empezar un planteamiento que se tiene es el de poder dejar comentarios, sin necesidad de modificar los contenidos, incluso el de dejar tareas pendientes en los distintos bloques, que podrían extenderse con plugins. Pero no sólo eso, también la posibilidad de granularizar partes del formato o del flujo, como que alguien sólo pueda modificar los contenidos, pero no el formato.

Y, esto obviamente lleva al sistema de revisiones, que deberá mejorar para poder dar soporte a esto mismo.

Poder editar, tener un historial y, sobre todo, mejorar la interfaz para que sea fácil de entender y no un modelo tipo Git de control de versiones, es muy importante.

Sin duda es un reto el poder comparar dos versiones de un contenido y que de forma inmediata se pueda observar qué es lo que se ha modificado, ya sea un simple texto o una palabra, hasta cambios completos de diseño o formato.

O, por ejemplo, ¿qué pasa si cambia la tipografía? ¿Cómo se indicaría que el tipo de letra ha cambiado, si podría no apreciarse visualmente? Y ya no hablemos de la Accesibilidad.

Porque no es lo mismo que se hayan cambiado estilos, que textos, que estructura. Y este es el punto clave de lo que será la fase 4 de la localización de contenidos, es decir, el multi idioma, ya que la localización no es simplemente traducir un texto, puede ser que las imágenes cambien, o incluso todo un formato porque a los de un país les gusten las cosas claras y a los de otro todo muy sobrecargado, visualmente hablando.

También en esta fase 3 se va a trabajar en uno de esos “elefantes en la habitación”: los Media.

Los elementos media como imágenes, vídeos o audios llevan siendo desde hace mucho tiempo un sistema que ha funcionado sobre y paralelamente al editor, tanto el clásico como el de bloques. Y esto ha de cambiar para formar parte del flujo de funcionamiento de la edición.

Y de la misma manera que tenemos bloques y patrones, tendremos Media, más integrado en el editor de forma que no haya que salir del sistema ya sea en otra pestaña o en una ventana modal.

Relacionar multimedia con las propias entradas nunca ha sido tarea sencilla, o la subida masiva de elementos, y no hablemos de la edición de los contenidos propiamente.

Incluso, opciones como la elección de la mejor imagen en cada momento no debería ser algo que tengas que pensar. Tú subes la imagen y el sistema elegirá y usará la óptima en cada situación.

Otro elemento importante será la inclusión de la atribución de los Media, principalmente teniendo en cuenta la integración de Openverse y otras tecnologías externas que se basan en licencias gratuitas de atribución.

Esto, además, dejaría paso a posibles futuros bloques, como por ejemplo una “playlist” en la que puedas dejar una lista de audios y vídeos, y no sólo la reproducción de uno de ellos, al puro estilo de las Galerías, pero para otros contenidos.

Y, por supuesto, el soporte a categorías y etiquetas en la organización de los elementos.

Seguro que en las próximas semanas seguimos conociendo más elementos que forman parte de la fase 3 y avances en proyectos como la Interactivity API, que tiene mucho de base en algunas partes de esta fase.

Lo que no para es el lanzamiento de WordPress 6.3 que ya tiene su beta 3 y tendrá en breve su beta 4, para en una semana alcanzar el punto de inflexión de la primera versión candidata, momento en el que prácticamente se sabrá todo lo que vendrá, definitivamente, en la versión.

Lo más destacado de esta versión es el cambio de nomenclatura de la Biblioteca de Patrones que pasará a ser simplemente Patrones, y que se unen a más de 30 cambios en el editor y más de 40 cambios en funcionalidades y corrección de errores.

Y, por si quieres ver todo lo que traerá la nueva versión, el 20 de julio tendremos un Live Product Demo en el que se presentarán todas las novedades y funcionalidades de WordPress 6.3.

El equipo de Core ha anunciado, de forma definitiva, el final del soporte a PHP 5 a partir de WordPress 6.3.

Aquellos que quieran seguir usando esta versión obsoleta de PHP lo podrán hacer con versiones de WordPress desde la 4.1 hasta la 6.2, que seguirán teniendo actualizaciones de seguridad.

Si la toma de decisiones sigue así, podría ser posible que en WordPress 6.4 o 6.5 se dejase de dar soporte a versiones de PHP menores a la 7.2 donde actualmente está el uso menor del 5% que se toma de referencia.

El equipo de Performance tiene un análisis previo de WordPress 6.3 que podría mejorar la carga total del frontal en un 26% en temas de bloques y un 19% de temas clásicos.

El equipo de Training ha lanzado el Project Thread con un objetivo muy claro: conseguir caminos que lleven a aprender sobre WordPress.

Este proyecto lleva algún tiempo en la recámara y pretende plantear distintos objetivos dentro de WordPress, desde montar una WordCamp hasta aprender a hacer bloques, o contribuir en el Core, y para ello se plantean una serie de líneas temporales en las que cada alumno pueda ir, paso a paso, aprendiendo lo que necesita para conseguir ese objetivo.

El proyecto comenzará a finales de julio y se alargará durante un año completo, hasta julio de 2024.

Lo que se espera del proyecto se resumen en tres puntos:

  • Rediseñar el sitio de Learn WordPress con una mejor interfaz que ayude a los alumnos de diferentes niveles, funciones y casos de uso.
  • Mejorar la búsqueda de contenidos relevantes de Learn WordPress mediante la integración de nuevos filtros de búsqueda.
  • Y establecer un marco de clasificación de niveles de habilidad para el contenido de Learn WordPress que permita filtrarlos.

El proyecto debería lanzar una versión funcional alrededor de mayo de 2024.

Y en relación con eventos de la Comunidad, una WordCamp se ha cancelado por incumplir el código de conducta.

Esto es algo muy poco habitual, porque si bien es cierto que puntualmente podemos encontrar incidentes en los eventos, la cancelación previa a su ejecución se puede decir que es raro.

El evento en cuestión ha sido la WordCamp Dhaka 2023, en Bangladesh, y parece que ha tenido que ver la influencia de algunas empresas en la gestión no sólo de la WordCamp, si no, también del funcionamiento de la Comunidad local.

Una de las quejas más expuestas ha sido la falta de transparencia sobre qué WordCamp ha sido y las razones concretas, que se han sabido posteriormente por conversaciones de algunos participantes o conocedores de la situación, sobre todo por el secretismo de quién ha estado involucrado en este bloqueo.

Todo esto ha generado una larga conversación en los comentarios sobre el Código de Conducta, el funcionamiento del Equipo de Incidencias y, en general, sobre lo correcto o no de exponer a los actores en estas situaciones, teniendo en cuenta las segundas oportunidades.

Y, para acabar, ya sabes que tienes todos los enlaces para ampliar la información, en WordPress Pódcast .es.

Un abrazo, y hasta el próximo programa.

Deja un comentario