Del bajo al ático, breve recorrido por el edificio

por Oscar Cubo Medina

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, . Durante los años transcurridos desde , 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.

Sobre el autor

El culpable de esto es Oscar Cubo, ingeniero en informática (por la Facultad de Informática de la UPM) que reside en Madrid.

La andadura por la informática se inició a la tierna edad de 7 años con el Inves Spectrum + que regalaban con una enciclopedia que compraron sus padres. En poco tiempo los míticos juegos se quedaron cortos y apareció el gusanillo de programar su propio juego (una aventura conversacional en modo texto) en BASIC, luego llegaron los PCs, cinco años (-) de Ingeniería Informática y, por si no fuera suficiente, el Doctorado en Informática (iniciado ) y el Diploma de Estudios Avanzados ().

Actualmente, trabaja en el CeSViMa ejerciendo de Systems Manager en del grupo de administración del supercomputador Magerit y, cuando le apetece en sus ratos de ocio, acabar la tesis o aprender nuevas técnicas o leer artículos de...

El sitio

Este artículo se publicó bajo el título "De las cavernas a los rascacielos, una breve historia" resumiendo las notas sobre la historia del sitio.

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 1ª: Scripts 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 versión se supone con la caótica numeración previa carente de criterio bautizando esta como la v1.0 (las 6 versiones previas se rebautizaron como v0.x) y estableciendo que un cambio de versión supone un cambio en el gestor del sitio.

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 surge 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 algo 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 ocasiones (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 el sistema 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 un generador de páginas estáticas (Nanoc) y ¡se emancipa del servidor que la vió nacer! recalando en GitHub Pages. Un cambio absolutamente radical que, gracias a las herramientas utilizadas, se realiza en pocos días.

Mirando al ático

Tras la migración de servidor, las previsiones son migrar los contenidos del servidor manteniendo únicamente la redirección para referencia.

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

Javascript is currently disabled! For full functionality of this site it is necessary to enable JavaScript. Please enable JavaScript in your web browser.
Alert! You are using an outdated browser. Upgrade your browser today or install Google Chrome Frame to better experience this site.