¿Por qué es malo Flash? Porque no es una página web

Ayer escribí la entrada ¿Por qué es malo Flash? y dejé pendiente mi respuesta.

Podría echar mano de lo que dicen otros, como por ejemplo:

  • Los seis motivos de Steve Jobs para rechazar Flash (aunque da risa que uno de los motivos sea que Apple defiende los estándares abiertos, jajaja, ¡qué chiste más bueno!)
  • No debes utilizar Flash para adornar una página. Si tu contenido es aburrido, reescríbelo y contrata a un fotógrafo profesional para hacer mejores fotos. No hagas que tus páginas se muevan. (Jakob Nielsen)

Pero mejor voy a contar una historia, para que sea más personal…

La primera vez que vi una página hecha con Flash, debió ser por el año 1998 o 1999 pensé “¿cómo diablos se hace esto? Yo no puedo hacer esto con lo que sé de HTML y JavaScript” (en 1998, CSS era un desconocido).

Sin embargo, al ver el código fuente de la página, mi sorpresa y admiración se transformó instantáneamente en una sensación de engaño. “¡Esto no es HTML! ¡Esto no es una página web” grité.

Hacer una página web con Flash es como hacer una página web con un applet de Java, o hacer una página web con VRML, o con cualquier otro plugin similar o hacer una página web que simplemente muestra un vídeo: ESO NO ES UNA PÁGINA WEB. Como dice la definición de applet en la Wikipedia:

Un applet es un componente de una aplicación que se ejecuta en el contexto de otro programa, por ejemplo en un navegador web. El applet debe ejecutarse en un contenedor, que le proporciona un programa anfitrión, mediante un plugin, o en aplicaciones como teléfonos móviles que soportan el modelo de programación por “applets”.

Ya está, no le des más vueltas: hacer una página web con Flash no es hacer una página web (la página web simplemente hace de contenedor), es simplemente, hacer algo con Flash, ponerlo dentro de una página web y punto.

En los últimos años, gracias al diseño adaptativo o adaptable (responsive design) mucha gente está empezando a darse cuenta de lo que realmente es la Web. Es triste, porque han hecho falta 20 años para que mucha gente se dé cuenta, pero por fin, parece que se ha logrado. La Web no es un folleto, no es una hoja de papel, no es una cartulina, no es una valla publicitaria, no es nada de esos medios en los que conoces el tamaño de la superficie en la que tienes que trabajar para hacer tu diseño. NO, UNA PÁGINA WEB NO TIENE UN TAMAÑO FIJO. Seguro que con Flash también se podría hacer un diseño adaptable, pero nunca lo he visto, porque Flash te hace creer que tu página tiene un tamaño fijo (repito, seguro que se podría hacer adaptable… pero nunca lo he visto).

Pero hay otras razones más importantes…

Una razón muy importante: FLASH NECESITA QUE EL USUARIO TENGA INSTALADO UN PLUGIN. Y no siempre han existido plugins de Flash para todos los navegadores y todos los sistemas operativos. Y los plugins dan muchos problemas y hay que estar actualizándolos constantemente.

Además, y quizás más importante: FLASH ES UN SOFTWARE PROPIETARIO. No es un estándar, no es abierto, no es libre, es un producto comercial.

Todas estas razones son totalmente contrarias al espíritu de la Web. Flash y otras cosas parecidas han sido y siguen siendo totalmente opuestas a lo que debe ser la Web.

Y si quieres más razones, tienes el ejemplo que mostraba ayer en la entrada ¿Por qué es malo Flash?, que tenía graves problemas de accesibilidad y posicionamiento, aunque respecto a esto quiero hacer una puntualización muy importante: también se puede y se hacen las cosas mal con sólo HTML, CSS y JavaScript; sin embargo, por su naturaleza, con Flash es mucho peor (por ejemplo, durante muchos años era imposible hacer algo accesible con Flash, y aunque ya se puede, sigue siendo difícil y pocos desarrolladores lo saben hacer).

¿Necesitas más razones?

Sin embargo… bien usado, Flash no es tan malo. Cuando se usa como un complemento, por ejemplo en una tienda online para que un usuario pueda interactuar con un producto y “sentir” cómo es ese producto, entonces sí que es una buena opción. Es decir: Flash es bueno cuando aporta algo más, pero si lo quitas no pasa nada porque sigue existiendo la página web y el usuario puede seguir navegando y recibiendo la información esencial.

Desgraciadamente, muchos desarrolladores no lo entienden así y hacen sitios web en los que elementos esenciales como la barra de navegación o el listado de productos están hecho en Flash, o mucho peor, todo el sitio web está hecho en Flash.

Malo, no, malísimo.