Quizá también te interese: https://uklanor.wordpress.com/2013/03/08/flash-vs-html5-una-vez-mas/

La reciente presentación del dispositivo iPad ha servido, -por diferentes razones conocidas por casi todos-, para avivar una polémica que desde hace algún tiempo se venía gestando en Internet y que actualmente está alcanzando visos de gran virulencia que no hacen sino augurar una beligerancia aún mayor en los próximos meses ( que acaso lleguen a su paroxismo con el lanzamiento en Junio del aparatito de Apple).

El debate en cuestión es HTML5 vs Flash, que bajo diferentes epígrafes ha servido para definir, matices aparte, dos bandos en contienda; los partidarios de Adobe Flash que defienden la permanencia y el progreso de esta tecnología y los defensores de HTML 5 que, en muchos casos, identifican como sinónimo de la muerte de Flash. Desde aquí quiero aportar mi humilde grano de arena a este Flame que tan vigorosamente está prendiendo blogs, foros y webs de noticias tecnológicas. Ahí va eso….

Batallitas del abuelo

Para comenzar ruego me permitáis ponerme en plan abuelete contando batallitas, lo creo necesario para poner en contexto mi argumentación y para dejar claro que no soy un recién venido a este mundillo.

Trabajaba como técnico preventa en una empresa mayorista de software gráfico y recuerdo que estaba profundizando en la tecnología Shockwave del software Macromedia Director, por aquellos entonces la herramienta líder indiscutible de autoría multimedia para CD ROM. Shockwave permitía publicar contenido multimedia realizado en Director  para colgarlo en la web y yo estaba convencido que era una tecnología con muchísimas posibilidades.

Mientras realizaba unas pruebas de publicación con dicha tecnología mi jefe dejó caer en mi mesa una caja con la ilustración de un cangrejo y el rótulo de Future Splash Animator. Se trataba del software de un fabricante con el nombre Future Wave y, como era habitual, mi jefe quería que probara el programita y le diera mis impresiones antes de decidir si nos hacíamos o no distribuidores del invento en España.

Más movido por la curiosidad que por el interés, instalé el programa en mi ordenador y a los pocos minutos ya lo estaba probando. Me bastaron unos minutos más para darme cuenta de que allí había algo grande, olvidé por completo las pruebas que estaba realizando con Shockwave de Director, estaba fascinado por ese novedoso concepto de animación vectorial. No se trataba de una aplicación más, tenía todos los ingredientes para ser una revolución dentro de la forma de concebir los contenidos en Internet.

…Y vaya si lo fue!, a los pocos meses Macromedia adquiría a Future Wave y lo rebautizaba como Flash y nosotros, que ya éramos mayoristas de Macromedia, empezamos a mostrar las posibilidades del software a clientes de todas partes. El programa en aquellos entonces no tenía ni de lejos las prestaciones que tiene la actual versión y aún estaba muy lejos de las capacidades de Director, pero el camino estaba abierto. Con el paso de los años la web fue sustituyendo al CD ROM como soporte de contenido multimedia y, casi a la misma velocidad, Flash fue sustituyendo el liderazgo de Director hasta eclipsarlo totalmente.

¿Y que hizo la gente con Flash?, la era del “Skip Intro”.

En muchas de esas demostraciones que hacíamos al principio podías ver ya a muchos usuarios poner ojos como platos y relamerse al imaginar cómo iban a lucir sus proyectos web. Y claro, como con todo gran descubrimiento que se precie, empezaron los malos usos de la tecnología.

Flash había sido concebido para insertar contenidos más atractivos en un documento HTML que pudieran convivir con los elementos tradicionales de una página web como texto e imagen  pero ¿a quién le importaba?, ¿por qué conformarse con una pequeña animación en un lateral de la página  cuando podías ocupar toda la pantalla con llamativas presentaciones de vivos colores llenas de objetos moviéndose a un ritmo frenético?. En un delirio sin sentido, junto con páginas que hacían una utilización racional de Flash empezaron a surgir muchos proyectos que utilizaban Flash de una forma indiscriminada para crear el sitio entero usando este software cómo sustituto del editor HTML. Y en más de un caso incluso se utilizaba Flash para crear webs estáticas, cuyo aspecto visual era idéntico al que hubiera tenido en HTML pero con la desgracia de anular los botones “adelante” y “atrás” del navegador, el historial, la accesibilidad y todas las ventajas que caracterizaban a los estándares W3C.

Las “intros” hiperbarrocas se pusieron de moda y las quejas crecientes de los usuarios hacían aconsejable la inclusión del famoso botón “skip intro” o “saltar presentación” que todos buscábamos cómo locos en la pantalla apenas intuíamos los fogonazos de otra presentación empalagosa más.

Fue entonces cuando pensé entristecido, al contrario de lo que pienso ahora, que Flash tenía los días contados. La idea era estupenda, pero muchos diseñadores habían perdido el norte, se habían dejado cegar por los fuegos artificiales de la multimedia y habían olvidado sobre que plataforma estaban trabajando. Sí, era cierto, cómo muchos “Flashnáticos” de aquella época argüían, que HTML era inconsistente en su aspecto alrededor de los navegadores, que no te dejaba utilizar cualquier fuente o que no permitía re-escalar todo el contenido como Flash, pero de ahí a despreciarlo completamente e ignorar sus muchas ventajas había un trecho bastante importante (En algunos casos extremos llegué a ver como algunos …webmasters? Llegaban incluso a obviar el HTML que hacía de “Wrapper” al contenido en Flash y enlazaban directamente la página index con un fichero SWF).

La rápida adopción del plugin por los principales navegadores no hizo sino empeorar las cosas pues cada vez había menos escrúpulos en abusar del contenido Flash en las webs “total, si casi todo el mundo tiene el  plugin”. En las nuevas versiones del producto Macromedia ya había introducido soluciones para evitar los problemas de accesibilidad y de anulación de los botones de navegación, pero los únicos que las utilizaban eran los que ya estaban haciendo un uso correcto de la tecnología y que por lo tanto no tendrían que haber modificado casi nada. La influencia de estas mejoras en las aberraciones que se hacían con Flash fue esencialmente nula.

Así el panorama no era de extrañar que surgieran los primeros odios enconados hacía esta tecnología y que aparecieran muchos gurús y expertos de usabilidad que cuestionaran seriamente la utilidad del plugin, entre ellos uno de los más famosos fue Jakob Nielsen y su ya mítico artículo Flash : 99% Bad (estamos hablando del año 2000, cómo veis los odios hacia Flash no son nuevos).

Afortunadamente en Internet existe una suerte de equivalente a la selección natural en el mundo biológico y poco a poco las exigencias de accesibilidad, de renovación constante de contenidos y ¿por qué no? de buen gusto hizo que el sentido común se impusiera en muchos casos y que los usos inteligentes de Flash fueran creciendo poco a poco en detrimento de las esperpento-presentaciones tipo “skip intro” y los usos innecesarios e injustificados de Flash. Aún a día de hoy numerosos rastros de esa época pero por suerte se trata en muchos casos de páginas fósiles o de residuos de malos hábitos de utilización (los que precisamente espero que HTML 5 erradique para siempre jamás como explicaré más adelante).

Y el jovencito se hizo un hombre….

Coincidiendo con el inicio del declive del uso abusivo de Flash ocurrieron dos cosas que fueron decisivas en la actual ubiquidad y éxito del plugin de Flash (a partir de este párrafo Flash Player). Por un lado, en la época de transición de Macromedia a Adobe como fabricante de la herramienta, Flash pasó de ser una aplicación de autoría multimedia a convertirse en una verdadera plataforma de desarrollo y por otro lado la masificación de la banda ancha hizo que el vídeo reclamara su lugar en la web presentándose Flash como la opción más idónea para llevar a cabo esta misión.

Analicemos que ocurrió en cada caso.

Los desarrolladores de aplicaciones profesionales jamás se habían tomado Flash en serio. Aquella cosa extraña nada tenía que ver con entornos de programación maduros como Java o visual C y por supuesto aquel juguetito para hacer animaciones jamás fue contemplado, ni por asomo, como una herramienta para el desarrollo de aplicaciones para la web. Pero Macromedia había ido dando pasos para convertir a Flash en una aplicación cada vez más potente para la creación de aplicaciones interactivas. Pasos como la mejora de su originalmente arcaico lenguaje de scripting llamado Action Script, la inclusión en la herramienta de autoría de interfaces más orientados al trabajo de desarrollo o la creación de tecnologías como “Flash remoting” para la comunicación con fuentes de datos externas. Esta estrategia cristalizó en la diversificación de la plataforma Flash y la aparición de Flex builder que proporcionaba un entorno de desarrollo adecuado para los programadores tradicionales que a la vez permitía un desarrollo visual de aplicaciones con el lenguaje de descripción MXML. De esta manera la familia Flash quedaba diversificada en dos vertientes de creación, por un lado Flash Professional (el descendiente de la herramienta de autoría original) más orientadas a creativos y diseñadores y Flex builder concebido para programadores y desarrolladores web. Ambos podían crear contenido interactivo para Flash Player.

En el otro caso, la inclusión de vídeo en Flash con un formato propio permitía aprovechar la gran penetración de Flash Player en muchos navegadores para hacer llegar el vídeo de una forma rápida y, sobretodo, satisfactoria a los espectadores finales con una experiencia de usuario que no tenía siquiera comparación con las otras tecnologías existentes como Real Media, Windows Media o Quick Time. La popularización de la web de vídeos You Tube a la que le siguieron muchas similares contribuyeron sin duda  a la rápida adopción de Flash no solamente como estándar “de facto” para juegos y aplicaciones interactivas en la web sino también para vídeo online.

Los últimos aciertos

Lejos de conformarse con lo conseguido, en los últimos tiempos Flash ha seguido evolucionando como tecnología añadiendo ciertas mejoras que para mí son clave, a saber:

Action Script 3: La nueva generación del lenguaje de programación de Flash ha pasado a ser un lenguaje orientado a objetos en toda regla, más similar a otros entornos como Java y que ha conseguido que por fin muchos desarrolladores hayan considerado a Flash como una plataforma seria y robusta para el desarrollo de aplicaciones de todo tipo.

Flash Media server y H,264: La última versión del software de servidor de vídeo en flujo permite retransmitir vídeo en diferido servir vídeo en vivo tanto en el formato FLV original como en un nuevo formato basado en el códec H264 que permite la alta definición (y con la opción de proteger el contenido). Afortunadamente el usuario final no tiene porqué conocer este dato, simplemente sentarse delante de su pantalla y disfrutar del contenido. Por eso ha sido la opción de muchas operadoras de TV y medios para sus versiones online.

AIR: Una de las tecnologías más recientes para llevar la potencia de las aplicaciones de Flash Player más allá del navegador y poder crear aplicaciones de escritorio multiplataforma (de momento, Windows, Macintosh, Linux, Palm OS y la lista sigue creciendo…)

Open Screen Project: Proyecto liderado por Adobe y apoyado por varias decenas de las más importantes compañías tecnológicas y de medios del mundo cuyo objetivo final es poder visualizar contenido Flash en cualquier dispositivo que posea una pantalla. Uno de sus últimos frutos es la versión 10.1 de Flash Player que ha sido aprobado por 14 de los 15 mayores fabricantes de teléfonos móviles del mundo (adivinad cuál es el que no😦 ) y que correrá en la mayoría de sus dispositivos.

Live Cycle Data Services: tecnología de servidor que permite conectarse con la lógica de muchas aplicaciones empresariales y servir datos a tiempo real.

El momento presente

Por toda una suerte de circunstancias y afortunadas decisiones, de Macromedia al principio y de Adobe posteriormente, Flash ha transcendido de ser únicamente una aplicación de autoría y se ha convertido en una plataforma tecnológica que permite desplegar, a día de hoy, contenido multimedia en el 98% de ordenadores conectados a Internet y que es utilizada para servir el 75% del vídeo que se ve en Internet.

…y el HTML 5?.

Y llegamos al meollo de la cuestión. Tal y comentaba al principio, la polémica acerca de la negativa de Apple a incluir Flash Player en sus dispositivos móviles dio pie a que saliera de nuevo a relucir el antiguo debate de la necesidad o no de Flash Player para incluir experiencias multimedia en la web.

La diferencia es que ahora el nuevo actor en la contienda y principal argumento de los agoreros del fin de Flash para justificar su renuncia y anunciar su desaparición es el HTML 5. Según dichos agoreros con HTML 5 no será necesario Flash y por lo tanto no tendrá ninguna razón de ser.

¿y que es el HTML 5?, pues básicamente lo que fue siempre HTML, un lenguaje de descripción de página basado en etiquetas. La novedad es que ahora se incluyen una serie nueva de etiquetas como “<video>”,” <audio>”, “<canvas>” o”<command>”, por citar sólo algunas que permiten incluir directamente vídeo, gráficos bitmap dinámicos, botones y otros elementos multimedia o interactivos sin necesidad de plugin adicionales.

Así a simple a vista lo que parece evidente es que HTML 5 es un muy buen sustituto de los malos usos de Flash o de los usos inapropiados. Y si es así bienvenido sea por supuesto. También puede ser un sustituto muy adecuado para otros usos óptimos de Flash, como la reproducción lineal de vídeo, que está muy bien pero que infrautiliza claramente el potencial de la tecnología de Adobe. Si conoces, ni que sea de forma somera, los desarrollos que se realizan hoy día en Flash y los proyectos de futuro que hay en marcha, lo más obvio parece ser pensar que ambas tecnologías puedan convivir en armonía e incluso complementarse  perfectamente la una a la otra. No en vano la propia Adobe forma parte del comité de esta especificación y muchos de sus empleados e ingenieros son entusiastas del desarrollo de HTML 5. Las razones parecen bien sencillas. HTML 5 es una nueva oportunidad para renovar y vender las herramientas de creación que es donde Adobe ha venido teniendo su mayor fuente de ingresos ya que el desarrollo para Flash Player y su utilización por parte de los usuarios es gratuita.

…Y el futuro de Flash?

Predecir el futuro de Flash o de otras tecnologías digitales a medio o largo plazo en el actual entorno pienso que es algo completamente ocioso. La realidad es muy compleja en todos los niveles incluidos el que estamos comentando. Las tecnologías pueden evolucionar por caminos muy diversos y pueden surgir muchas sorpresas o imprevistos en el panorama internacional que, muy probablemente, ahora no somos capaces siquiera de concebir.

Dicho esto, sinceramente pienso que a corto plazo Flash no tiene ningún motivo serio de preocupación. Sigue siendo la principal plataforma de divulgación de publicidad en la web (“el vídeo está muy bien pero la publicidad es la que paga las facturas“), también es la principal plataforma para el desarrollo de aplicaciones ricas de Internet, no únicamente juegos de uso masivo como los que se utilizan en Facebook o webs especializadas sino también para completas herramientas de uso comercial, empresarial o educativo.

En cuanto al tema de la accesibilidad y la indexabilidad es importante no olvidar (en contra de lo que proclaman muchos supuestos “especialistas“, blogueros y articulistas ignorantes de esta tecnología) que actualmente Flash Player está preparado para que su contenido sea accesible, indexable por los principales buscadores y respetuoso con las funcionalidades del navegador. Otra cosa es que el desarrollador de turno se preocupe o no de implementar estas funcionalidades.

Incluso en el tema específico del vídeo Flash sigue ofreciendo muchas ventajas como la capacidad de colocar vídeo con fondo transparente sobre texto, imagen o gráficos, la capacidad de proteger el contenido, enlazar con servidores de señal digital de vídeo en flujo o realizar análisis de audiencia. Cuestiones éstas que la etiqueta <video>  de HTML 5 parece no tener aún del todo solucionadas.

La sensación que tengo con HTML 5 para nada se parece a la que en su día tuve con aquella caja de software que me entregaron mientras trabajaba con Director.

Aún dando por hecho la inevitable hegemonía de HTML 5 parece que aún queda un largo trecho por recorrer antes de superar todas las dificultades y retos que se le presentan. Aparte del eterno problema de la falta de consistencia con los navegadores, existen aún numerosos desacuerdos entre los miembros del comité y otros agentes implicados que hacen que a día de hoy solamente un puñado de navegadores ( y no de los de uso más masivo) puedan ejecutar adecuadamente todas las etiquetas. Afortunadamente es previsible que dichos desacuerdos vayan llegando a un consenso en favor de los usuarios.

Cómo sustituto de HTML 4 y anteriores, el HTML 5 me parece una solución estupenda. Si se cumplen los pronósticos de los “Flash haters” y hemos de conformarnos con HTML 5 como sustituto de Flash entonces tengo que declarar con tristeza que es un retroceso de bastantes años (hacia atrás, claro), como pasar del tren de alta velocidad de nuevo a la carreta de bueyes.

He estado estudiando superficialmente las características del tag <canvas> y aunque hay que decir que está muy bien como mejora del HTML tradicional (no en vano Apple lo ideó como una buena opción para mejorar sus “widgets”) pero es excesivamente arcaico si lo comparamos con la arquitectura y las posibilidades de Action Script 3.0.

Conozco a muchos desarrolladores que han tenido que trabajar en proyectos RIA basados en Flash/Flex  y también en proyectos AJAX basados en estándares, pues bien, ni UNO solo de ellos afirma que AJAX sea una alternativa seria a Action Script 3.0 para el desarrollo de una aplicación que exija un rendimiento razonable, bien al contrario muchos de ellos suelen recurrir a la blasfemia cuando rememoran las experiencias y vicisitudes que tuvieron que pasar para lograr una mínima consistencia en AJAX. Ya no hablemos si les preguntas que comparen Action Script con HTML 5, …la mayoría se limitan a esbozar una sonrisa compasiva.

Y no es que Flash no tenga defectos. Precisamente los que trabajamos más con él somos los más conscientes de todos sus bugs, carencias y elementos por pulir. Pero hay que tener en cuenta que detrás de Flash hay una compañía que invierte millones de dólares al año en corregir dichos errores, en mejorar las prestaciones y en investigar sobre nuevas aplicaciones de la tecnología. Una empresa cuya ultimísima intención es dejar morir a Flash sino, todo lo contrario, llevarlo al mayor número de pantallas posibles le guste o no al señor Steve Jobs. Además detrás del desarrollo de la plataforma Flash hay un montón de personas apasionadas, tanto dentro como fuera de Adobe, que invierten no únicamente su talento sino también su ilusión y entusiasmo en mejorar esta tecnología. Lo hacen no por fanatismo sino porqué son capaces de vislumbrar las capacidades futuras de la plataforma, capacidades que pueden volver a cambiar la forma de relacionarnos con la información y las ideas,( como ya se hizo otras veces en el pasado ) y quieren ser partícipes de esos cambios. ..y lo afirmo así porqué tengo el honor de conocer a algunas de esas personas. En resumen, si Flash tiene que morir, como dicen muchos, morirá pero que no os quepa duda que será tras presentar una durísima batalla.

Personalmente, no me importaría que Flash se retirara a un merecido descanso si fuera a cambio de una tecnología mejor y más eficiente, como ocurrió en su día con Flash y Director, pero me temo que HTML 5  no es esa tecnología.