Flash, Adobe y la web

Realmente este es un artículo que se ha tomado su tiempo en ser escrito, y así debía ser para poder procesar todo lo que ha estado pasando esta semana en el mundo de Adobe, informarme lo mejor que he podido y sacar lo más posible los sentimientos personales de la ecuación.

No es que sea algo fácil de hacer. Si bien mis días de trabajar en Flash han quedado muy atrás y desde hace ya varios años me he dedicado más a HTML, CSS y Javascript, además de PHP en el backend, tengo muy buenos recuerdos de éste desde que pertenecía a Macromedia. Es por eso que mi primera reacción fue de dolor y tristeza, como quien ve un buen y viejo amigo golpeado y magullado. Pero bueno, no se trata de hablar de mi background, así que vamos al tema.

Antes de otra cosa, una aclaración: Este es mi blog personal y aquí hablo en tono personal, no como manager del Adobe User Group Venezuela ni en ningún caso en nombre de Adobe. Toda la responsabilidad de lo dicho aquí recae sobre mí y estas son sólo mis opiniones. Esto va a ser largo, así que búscate un café antes de empezar.

El primer shock que recibió la comunidad fue el despido de 750 empleados de Adobe alrededor del mundo, aproximadamente un 8% de su personal. Fue una noticia que dejó a todo el mundo impactado, empleados, miembros de los grupos de usuarios y gente relacionada a la tecnología y los negocios en general. Los AUG’s (Adobe User Groups) de Latinoamérica  y España sentimos esto en carne propia al enterarnos que John Koch, quien hasta entonces fungía como International Community Manager para Latinoamérica y Asia, era parte de ese grupo. Hay que decir que su trabajo y pasión puso a los grupos de usuarios hispanoparlantes de nuevo en el mapa y nos dio una voz en Adobe. Por eso y más, muchas gracias John.

Como si fuese poco, ese mismo día nos enteramos, sin más, que Adobe había decidido dejar de mantener el Flash Player para dispositivos móviles, y de eso tenemos que hablar con más calma.

No más versiones de Flash Player para móviles

Más allá de las pasiones que esto pueda generar en la comunidad Flash, esto es algo bueno, o cuando menos habría sido irrelevante de haber sido manejado mejor. El hecho es que muy poco o nada se estaba haciendo con Flash para la web móvil. Desde que es posible crear aplicaciones en Flash/Flex y empaquetarlos como aplicaciones para los distintos dispositivos, ése ha sido el camino que la mayoría de los desarrolladores en Flash han estado tomando y ahora mismo las tiendas de aplicaciones de Apple y Android cuentan con ellos. La cosa es que, al ser empaquetados como aplicaciones, el público general no sabe si están hechos en Flash/Flex o alguna otra plataforma, como es el comentado caso de Machinarium, el juego creado en Flash que estuvo de número uno de descargas en iPad en la Apple Store.

La verdad sea dicha, el Flash Player no pudo realmente conseguirlo en dispositivos móviles, frente a lo que hay dos puntos de vista en la web: Por un lado, están quienes alegan que Flash Player era inestable y con un pobre rendimiento en móviles, por otro lado, están quienes afirman que esto se debe al hecho de que la mayor parte del contenido que veía en la web móvil no estaba preparado para estos dispositivos. Hay que decir acá que, lamentablemente, la facilidad de uso de Flash ha sido al mismo tiempo su bendición y su maldición, permitiendo que exista en la web una buena cantidad de contenido pobremente realizado y mal optimizado y esto, junto al “Steve Jobs Phenomenon” (que no voy a discutir ahora acá), ha predispuesto negativamente a mucha gente hacia la herramienta y a veces con razón.

Ahora un par de datos importantes: El que Adobe decidiera dejar de desarrollar futuras versiones del Flash Player para móviles no significa que el Player para móviles dejará de funcionar, si ud. lo usa podrá seguir haciéndolo en base a las limitaciones que presente ahora mismo, simplemente ocurre lo mismo que ocurre con Adobe AIR en Linux, que dejó de ser desarrollado en la versión 2.6. Claro que lo más probable es que eventualmente ocurra lo mismo: que dejen de ser usados (y el Flash Player para móviles más rápidamente), pero, por ejemplo, yo uso TweetDeck en Ubuntu sin problemas ahora mismo, con Adobe AIR 2.6, y la verdad es que no tengo quejas al respecto.

Otra cosa importante de aclarar es que Flash Player y Flash Player para móviles son dos proyectos diferentes, lo que quiere decir que la decisión de abandonar el segundo no implica que el primero también sea abandonado. Al menos no existe de momento ningún indicio al respecto y la misma Adobe ha afirmado que, mientras FP 11.1 será la última actualización del FPM (Flash Player para Móviles), aún trabajan en su hermano para desktop y están ahora mismo desarrollando la versión 12.

También creo que debo insistir en que Flash, como plataforma no ha muerto ni hay indicios de que muera pronto. Ahora mismo hay un mercado creciente en el mundo de las aplicaciones y el desarrollo de experiencias multimedia en 3D que es perfectamente explotable con Flash, a lo que se une el anuncio de la Gran A de sus intenciones de agregar capacidad de exportar de Flash a HTML5 en las próximas versiones del programa. No es que ignore el hecho de que el modo como fue anunciada la muerte del FPM ha golpeado tremendamente a toda la plataforma (eso y el anuncio respecto a Flex, del que hablaremos más tarde), dando la impresión de que es un elefante moribundo, pero más allá de los rumores (los ciertos y los falsos), es un hecho que aún hay cosas que pueden hacerse y van a seguir haciéndose con Flash, dentro y fuera de la web.

Lamentablemente, creo que la terrible forma como Adobe trató esto en su comunicado puso a toda la plataforma en una situación difícil, cuyas consecuencias aún no podemos predecir. Si Adobe hubiese dicho simplemente “Hey, ahora vamos a potenciar la creación de aplicaciones con AIR y, en vista de que la tendencia en móviles es esa y no la web, no seguiremos desarrollando el Flash Player para móviles” habría evitado muchos intentos de justificación posterior y esta mala situación en la que los desarrolladores de Flash/Flex se sienten ahora. Nadie puso el grito al cielo cuando, al anunciar la adquisición de Nitobi dijeron que PhoneGap pasaría a la Apache Foundation, y esa es la misma situación en la que se encuentra Flex ahora mismo.

¿Qué deberían hacer lo “Flash developers” ahora?

Éste es un punto al que ansiaba llegar. El momento en que Flash se volvió popular para la web hizo que bajo su sombra se conglomeraran personas con los más variados perfiles: diseñadores que querían crear experiencias interactivas para la web sin tener que aprender nada o casi nada de código, flasheros (como son llamados comúnmente) que entendían que Web = Flash, desarrolladores que iban más allá de la web, aprovechando sus características multimedia para presentaciones, juegos, aplicaciones, etc.

En mi humilde opinión, éste es un momento para tomar decisiones claras. Si lo tuyo es la web, ya deberías haber aprendido HTML, CSS y Javascript, porque de eso es de lo que está hecho la web, no ahora, no por HTML5, sino porque siempre ha sido así y la tendencia de más HTML y menos Flash en la web puede ser cualquier cosa menos algo nuevo. Es verdad que la rápida adopción de HTML5 ha acelerado esto, pero ha sido sólo un empujón de una tendencia que ya existía antes de él (y la razón principal por la que, por ejemplo, yo mismo dejé de usar Flash en mi trabajo).

Si por el contrario, lo tuyo es Flash/Flex o la Flash Plattform en general, es el momento de atacar el mercado de las aplicaciones, precisamente con la disminución de la presencia del Flash Player, Adobe comenzó a mirar en otras direcciones (TV, aplicaciones para móviles, etc.) y si el desarrollo en Flash Plattform es lo que te gusta hacer, deberías mirar hacia allá también. Como decía, existe todavía un importante mercado en el que Flash tiene aún lugar. Incluso ahora mismo, e incluso cuando Windows 8 sea un realidad en producción, la web es parte de ese mercado (la de escritorio), menos que antes y que quizá disminuya con el tiempo, pero todavía es cierto aquello de que Flash está ahí para proveer aquello que HTML y sus amigos aún no pueden (por ejemplo, DRM, 3D con aceleración por hardware, etc.).

Para lo que no hay espacio ahora mismo (y nunca debió haber) es para el mal uso o el abuso de Flash, no importa lo que Macromedia, Adobe o los usuarios hayan pensado o dicho al respecto. Lo siento, pero si vas a hacer algo deberías poner todo tu esfuerzo en hacerlo bien. No hay lugar para la mediocridad en esto.

¿Y qué pasó con Flex?

Bueno, luego de la bomba (que repito, no debió ser tal, pero es lo que es) que significó el primer día de Adobe, al día siguiente se anuncia que Adobe entregará el SDK de Flex a un grupo después de liberar la versión 4.6, el 29 de noviembre de este año. El grupo estará conformado por miembros del actual equipo de desarrollo, desarrolladores de la propia comunidad y contribuyentes de algunas de las compañías que están trabajando ahora mismo con Flex.

En cierto modo, no parece tan grave, en el sentido que el SDK de Flex siempre ha sido Open Source y lo seguirá siendo. Lo que convierte las cosas en una situación difícil es que, en el mismo artículo, se dice que Adobe recomienda el uso de HTML5 en el largo término, poniendo una sombra de inestabilidad que no resulta nada fácil para los desarrolladores o las empresas que se dedican a ofrecer soluciones empresariales a través de Flex, ni siquiera cuando el mismo Adobe diga seguir comprometido con el desarrollo de Flex y el FlashBuilder. Sí, las cosas para la comunidad Flex no se ven demasiado prometedoras.

Pueden ver un panorama más claro de estas noticias en el artículo de Lime Rocket: Flash, Flex & AIR Future – via Adobe

HTML5 aún no está a la altura para este desafío

Por mucho que me guste HTML5 y sus tecnologías relacionadas, sobre todo las cosas que CSS3 y Javascript han logrado en los últimos tiempos, hay mucho de este tema que aún es promesa a futuro. Todavía lidiamos en un mundo de Internet Explorer 8, Javascript aún no tiene aceleración por hardware (como lo tiene, por ejemplo Flash Player 11) o manejo de sonido surround, o cancelación de eco al nivel de aquel. WebGL es un gran proyecto, pero aún está lejos de ser una alternativa seria… En fin, si los desarrolladores deciden dejar de usar Flash en la web, como consecuencia de todo esto, lo que veremos en el mundo web será un retroceso hasta donde HTML5, CSS3 y Javascript pueden ofrecernos ahora mismo, con la esperanza de que eventualmente lleguemos a estar de nuevo al nivel en que estamos ahora mismo con Flash. Quiero dejarlo claro una vez más, esto no es cuestión de fanboísmo ni preferencias, es lo que es. Eso de que HTML5 puede hacer todo lo que hace Flash ahora mismo es, en el mejor de los casos, un deseo, y en el peor, una mentira.

Aún cuando Adobe afirme que ahora apunta sus armas hacia HTML5, esté desarrollando herramientas de animación, como Edge y prometa la capacidad de importación a HTML5, Javascript y CSS3 en las próximas versiones de Flash, hay mucho camino que andar aún en esa vía y todavía queda pendiente el modo como los diferentes exploradores lidiarán con ello.

Curiosamente, esto no afectará demasiado la web móvil en particular, no es muy diferente a lo que está pasando ahora mismo en ella, pero sí es un impacto (sentido o no) en la web en general y pasar esto por alto no es más que jugar al conformismo, eso es triste.

¿Y entonces, qué viene? Es difícil de decirlo. bastante difícil, por un lado es posible que los desarrolladores en Flash/Flex decidan abandonar estas herramientas y prefieran dedicarse a Javascript o HTML + CSS, otro escenario posible es que estos mismos desarrolladores decidan subir el listón y comiencen a crearse cada vez mejores aplicaciones que justifiquen el uso del Flash Player en el escritorio, con su contraparte como aplicación en AIR para teléfonos y tablets. Un tercer escenario es expandir los conocimientos hacia ambas plataformas, como ha hecho Grant Skinner uno de los más renombrados desarrolladores en ActionScript, cuya agencia no se limita a Flash o HTML5, sino que abarca otras tecnologías y lenguajes.

Lo que sí está claro es que no es momento de sentarse a ver qué es lo que pasará en la web del futuro, es tiempo de tomar decisiones que creen esa web porque la verdad es que la web es de quienes la hacen, no de quienes esperan a que llegue su momento.

Nota: El gran Luís Sosa me mostró anoche Jangaroo, un proyecto Open Source que, básicamente, permite crear frameworks y aplicaciones en Javascript usando ActionScript 3. Por lo que vi, el proyecto parece prometedor y creo que le vendría bien a los desarrolladores en ActionScript 3 darle un vistazo. Eso sí, tengan cuidado de no quemar el CPU de sus clientes Guiño