HTML5, Flash, y otras armas de destrucción masiva

En los últimos meses se ha hablado, escrito y discutido muchísimo acerca de cuestiones relacionadas con el universo del desarrollo web, el desarrollo de aplicaciones para smartphones y depravaciones similares, cuestiones político-filosóficas acerca del futuro de la web y del modelo de negocio de las empresas más pesadas dedicadas al software. Todo en la misma bolsa.

¿Un post más acerca de todo esto? En serio… ¿otro más? Sip. Un poco porque contar me ayuda a ordenar las ideas y otro porque probablemente le sirva a alguna que otra persona interesada, que todavía no hubiera llegado a entender de qué se trata todo esto, por qué tanto revuelo y cómo se relacionan estos asuntos entre sí.

First thing first

A continuación, una breve reseña descriptiva de algunas cuestiones:

  • Hace algunos años (en el 2000 aproximadamente) la W3C intuyó que el futuro de la web no podría montarse sobre nuevas versiones del viejo y peludo HTML —ya muy vapuleado—. Decidieron lanzar al ruedo una nueva recomendación, que sentaba las bases de una línea de pensamiento renovada, un HTML más ordenado, limpio y estructurado, uno basado en el estándar XML: así nació el XHTML. Hoy, diez años más tarde, nos encontramos ante una situación similar: con una W3C que decide —en vez de continuar la lógica del XHTML y generar una versión 2.0— volver a la ruta del HTML y se encuentra as we speak desarrollando el mentado HTML5 (cambio de rumbo que se vio influenciado por el trabajo realizado por el WHATWG). Casi una marcha atrás, pero no.
  • Apple, empresa que diseña y fabrica la línea de smartphones más popular del mercado, se niega a permitir la ejecución de Flash en sus artefactos. Adobe pone el grito en el cielo al tiempo que algunos usuarios. Steve Jobs, CEO de Apple, publica una carta en abril de este año, en donde explica el por qué de su decisión. Adobe responde con una campaña publicitaria titulada “We love Apple”.
  • Apple apoya el formato HTML5 y se instala en el mercado que la Plataforma Flash está en decadencia, con la nueva versión de HTML como su verdugo y sucesor. Nace la rivalidad HTML5 vs. Flash.
  • Tooodo el mundo enloquece con las vistosas nuevas posibilidades de lo que dan en llamar HTML5 (aunque en muchos casos se trata de posibilidades absolutamente factibles aún sin la utilización del dichoso HTML5). Hay la sensación de que algo groso, muy groso, está ocurriendo en el universo del desarrollo web.

¿Qué demonios está ocurriendo?

Trataremos de ordenar un poco el panorama, ahora sí, olvidando la poca objetividad que pude esbozar en los párrafos anteriores. Todas estas cuestiones se relacionan íntimamente. Veremos…

¡Que vivan los estándares!

Durante un largo tiempo, desarrolladores web y otros evangelizadores han invertido una enorme cantidad de energía en la utilización de estándares. —Me incluyo en la humilde y pequeñísima porción que me toca: comencé a utilizar estándares XHTML y CSS allá por el 2003 en trabajos para clientes, todo se veía para el traste en Internet Explorer y los clientes me querían mandar a matar.— Esto se hizo con muchísimo esfuerzo, contra la corriente y en oposición a muchos intereses económicos. Ha sido una tarea hercúlea que dio sus frutos: hoy podemos decir que los estándares web gozan de buena salud, buena publicidad y buen funcionamiento en casi todos los navegadores web.

¿Qué significa esto? Significa, entre otras cosas, que un sitio web desarrollado acorde a estándares tiene una alta probabilidad de funcionar correctamente en una gran cantidad de navegadores web. Significa, también, que personas no videntes, con visión reducida o problemas motrices severos, pueden navegar sin mayores inconvenientes gracias a una web más accesible. Esto último es muy importante: es equivalente a rampas y ascensores en edificios públicos.

En el pasado, algunas empresas (principalmente Microsoft) vieron esta democratización en cuanto a la libre elección de navegadores web como una amenaza contra la preponderancia del Internet Explorer, e hicieron todo lo posible por retrasar el avance en relación a los estándares web. Las consecuencias de esta estrategia han sido tan fuertes que aún hoy lo sufrimos a diario, tanto navegantes como desarrolladores.

¿Qué ha cambiado?

Los intereses económicos han cambiado. Por estos días, Apple —cuyo capital ha superado al de Microsoft muy recientemente—, basa la porción de su negocio con mayor crecimiento en sus plataformas mobile, esto es: iPhone, iPod touch y iPad. Estos artefactos son computadoras —mi Motorola W375 también, aunque sea menos evidente— pero, a diferencia de sus hermanas de escritorio, tienen menos velocidad de procesamiento, sus componentes son muy pequeños, se encuentran empaquetados de la manera más comprimida posible, y deben economizar la potencia de procesamiento al máximo para evitar el sobrecalentamiento y utilizar el menor consumo de batería posible.

Apple necesita del HTML5, y no es una cuestión de filantropía. Lo necesita porque puede brindarle contenido textual, imagen, animación, video, audio e interactividad utilizando pocos recursos. Los desarrolladores web nos encontramos ante una situación muy extraña: de repente el gran capital está a favor de los estándares web. ¿Algo andará mal? Not quite.

What’s up Flash?

El asunto Flash está sobredimensionado, salvo que se lo mire desde el interior mismo de los cuarteles de Adobe. La remota posibilidad de la desaparición de Flash, debe preocupar a nadie salvo a sus mismísimos fabricantes. En lo personal, le tengo muchísimo cariño a la Plataforma Flash, me ha dado de comer durante años, ha significado el 70% de mi trabajo de programación diario, pero debo admitir que la Web será un lugar tanto más feliz cuanto menos preponderancia posea Flash.

Las dos virtudes más importantes de la Plataforma Flash son:

  • Un altísimo grado de interactividad, incluyendo texto, imagen, animación, audio y video.
  • Fidelidad absoluta entre diferentes plataformas. Un contenido Flash se verá exactamente igual en Mac OS, Windows, y en algunos casos Linux, incluso cuando vistos en diferentes navegadores como Internet Explorer, Firefox, Safari, etc.

Por otro lado, los grandes problemas del Flash son:

  • Una performance paupérrima. Basta con mover un objeto más o menos grande (una foto que ocupe toda la pantalla, digamos) para que algunas notebooks levanten su temperatura en segundos.
  • Una cantidad incontrolable y muchas veces indocumentada de bugs. Aún en la última versión de su lenguaje de programación, ActionScript 3.0, programar en la IDE de Flash suele ser un safari infernal a lo desconocido.

¿Comienzan a vislumbrar el asunto? Flash tenía sentido en una realidad donde la fidelidad de un mismo contenido entre navegadores era muy pobre (una misma página web se veía y funcionaba de formas diferentes según desde qué navegador se ejecutara), y donde alcanzar un alto nivel de interactividad que incluyera audio, video y animación era imposible en el marco de los formatos estándares propuestos por la W3C.

Ahora bien, hemos sido testigos de la carrera de Intel y AMD por generar procesadores cada vez más rápidos y poderosos, pero esos tiempos se han acabado. El mayor interés actual es lograr un alto poder de procesamiento, en poco espacio, con poco consumo de energía y poca necesidad de ventilación. El gran capital necesita procesadores que puedan hacer funcionar sus nuevos gadgets para la burguesía tecnológica y software altamente optimizado que acompañe dicho ahorro de energía.

Como dijimos, Flash sufre de una performance paupérrima, un pésimo uso de la energía y está lleno de bugs. Que se cuelgue una aplicación en una computadora de escritorio es una cosa (force quit o ctrl+alt+delete y chau), que se cuelgue una aplicación en un teléfono móvil implica que la batería se consuma en unos pocos minutos: un día entero de incomunicación.

Contenido semántico

En los últimos años se habló mucho acerca de la web semántica. El asunto merece un post al margen, pero haré un breve reconto de por qué es importante en medio de todo este asunto.

La web abriga una cantidad demencial, inimaginable, incuantificable, infernalmente gigante de contenidos. Esto dificulta un tanto su accesibilidad. Cómo encontrar el contenido necesario entre semejante cantidad de datos es uno de los grandes temas en el campo de preocupaciones de científicos, ingenieros especializados y desarrolladores web. La respuesta es simple: hay que ordenar el contenido de alguna forma, hay que darle estructura.

El asunto es que la mayoría de las veces, quienes buscan entre el contenido son robots. Google puede mostrar una lista de resultados más o menos útiles en nuestras búsquedas, porque periódicamente envía una tropa de robots a darse una vuelta por la web, y a anotar lo recolectado en bases de datos. Cuanto mejor entienda la información este robot, más efectiva será la lista de resultados que ofrezca el motor de búsqueda.

La estructuración de ciertos tipos de datos en formas estándar, permite que estos robots puedan comprender la naturaleza de la información y sus relaciones. Por ejemplo, en los sitios web que están bien desarrollados y acorde a estándares, el robot de Google entiende qué partes de cierta página son más importantes, cuáles textos son títulos, a qué párrafos corresponden, de qué tratan las imágenes, etc.

Hoy en día, existen propuestas estándares para codificar muchos tipos de datos, por ejemplo un evento. Esto implica que es hipotéticamente viable, con la ayuda de Google y un smartphone con GPS, pararse en cualquier esquina de Buenos Aires y buscar eventos que ocurran de aquí a 4 horas, en un radio de 20 cuadras. Esto se hace posible únicamente en el marco de una web semántica, que sigue ciertos estándares.

¿Por qué nos interesa todo esto? Porque la información que se encuentra en un archivo HTML o XHTML (es decir, en una página web), es información que se encuentra accesible a robots, y que puede estructurarse semánticamente sin problemas. El Flash no lo permite, y es probable que no lo permita nunca, salvo que cambien cuestiones de la naturaleza de fondo de la tecnología.

¿Desaparecerá el Flash?

No creo. Pienso que se va a enfocar fuertemente al desarrollo de aplicaciones multiplataforma, lo que hoy en día Adobe llama Air, o tecnologías similares. Sin dudas la utilización de Flash en web está decreciendo, esto es un hecho. Apple ha ayudado mucho a acelerar el proceso. Vale la pena aclarar, sin embargo, que todavía no ha salido al mercado una versión del Flash Player que funcione en dispositivos móviles —con o sin manzana— por lo que está por verse si efectivamente Flash estará disponible en celulares y tabletas interactivas. Hoy en día hay un beta del Flash Player corriendo en un beta de la próxima versión de Android, el sistema operativo mobile de Google.

En ciertos casos clave, cuando se necesite un altísimo nivel de interactividad con una curva de aprendizaje más o menos sencilla, la tecnología de Adobe seguirá siendo una buena opción. Mientras tanto, sólo queda observar atentamente cómo se desarrollan los hechos, e ir practicando muuucho JavaScript ;-)

Tags: , , , , , , ,

6 Responses

  1. Mat!as dice:

    100% de acuerdo, además me pregunto si tiene sentido pretender que el usuario tenga la misma interacción en una PC que en su teléfono… por lo pronto creo que no, aunque puede cambiar si se desarrollan dispositivos diferentes, tipo iPad o Retina Display en el iPhone 4G. Ya veremos, algo es seguro… nos vamos a divertir mucho en los próximos años :)

  2. Nos vamos a divertir, sin duda.

    Estas rivalidades entre empresas aparecen después de muchos años de calma absoluta; parece ser un buen síntoma, espero que la competencia ayude a nuevos y mejores avances. La Web necesitaba de un empuje que la W3C claramente no le podía dar por su cuenta.
    Si Google, Apple, (quizás incluso Adobe), tienen sus intereses puestos en la WWW, es probable que de rebote liguemos algunos buenos desarrollos, y un buen apoyo de ciertas empresas con mucha energía, buenos desarrolladores y capital.

    ps. ¿Y Microsoft? ¿Dónde queda Microsoft?

  3. Diego dice:

    Esta bastante bien escrito, y aunque posee una cuota considerable de opinión al principio. Me gusta como lo contás.
    Por suerte hay muchos lugares donde alguien realmente preocupado por el tema podría informarse bien y luego si, tener su propia opinión.
    En MI humilde op: hay pros y contras para flash. Los pros los disfrutamos mucho en la ultima década. Y estuvo bien. Los contras se nos están viniendo encima ahora q la energía se vuelve un factor crucial.
    Los dispositivos móviles SON computadoras. Y no solo eso. Son lo q en el futuro va q ser la computadora mas popular. Y ni hablo de 100 años.
    Así q q qlguien se siente y decida ordenar el juego a favor de ese futuro ni me parece nada mal.
    Y disculpen mis errores de tipeo; pero lo escribí desde mi telefono.

    Saludos.

  4. […] modelo de negocio de las empresas más pesadas dedicadas al software. Todo en la misma bolsa. ☞ leer artículo completo Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente. Publica un comentario o […]

  5. Muchas gracias por tus comentarios Diego!

    Evidentemente hay una cuota considerable de opinión, como no puede ser de otra forma. Pero ahí está la gracia de expresarse en un blog personal… no?

    Salutes!

  6. […] iPhone, iPad y similares: este asunto es escabroso, pero tampoco es exclusivo de HTML5. El debate Flash vs HTML5 ha generado la equívoca sensación de que para que un celular pueda interpretar correctamente una […]

Leave a Reply