Del bajo al ático, breve recorrido por el edificio

Publicado originalmente bajo el título «De las cavernas a los rascacielos, una breve historia» y rebautizado como «Del bajo al ático, breve recorrido por el edificio», este es el resumen de la historia de este sitio y de cómo ha ido evolucionando a lo largo del tiempo.

Este sitio surge como un rincón personal en el servidor del Laboratorio de Sistemas Operativos. Esta idea básica se ha mantenido desde que la primera versión viera la luz, . A lo largo del tiempo transcurrido desde entonces, el sitio ha evolucionado en múltiples ocasiones, transmutando tanto su cara como su corazón, siguiendo modas y tendencias o avanzando a contracorriente.

El resultado final no es sólo este reducido conjunto de páginas, sino todos los conocimientos y experiencia adquiridos.

El tiempo no se detiene para admirar la gloria; se sirve de ella y sigue adelante.

François-René de Chateaubriand

Planta baja: El umbral del portal

La primera versión era una página única HTML con la información básica de contacto. Muy similar a la actual portada salvando aspectos estéticos, estándares, microformatos y la irrupción de las redes sociales.

A esta página inicial se añadieron algunos contenidos, como una lista de enlaces, y se realizaron múltiples cambios, siguiendo la moda del momento. Estos cambios dieron lugar a varias versiones no numeradas y hasta tres numeradas sin criterio definido.

Planta v1.0: Script manuales

El primer cambio radical se produjo en la “cuarta” versión numerada. Este cambio consistió en crear un sistema que permitiera integrar contenido en el diseño global de la web de forma sencilla.

Constaba de un proxy que cargaba una página determinada según el argumento que se le pasaba. Las páginas se encontraban en cierta estructura de directorios y consistían en el código PHP/HTML sin cabeceras. Además, existía un fichero de estructura global dónde se almacenaba, para cada clave admitida, sus cabeceras y ubicación del fichero de texto.

El sistema funcionaba razonablemente bien pero su principal problema residía el trabajo necesario para añadir o modificar contenidos: crear el código HTML, el CSS asociado a la página (siguiendo ciertas restricciones), crear los directorios correspondientes y modificar la estructura de la web para añadir sus cabeceras y ubicación.

Esta revisión se bautiza como la versión 1.0 y supone el fin de la caótica numeración previa carente de sentido al establecer que el cambio de versión corresponde con un cambio en el gestor del sitio. Las versiones previas se consideraron como “el gestor 0.x”.

Planta Web 2.0: Salto a la web colaborativa

Debido a lo difícil de realizar el mantenimiento rutinario surge la necesidad crear un sistema que simplificase el proceso el proceso. El análisis del sistema deseado da los “requisitos” de esta nueva web:

  • Proxy que carga las páginas apropiadas (almacenadas en ficheros de texto en una estructura de directorios)

  • Interfaz que permite editar dichos ficheros de forma cómoda vía web.

En resumen, se trata de un wiki con soporte en ficheros de texto plano y restricción de edición. Entonces, ¿para qué reinventar la rueda? Existen numerosas implementaciones de wiki y no es descabellado pensar que alguno cumpla esos requisitos. Solamente había que buscar… hasta que apareció DokuWiki.

Pero la evolución no se detiene ahí, surgen nuevas tecnologías que cubren ciertas necesidades y poco a poco emerge lo que se acabó denominando web 2.0. A la web existente se añade un blog para publicar las noticias relativas a la web y, poco después, un álbum de fotos.

Ambos sistemas van cobrando poco a poco protagonismo y se cambia de aplicaciones de forma paralela a su crecimiento. El blog no tarda en alcanzar en importancia a la web por lo que sus necesidades se ven incrementadas migrando los contenidos hasta en tres ocasiones pasando por sphpblog, Serendipity y Wordpress.

Planta 3ª: Unificando el caos (v3.0)

El resultado final son tres aplicaciones diferentes para gestionar cada parte de la web: DokuWiki para la página principal, Wordpress para el blog y Gallery para la galería de fotos. Se inician varios intentos de unificación con diverso grado de éxito: Wordpress y Gallery disponen de un procedimiento estándar que los “integra a la perfección” mientras que es necesario desarrollar diversos scripts para integrar cosas en DokuWiki. La vorágine de actualizaciones con la salida de Wordpress 2.3 dificulta el mantenimiento y rompe varias veces la endeble integración lograda.

Tras unos meses de abandono, finalmente se decide migrar todo a un único sistema capaz de proporcionar toda la funcionalidad deseada. El elegido en este caso es Drupal que, con su gran flexibilidad, permite unificar en un único script todas las partes de la web simplificando notablemente su gestión.

Planta 4ª: retorno a los orígenes

El sistema basado en Drupal duró poco tiempo activo, no debido a que la solución fuera mala o no funcionara, sino a un cambio en la concepción del sitio: de mantener todo alojado en el servidor web bajo control se pasó a utilizar servicios gratuitos ya existentes que simplificaban la labor de gestión. El blog pasó a estar alojado en Wordpress.com, la galería de imágenes en Flickr…

Este cambio de filosofía coincide con el inicio del OpenID. Buscando un proveedor adecuado, apareció Mi ID un servicio español que además permite resumir todos los servicios en un único lugar. Por desgracia, al poco tiempo el servicio cerró.

Los contenidos estaban siendo migrados y, por primera vez en ocho años, el sitio perdía importancia a la par que se migraba el contenido a los servicios elegidos. Tras unas semanas de madurar la decisión de suprimir la web se optó por una solución intermedia: mantener la información básica de la portada y enlaces al resto de los servicios. Poco después se populariza el término que mejor define esta nueva portada: lifestreaming.

En esta nueva etapa se volvió a un sistema implementado ad-hoc, pero haciendo uso de la experiencia acumulada. En este caso se optó por utilizar bibliotecas asentadas que simplifiquen el desarrollo permitiendo que, en un futuro, pueda ampliarse la funcionalidad y contenidos. Además, este desarrollo sirve de campo de prueba de dichas tecnologías.

Aunque en los sitios anteriores se intentaba mantener, en esta fase cobra gran relevancia el seguimiento de los estándares. Tanto el código de cada página como la hoja de estilos son validados, y se comprueba que la visualización es correcta con múltiples navegadores tanto con como sin JavaScript (se realizaron pruebas sobre los, por aquel entonces, novedosos Firefox 3.0.7, Internet Explorer 7 / 8 y Opera 9.64).

Por extraño que parezca, alcanzar este requisito no supuso un gran esfuerzo gracias, en parte, a la plantilla utilizada. Fruto de este cuidado, aparecen tres iconos en el pie de cada página indicando el apego a los estándares.

Planta HTML5: static boom

Superada ampliamente la década de historia del sitio, y en medio de una feroz crisis económica, la red está convulsa. HTML5, CSS3, dispositivos, aplicaciones móviles, nativo vs webapp, responsible design… son términos que definen la nueva web mientras que Facebook, LinkedIn, Tuenti, Twitter… acaparan cientos de millones de usuarios y el tándem Git/GitHub revoluciona el desarrollo colaborativo de código. Un panorama radicalmente distinto al existente en el ya lejano 2000.

Curiosamente uno de los “extras” que proporciona GitHub, que nace como un híbrido entre forja de proyectos y red social, es el germen de la revolución de este sitio: la posibilidad de alojar páginas estáticas para usuarios, proyectos…

Aunque inicialmente parece un atraso, las nuevas posibilidades que proporciona el dúo HTML5+CSS3, junto con las implicaciones de la desaparición del backend hacen muy atractiva esta opción. Surgen diversas aplicaciones que permiten generar estas páginas estáticas de forma sencilla, muchas de ellas en el ámbito de Ruby.

Tras mucho sopesarlo, la web se hace mayor, migra a Nanoc (un generador de páginas estáticas) y ¡se emancipa del servidor que la vio nacer! recalando en GitHub Pages. Un cambio absolutamente radical que, gracias a las herramientas utilizadas, se realiza en pocos días y con muy pocos problemas.

Planta 6ª: cerrando el círculo

El sitio estático basado en Nanoc se mantuvo durante 6 años. Al inicio se realizaron algunos pequeños cambios, pero poco a poco fue paralizándose. Lo mismo sucedió con el resto de los servicios: algunas entradas, cada vez más esporádicas en el blog, fueron las únicas actualizaciones en lo que en algún momento conformó el sitio original. La actividad se redujo a redes sociales, principalmente Twitter, aunque algunas de ellas se cerraron.

Esta situación se debe a múltiples motivos que se pueden resumir en que coincidió, en su mayor parte, con una época muy convulsa tanto a nivel profesional como personal que obligó a reajustar prioridades. La web cayó casi en el olvido, sin ánimos para reactivarla y actualizarla (cosa que se convirtió en prácticamente imposible al perderse el código fuente con el que se generaba).

Sin embargo, cuando el sitio estaba a punto de llegar a la mayoría de edad, surgen ánimos renovados de revivir la web. Durante esta etapa convulsa, el mundo ha seguido su evolución y el panorama vuelve a ser bastante diferente con nuevos contendientes y tecnologías novedosas.

Durante varios meses se analizan varias alternativas buscando mantener el espíritu (sitio estático alojado GitHub Pages o similar) pero atajando los defectos del actual sistema: casi todo el esfuerzo se consumía en el mantenimiento de las múltiples personalizaciones de la plataforma de la web drenando el tiempo y las ganas. Algo similar ocurría con el blog que no se actualizaba por el tedio de tener que trabajar en el formato.

Curiosamente, en este caso se busca una regresión: unificar nuevamente la web con el blog y simplificarlo todo para centrar los esfuerzos en lugar de disgregarlos en mantener varias plataformas. Además, se prioriza el uso de Markdown para la escritura. Todo orientado a simplificar y dedicar el tiempo a crear contenido.

Finalmente, se decició utilizar un nuevo generador Hugo con la plantilla Academic (que posteriormente se convirtió en Wowchemythe free, open source website builder that empowers creators) y se migraron las pocas páginas que componían la web. Al contrario que en casos anteriores se decide mantener el blog en su alojamiento como histórico aunque puede que alguna entrada se rescriba y actualice para esta nueva etapa.

Mirando al ático

Tras la reactivación del sitio, la intención es publicar algunas entradas que se han ido dejando olvidadas junto con la revisión y actualización de algunos de los artículos más relevantes publicados en el blog.

A largo plazo, no es fácil hacer una predicción. Pero… ¿para qué fijarse en el futuro teniendo el presente?