FlashSoy entusiasta del uso de HTML, los estándares, las hojas de estilos y todas esas tecnologías que hacen nuestra vida verdaderamente entretenida. Pero, también opino que Flash es un tanto incomprendido y que la mayoría de los crímenes que se le imputan tienen que ver con el mal uso que se le da o con limitaciones que son solucionables:

  • “Flash es lento y pesado”
  • “Sólo sirve para hacer perder el tiempo al usuario”
  • “No es indexable y no puede posicionarse en resultados de búsqueda”
  • “Nos deja fuera de los dispositivos móviles”…

La idea de este artículo es tratar de ver si Flash realmente es “el chamuco” que hay que espantar con ajos y cebollas o si puede de pronto ser un buen aliado.

¿Cuál es el mayor pecado de Flash?

Probablemente una parte esencial del problema existencial de Flash tiene que ver con algo que en principio supondría una virtud: que permite a cualquiera que tenga nociones de diseño hacer fácilmente algo que parezca una página web. Esto se convierte en un problema, pues da como resultado que un alto porcentaje de las páginas Flash sean hechas por personas que no tienen idea del funcionamiento de la web, y por lo tanto son páginas pesadas, que no se indexan correctamente, que no son accesibles.

“Flash es lento y pesado”

Falso, puesto que Flash dispone de buenas herramientas de optimización de imágenes, incluyendo la posibilidad de tener imágenes con canal alfa, comprimidas como .jpg. La opción de reutilizar un mismo mapa de bits en distintos tamaños y orientaciones (que no son posibles con CSS 2) y cuenta con gráficos vectoriales, que suelen ser mucho más ligeros que los mapas de bits y se pueden escalar al tamaño que nosotros queramos sin que se presente ningún tipo de distorsión.

Flash, permite decidir en qué momento se carga una imagen, ya sea dentro del flujo de carga de la película principal o como archivos externos, para distribuir nuestros tiempos de espera. Sin embargo, si sólo echamos un montón de imágenes adentro de un gran .swf y creemos que con ponerle un cargador bonito será suficiente ¿se imaginan el monstruo que estaremos gestando?

“Flash sólo sirve para hacer perder tiempo al usuario”

Considero que esta idea viene desde la era de las grandes “intros” y páginas “splash”. Los diseñadores decían “este es mi momento” y muchas veces estaban tirando por la borda los 3 segundos disponibles para interesar a los usuarios en los contenidos de la página. Lo más divertido es que muchas veces hasta después que te habías chutado todo el tiempo de espera de la carga de la intro, te aparecía el letrero de “saltar intro”.

Flash también puede usarse de varias maneras que no hacen perder tiempo al usuario, sino que más bien lo ayudan a tener una experiencia más agradable, llamativa o memorable. De hecho, reconozco que en mi experiencia el usuario común nunca dice “wow” por un super trabajo hecho con CSS. Puede parecerme a mí una “obra de arte”: con un diseño bien trabajado, con algunos posicionamientos y funcionamientos difíciles de conseguir, con algunos slides muy lindos hechos con jQuery, aprovechando las implementaciones de los navegadores más avanzados y degradando hermosamente para IE.

No, el cliente y los usuarios difícilmente quedarán impactados si no utilizas un poco más de movimiento y efectos visuales. La cuestión esestudiar el tipo de proyecto en el que estamos trabajando y decidir hasta que punto puede ayudarnos o no el uso de animaciones hechas con Flash. Nuevamente, no hay una respuesta que pueda aplicarse siempre.

“Flash no es indexable y no puede posicionarse en resultados de búsqueda”

Si tienes un proyecto donde tu prioridad es el posicionamiento en buscadores, mejor no te metas a hacerlo todo con Flash, porque te estarás metiendo zancadilla solo. Eso es verdad, pero no lo es la aseveración con la que empieza este bloque. Trataremos de ser breves ya que este punto da para largos análisis y discusiones.

Flash como tal no era indexable en absoluto hace unos 5 años, pero hace ya un buen rato que Google y otros buscadores sí pueden leer el contenido de un .swf e integrarlo en sus resultados, siempre y cuando se cumplan ciertas condiciones, como que no se requiera Javascript para ver el .swf y hacer los textos seleccionables (que dicho sea de paso, ambos son principios básicos de accesibilidad).

Otro tip para hacer tu página Flash más amigable a los buscadores es tener en cuenta que un sitio formado por varias páginas siempre tiene mejores posibilidades de posicionarse que un sitio de una sola página. Si nuestro sitio web lo hacemos con un sólo swf (aun asegurándonos de que la información sea legible por los buscadores), seguiremos teniendo la desventaja de tener un sólo documento indexable.

Personalmente la opción que más me gusta cuando es importante el posicionamiento en buscadores. es trabajar un diseño híbrido html/flash, con contenidos alternativos (en vez de tratar que los buscadores indexen el contenido del swf). Armas tu contenido como si no existiera Flash, y ciertos bloques en los que nos interese tener mayores recursos visuales los remplazamos con el swfObject. De esta forma quienes tengan Javascript y Flash instalados verán esa parte del contenido utilizando los “plus” que ofrece el reproductor de Flash, mientras que los que no tengan el plugin podrán seguir utilizando la página sin ningún problema, sólo que de una forma más sobria.

“En un sitio Flash no se puede linkear directamente a una sección interna”

Hasta hace algunos años era cierto que si queríamos hacer nuestro sitio web en un sólo swf (para lograr transiciones suaves y un mayor control visual, o por el tipo de interactividad que queríamos manejar), nuestra página se comportaba de una forma “monolítica” en la que siempre tenías que “entrar por el principio”, independientemente de cuál fuera la información que estuvieras buscando.

Actualmente existen herramientas como el swfAdress que establece una comunicación con el navegador por medio de Javascript y el DOM para lograr crear enlaces directos a cualquier sección de contenido dentro de nuestro swf, permitiendo guardar esos enlaces en nuestros favoritos o enviarlos por correo, como hacemos con cualquier página html. Tengo entendido que en el caso del Flash builder esta funcionalidad ya viene integrada.

“Flash nos deja fuera de los dispositivos móviles”

Sí y no, depende de qué dispositivos y qué tipo de uso le queramos dar a Flash. La entrada de Flash en dispositivos móviles ha sido lenta y accidentada y con la determinación de Apple para no dejarlo entrar a su iPhone y iPad la cosa se pone más canija.

Pero nuevamente recordemos que una de las formas más interesantes de utilizar a Flash es de tal manera que no sea necesario para que la página funcione correctamente, sino más bien para darle un extra cuando este recurso está disponible. Este concepto en inglés se conoce como “graceful degradation” (algo así como “degradar con gracia”) y es el mismo principio que se recomienda aplicar a las funcionalidades hechas con Javascript en casi cualquier sitio web.

“Con la llegada del HTML5 y las SVG Flash se vuelve innecesario”

Algunos piensan así.  A mí me parece interesantísimo que se esté desarrollando una nueva versión del lenguaje de la web, que se extienda el soporte nativo de los navegadores para gráficos vectoriales y que se puedan reproducir videos sin necesidad de utilizar un plugin (por sólo mencionar un par de cosas de entre un montón de avances importantes que están sucediendo actualmente), pero de ahí afirmar que Flash dejará de tener utilidad tal vez nos estamos dejando llevar más por un deseo que por una realidad.

Flash, a lo largo de muchos años de avances y verdaderas revoluciones en las distintas tecnologías que construyen a la Web, se ha mantenido como la plataforma predilecta para tener un gran control sobre el resultado visual de un proyecto web, utilizando un entorno de desarrollo autocontenido. De verdad, pongan a casi cualquier buen diseñador Flash a trabajar a fondo con XHTML/CSS ¡y lo van a poner a sufrir!

“Las páginas Flash están limitadas a una “caja” dentro del navegador”

Este es simplemente otro ejemplo de algo que alguna vez fue cierto y ya no lo es. Aún si decidimos hacer nuestro sitio Full Flash, hay distintas maneras de evitar trabajar dentro de una cajita de un tamaño predefinido, orientado a una resolución en particular (la manera como generalmente se trabajan las páginas flash).

Una opción interesante es el SwfFit, una pequeña librería que hace que tu objeto de Flash se ajuste al espacio y resolución disponible en la ventana del navegador del usuario, sin necesidad de escalar su película. Otra opción, por supuesto, es hacer tu película escalable, utilizando las distintas modalidades que Flash desde hace mucho nos ha ofrecido.

La lista continua

Que si los sitios Flash son difíciles de mantener y actualizar, que si se afecta la usabilidad y accesibilidad… pero yo ya me cansé de escribir ¡y seguramente ustedes de leer! (si es que llegaron a este punto). Así que mejor aquí le paramos y bienvenidos sean sus comentarios. Si este artículo les gustó (o les dio tantos dolores de cabeza que no quieren olvidarse de quién lo escribió)  síganme en twitter.