Copy
 
Ver este email bien chachi en tu navegador
 
bonillaware.png ba217cda-56f0-4b47-a625-8dc971f2a658.png

La historia del GIF
 

Hace 50 años, una computadora con 2Kb de memoria y un procesador 2.000 veces más lento que el que monta cualquier móvil actual nos llevó hasta la Luna. Y sin embargo, un potente ordenador de sobremesa puede llevar su CPU al límite y generar más calor que un reactor nuclear para renderizar un simple GIF, pero ¿por qué?

Para intentar encontrar la solución de esta paradoja tendremos que remontarnos al origen de este popular formato, odiado y amado a partes iguales por los programadores, que -32 años después de su nacimiento- se sigue usando de forma masiva y se ha convertido en uno de los pilares de la cultura popular contemporánea, llegando a redefinir la forma en la que nos comunicamos.  

En 1987, cuando el formato GIF fue presentado, todo esto era campo. Aún faltaban 2 años para que Tim Berners-Lee hiciera público su proyecto de "World Wide Web", el mercado de los ordenadores personales se repartía entre varias marcas como Apple, Atari, Commodore, Tandy o IBM y cada uno tenía su propia forma de mostrar gráficos. Sandy Trevor, CTO de Compuserve -uno de los primeros proveedores de acceso online- le encargó a Steve Wilhite que diseñara un formato que pudiera funcionar en cualquier máquina y, además, permitiera transmitir imágenes a través de una red especialmente lenta. Con una conexión de 1.200 baudios -que en los 80 era considerada "alta velocidad"- una imagen de 20KB tardaba más de un minuto en descargarse.

Para conseguirlo, Wilhite diseñó el nuevo formato alrededor del LZW, un algoritmo que -al contrario que los utilizados por otros tipos de gráficos- permitía comprimir los datos de las imágenes sin pérdida de calidad. Ese superpoder, no la animación, fue la clave del éxito del GIF. De hecho, los primeros ficheros eran simples imágenes estáticas -como la primera foto que se publicó en la Red- un GIF escaneado por el mismísimo Berners-Lee con la versión 1 de Photoshop.

El formato describía un área gráfica de un tamaño determinado que podía rellenarse con una o más imágenes, cada una con una paleta de un máximo de 256 colores, más que suficiente en una época en la que empezaban a comercializarse -a un precio prohibitivo para la mayoría- las primeras tarjetas VGA. Todas las imágenes se mostraban al mismo tiempo, pero una segunda especificación del formato lanzada en 1989 permitía usar fondos transparentes y... definir un "retraso" en la aparición de cada imagen o, lo que es lo mismo, la posibilidad de crear animaciones.

Pero la característica más importante del formato fue Wilhite tuvo el acierto y la previsión de hacerlo extensible, permitiendo que una aplicación pudiera guardar metadatos propios. Eso posibilitó que en 1995 el equipo de desarrollo del navegador Netscape implementara un bloque de información en el que poder especificar el número de veces que se quería repetir la secuencia de animación -que, hasta ese momento, se reproducía una sola vez- introduciendo la posibilidad de la reproducción en bucle, que acaba de dar forma al GIF tal y como hoy lo conocemos.

Pero aunque el éxito del GIF parecía imparable y su popularidad actual parece corroborarlo, estuvo a punto de desaparecer, repudiado por la misma Comunidad que hoy lo adora, porque el formato protagonizó uno de los primeros conflictos de patentes en la Historia de la Red.

Porque, aunque Trevor y Wilhite no lo sabían, el algoritmo LZW estaba patentado por Unisys. Y en 1995, después de permitir que los desarrolladores usaran el formato libremente durante años, Unisys anunció que pretendía cobrar un pequeño royalty -hasta el 0,65% del precio de venta- a todo el software que usara el algoritmo de compresión, lo que incluía formatos como TIFF, PDF y -por supuesto- GIF. Aunque en un primer momento Unisys ejerció su patente solo ante los fabricantes de las aplicaciones comerciales utilizadas para crear los GIFs, en agosto de 1999 anunció que también pretendía cobrar entre 5.000 y 7.500 dólares a todas las webs que usaran GIFs creados por software no licenciado, aunque fueran privadas y sin ánimo de lucro.

La reacción de los desarrolladores fue furibunda, impulsando el desarrollo de un formato alternativo y completamente libre -el PNG, cuyo nombre es el acrónimo de Portable Network Graphics, pero originalmente era PING, de "PNG Is Not GIF"- y, aunque ahora suene surrealista, promoviendo el Burn All GIFs Day el 5 de noviembre de 1999, cuando algunos programadores se reunieron para quemar publicamente CDs con GIFs en lo que The Atlantic denominó "la primera protesta política organizada contra un algoritmo matemático en la Historia de la Humanidad". Aunque Unisys solo exigió a las grandes corporaciones que compraran licencias, los desarrolladores percibieron la patente como una amenaza y el GIF cayó en desgracia.

La patente caducó en 2004 y, a partir de ese momento, cualquiera podía usar GIFs sin ningún tipo de restricción. Una de las primeras webs que volvieron a popularizarlos fue MySpace, que permitía a los usuarios añadir CSS propio para personalizar su web y crear algunos de los diseños web más atroces jamás creados. Tanto que Facebook y Twitter se resistieron a usar GIFs para que su diseño pareciera menos amateur que el de MySpace, que estaba en la cresta de la ola cuando estas redes sociales fueron lanzadas.

Afortunadamente para el formato, en 2007 se lanza Tumblr -el blog para hipsters- que permite publicar GIFs de hasta 500KB. Debido a la forma en la que procesaba los archivos, los GIFs sobresaturados -especialmente con colores magenta y cian- muy brillantes o con más de 50 frames, no cargaban. Pero Tumblr convierte un bug en una feature, creando una estética visual muy caracteristica, compuesta por GIFs más oscuros y fotográficos, y dignifica el formato seleccionando contenidos para el tag #GIF y publicando trabajos originales, creados por ellos mismos.

En 2011, los GIFs se empiezan a usar en hilos de Reddit como contestación para expresar emociones e ideas, convirtiéndose en una parte fundamental de la comunicación e interacción digital. Desde entonces su popularidad no ha dejado de crecer.

El formato quedó tecnológicamente obsoleto hace años, pero son sus propias limitaciones las que han contribuido a su éxito. La ausencia de audio y la falta de control en la reproducción -que es un bucle continuo- permite que el mismo sea consumido de forma asíncrona y sin requerir la atención del destinatario; y como son simples ficheros pueden publicarse y compartirse en cualquier parte, sin la necesidad de codecs o plugins adicionales. Esa ubicuidad y universalidad es la que explica por qué el GIF se ha convertido en un icono cultural de nuestro tiempo y por qué seguimos utilizándolo. El mejor GIF es aquel que se comparte.

El GIF nos enseña, una vez más, que la tecnología es un medio no un fin.


Bola Extra: por qué para renderizar un GIF se necesita la potencia de un ordenador cuántico

No soy un experto en navegadores web ni en gráficos computerizados, pero sí soy curioso y he intentado entender cómo una página web con un puñado de GIFs puede ralentizar tanto mi ordenador.

El primer factor que puede influenciar es el tamaño de los ficheros. Un GIF de 14MB puede convertirse en un video MPEG-4 de 687KB, un 94% menos. Esto es posible porque el GIF necesita almacenar cada imagen mientras que los videos solo guardan algunas imágenes completas -denominadas I-frames- y entre las mismas hay muchos B- y P-Frames que unicamente almacenan las instrucciones necesarias para transformar una imagen en la siguiente, cambiando algunos pixeles.

El segundo factor es la gestión en memoria de esos ficheros. Mientras que un GIF tiene que descargarse por completo para ser mostrado por el navegador, un video puede streameado en diminutos chunks -trocitos de pocos segundos que se van concatenando, reproduciendo y borrando- haciendo que la huella de memoria del navegador sea mínima, mientras que una web con un puñado de GIFs puede comerse 20, 50 o 100MB. 

El tercer factor es la necesidad de decodificar imagen a imagen, algo que exige mayor trabajo a la CPU. En una comparativa realizada por Jeremy Wagner, consultor especializado en rendimiento web, un GIF con una animación de 6,5 segundos requirió 2,668 milisegundos de la CPU mientras que en formato MEPG-4 solo necesitó 1,994, un 25% menos.

El cuarto factor puede ser la existencia de CPUs/GPUs con hardware específico para codificar y decodificar video, por ejemplo las CPUs de Intel desde la serie Broadwell o las tarjetas GeForce de NVIDIA desde la serie 8, mientras que el trabajo de codificación y descodificación del algoritmo LZW se lo come la CPU a pecho palomo.

El quinto factor que puede influir es la necesidad de calcular un redondeo en el delay o retraso con el que se muestra cada imagen de la animación de un GIF. Porque, aunque la especificación de 1989 permitía definir delays de solo 0,01s por imagen, la mayoría de los navegadores solo admiten un delay mínimo de 0,02s y algunos, como en el caso de Explorer, hasta de 0,06s.

Por si todo esto no era suficiente, el sexto factor puede ser la necesidad de representar más de  256 colores saltándose la limitación original del GIF. Para conseguirlo, se parte cada imagen en pequeños trozos de 16x16 pixeles con una paleta propia de 256 colores. Recordemos que un GIF define área gráfica de un tamaño determinado que puede rellenarse con una o más imágenes. Así que, cuando vemos un gráfico en un GIF, potencialmente podemos estar viendo MILES de imágenes al mismo tiempo... multiplicad eso por cada frame que compone una animación.
 

Ilustración original de Hugo Tobio, tarugo y dibujolari profesional de Bilbao.
b3cb56b7-c8fe-4101-8c9f-dfa1bcfe9a66.png
BONILISTA PUBLICADA GRACIAS A GEEKSHUBS

GeeksHubs Academy presenta uno de los bootcamps para desarrolladores senior más cañeros del mercado, reuniendo a CTOs de importantes empresas tecnológicas y startups para que sean el claustro de profesores en el Bootcamp Online Tech Management & Leadership.

Aprende de la mano de profesionales como Carlos Buenosvinos (Head of SEAT:CODE), Justyna Adamczyk (HR & Recruiter) en Sketch o Fernando Díaz (CTO de Mercadona Tech) para adquirir las competencias que un Manager IT necesita para liderar equipos y organizaciones. 
 
Con formato masterclass en directo, en modalidad part-time (viernes y sábado, durante 15 semanas / 150 horas), 100% online y comenzando el próximo 8 de mayo.
 
🧑‍🤝‍🧑 Team building, liderazgo y escalado de equipos IT.
👔 Gestión de negocio vs. desarrollo
🧩 Agile avanzado 
🖥️ Calidad del software
⚙️ Escalado de equipos y servidores

.. y mucho más. Tienes todo el temario disponible en su web, para que puedas echar un vistazo.

Han rebajado el precio de sus cursos un 50% como parte de su iniciativa #MasGeeksQueNunca para combatir el COVIDgedón pero, además, por ser suscriptor de la Bonilista te descontarán 250 EURAZOS MÁS de la matrícula. Para conseguirlo, solo tienes que completar el formulario de solicitud de información contestando a la pregunta “¿Alguien te ha recomendado este Bootcamp? con la respuesta “Mi amigo Bonilla” 🤓

¿Te gustaría patrocinar una Bonilista? Escríbeme a david@bonillaware.com y te informaré sobre precios, disponibilidad y requisitos.
b3cb56b7-c8fe-4101-8c9f-dfa1bcfe9a66.png
¿Trabajas en tecnología y quieres dar un impulso a tu carrera profesional? ¿Eres una empresa tecnológica y buscas talento? Manfred es el punto de encuentro para unos y otros.
5b3e15fc-71af-45f6-b9b6-f92b4ba3fc18.png
b3cb56b7-c8fe-4101-8c9f-dfa1bcfe9a66.png
16,060 tarugos han recibido esta Bonilista ¿Te ha gustado? Ayúdanos a que llegue a más gente:

share on Twitter