05 enero, 2011

Apple y Flash

He visto toda esta historia dar muchas vueltas desde hace tiempo, pero parece que el publico no entiende muy bien si los culpables de toda esta "filosofía" han sido los de Adobe o los de Apple.

Hay comentarios para todos los gustos por todas partes. Mientras los defensores de la manzana critican a Adobe una y otra vez yo intento documentarme por ahí y saco mis propias conclusiones al respecto.

Si para muchas de las aplicaciones de uso profesional como han sido durante años Photoshop e Illustrator el consejo que siempre he recibido ha sido decantarnos por mac...

¿Que está pasando ahora?, ¿No se quieren entender?

No comprendo porque ahora en un lenguaje como flash y la ultima revisión de actionsript los cuales nos permiten llegar en mi opinion tan lejos (sobre todo despues de las ultimas actualizaciones) sigue "apartado" de muchos macs, de los iphone e ipads "por las buenas", pero hay quién apunta que la mala implementación que ha realizado adobe.

"No funcionan bien en un sistema táctil (muchas de las funciones de flash como los mouseover o juegos, no se pueden utilizar sin un ratón)"
 
Agregar lo necesario en el lenguaje para soportar dispositivos táctiles no creo que sea un gran handicap para alguien como Adobe (ni tampoco lo sería para una empresa pequeña), no creo que el problema fuese mas allá de implementar nuevas instrucciones, solo hace falta que adobe quiera hacerlo.
De echo esta nueva api por lo que veo en estos videos ya soporta todo tipo de dispositivos de control como volantes y mandos de juego y pantallas táctiles, así esto ya es cosa del pasado, sin embargo hay quien lo sigue utilizando como argumento. ¿?



"El Flash, hasta el día de hoy, ha supuesto una carga de trabajo enorme para la CPU de ordenadores - sobre todo en Macs, en donde la implementación del mismo (el player) es sencillamente nefasta, con utilizaciones de la CPU cercanas al 100% (independientemente de la potencia de la misma)"





El poder habilitar en estas aplicaciones la aceleración por hardware parece ser que es el "culpable" de tan buen rendimiento en otras plataformas. Apple ha complicado las cosas liberando hace poco las apis para implementar dicha aceleración por hardware.

¿Resultado? consumo en dispositivos portatiles se dispara debido a esto.

Ahora el argumento de algunos "mac-eros" es que Adobe hace su trabajo demasiado lento.


Para mi está claro que flash no es la herramienta indispensable para reproducir video en una web, todo y que este lo soporte, aunque como es lógico y todos coincidiran conmigo no es algo que "le sobre" dado que hablamos de una herramienta de desarrollo para aplicaciones muy orientado al multimedia, en fin, no importa, hay muchas mas opciones.

El problema yo lo veo en todo lo que pierden los que quieren programar para iphone porque no soportan Flash ni ActionScrip como es debido y en la falta de compatibilidad que se encuentran los usuarios de Apple con todo ese material que ya hay creado. Símplemente no pueden usarlo como es debido.

Hace poco he visto algunos videos sobre una nueva api, se llama Adobe max 2010, un motor 3d para flash. El resultado es sorprendente, mueven un vehiculo en un entorno en 3d completamente texturizado y las lecturas de rendimiento de cpu andaban en torno al 1%, 2%... será de libre distribución, simplemente me quedé perplejo. ¿El secreto? De nuevo la aceleración por Hardware.

Adobe sigue apuntando alto con Flash y no creo que los poseedores de un producto Apple merezcan tener que dejar todo eso atras "porque Apple lo quiere así".

No tengo dudas en que Flash terminará funcionando como debe en todas estas máquinas por el bien de ambas empresas, pero veo algo precipitado proclamar como algunos hacen que "los iphone no necesitan flash". ¿Estan pensando realmente en lo que dicen?

Yo seré de los que crucen los dedos para que todo esto se resuelva y ambas (adobe y apple) terminen haciendo las cosas como deben, no lo dudo ya que no se trata mas que de un beneficio mutuo ¿o no?, si acaso hay un perjudicado es el usuario de un producto apple, como tantas otras veces. También me parece ver claro que Apple y su costumbre de "privatizar" todo lo que toca no deberia hacer las cosas de según que formas, pero bueno, son filosofias.

Sony (uno grande entre los grandes) tambien ha sido muy firme ante ciertas formas de hacer las cosas, tardó muchisimo en presentar un reproductor que soportara divx, se emperró en que Betamax fuera el sistema único, ha protegido su Playstation 3 mejor que Alcatraz para seguir vendiendo sus juegos originales a precios desorbitados...

En ciertas cosas esta filosofía puede que les haya beneficiado, pero en estos casos concretos no cabe duda de que fué una completa metedura de pata.




- Perdió millones en ventas por no dar soporte al divx para hacerlo mas tarde (demasiado tarde)...
- El Betamax se fué donde todos ya sabemos y dejó a millones de clientes "con el culo al aire", y llegó al mercado VHS con años de retraso.
- La Playstation 3 es la menos vendida por las dificultades que entraña piratearla, por ahora no es posible, pero ciertas noticias hablan de que estamos muy cerca de verlo, ¿en que momento? En el que cientos de hogares ya se han decidido por la XBOX360 y de la Wii ¿Alguien se imagina porqué?

Creo que llegar a la máxima cantidad de publico es la clave, y estas filosofias actuan en su contra, pero desde luego cada cual es libre de hacer las cosas como quiera.

La piratería es delito, pero mientras sea inevitable las empresas deberían utilizarlo en su favor.



"Para que queremos Flash si ya esta aquí HTML5"



No voy a entrar al trapo en si HTML5 "ya está aquí o aun le faltan unos cuantos años para considerarse una plataforma aceptada y funcional.


Pero para que cada cual saque sus coclusiones os dejo unas muestras de las diferencias sobre como rinden ambas plataformas:





" los fans de Apple se hacen eco de la idea de la empresa de que “Flash consume demasiada CPU” y admitir esta tecnología en la línea de productos móviles de Apple tendría un efecto negativo sobre la vida de la batería.

Sin embargo, se han hecho pruebas recientemente para comparar Flash con HTML5, el nuevo lenguaje de marcado en Internet con el que no es necesario el plugin de Adobe. Los resultados de estas pruebas demuestran que no se trata de una simple cuestión de blanco o negro. ¿Realmente agota Flash la CPU? Sí, en algunos casos. Pero, sorprendentemente, no siempre. De hecho, a veces HTML5 tenía un rendimiento peor."

"Con el inminente lanzamiento del iPad de Apple, el rechazo a la tecnología Adobe Flash de esta empresa se ha convertido en el foco de los debates sobre tecnología. Aunque una cosa era evitar Flash en un dispositivo pequeño móvil como el iPhone o el iPod Touch, algunos están preguntándose si la exclusión de éste va a ser la diferencia que marque el éxito o el fracaso de los nuevos dispositivos tablet que llegarán el mes que viene, dispositivos que, si creemos al CEO de Apple Steve Jobs, son “mejores que los netbooks”. "

"Por otra parte, los fans de Apple se hacen eco de la idea de la empresa de que “Flash consume demasiada CPU” y admitir esta tecnología en la línea de productos móviles de Apple tendría un efecto negativo sobre la vida de la batería."

"Sin embargo, se han hecho pruebas recientemente para comparar Flash con HTML5, el nuevo lenguaje de marcado en Internet con el que no es necesario el plugin de Adobe. Los resultados de estas pruebas demuestran que no se trata de una simple cuestión de blanco o negro. ¿Realmente agota Flash la CPU? Sí, en algunos casos. Pero, sorprendentemente, no siempre. De hecho, a veces HTML5 tenía un rendimiento peor."
 


Flash y HTML5 a prueba

"Jan Ozer es un experto en tecnologías de codificación de vídeo, lleva desde 1990 trabajando con vídeo digital y es el autor de 13 libros relacionados con la materia [Nota del editor: algunos han señalado que Ozer ha realizado seminarios y escrito libros sobre productos de Adobe, por lo que el éxito de Adobe Flash le supone ganancias monetarias. No creemos que tenga ningún efecto en los resultados de la prueba, pero pensamos que sería necesario incluir esta nota en el artículo.] "



"Hace poco hizo una comparativa de HTML5 con Flash en una serie de pruebas en las que se comprobaba el rendimiento de ambas tecnologías tanto en Mac como en PC y en diferentes navegadores, incluyendo Internet Explorer 8, Google Chrome, Safari de Apple y Firefox de Mozilla."

"Los resultados de sus pruebas están publicados en su totalidad en StreamingLearningCenter.com. ¿Los resultados en pocas palabras? Flash no siempre consume demasiada CPU, a veces es HTML5 quien tiene ese honor."

"A continuación mostramos algunos de los puntos destacados de los hallazgos de Ozer, divididos en resultados de pruebas para Mac y Windows."
 

Pruebas en Mac 
 
Con Safari, HTML5 era el más eficiente y consumía menos CPU que Flash, al usar sólo el 12,39%. 


Con Flash 10.0, el uso de CPU era del 37,41% y con Flash 10.1, se reducía al 32,07%.

Con Google Chrome, Flash y HTML5, eran ambos igualmente ineficaces (ambos cerca del 50%)


Con Firefox, Flash sólo era ligeramente menos eficiente que en Safari, pero mejor que en Chrome 


Pruebas en Windows 

 
Safari no reproducía vídeos en HTML5, así que no había forma de probarlo. Sin embargo, Flash 10.0 usaba el 23,22% de la CPU, pero Flash 10.1 sólo usaba el 7,43%


Google Chrome era más eficiente en Windows que en Mac. La reproducción con Flash Player 10.0 era cerca de un 24% más eficiente que con HTML5, mientras que Flash Player 10.1 era un 58% más eficiente que HTML5.



En Firefox, Flash 10.1 reducía el uso de CPU del 22% al 6% en Flash 10.0


En IE8, Flash 10.0 usaba el 22,41% de la CPU, y Flash 10.1 usaba el 14,62% de la CPU
 


Aceleración de hardware: la clave del rendimiento de Flash

Al analizar los resultados de las pruebas, Ozer determinó que la clave de un mejor rendimiento de Flash dependía de si éste tenía o no acceso a la aceleración de hardware. Esta función, lanzada en Flash 10.1, permite al plugin usar la unidad de procesamiento de gráficos (GPU) de algunos ordenadores para descodificar vídeo.

Dependiendo de la tarjeta de vídeo y los drivers (NVIDIA, AMD/ATI e Intel ofrecen productos compatibles), el proceso de descodificación de vídeo en Flash 10.1 ahora puede funcionar para cualquier reproducción de vídeo, no sólo la reproducción a pantalla completa, como en Flash 10.0.

Según Adobe, la aceleración de hardware no es compatible en Linux o Mac OSX, en el segundo caso, porque Mac OSX no expone el acceso a las APIs necesarias. Adobe continúa diciendo que “El equipo de Flash Player seguirá considerando si incorporar aceleración de hardware a Linux y Mac OS X en futuros lanzamientos”.

Para los profanos, la explicación es la siguiente: Apple no permite que Flash sea más eficiente en su plataforma Mac OS X/Safari (o en iPod/iPhone/iPad tampoco) al no permitir el acceso al hardware que necesita para reducir su carga de CPU. Adobe está esperando atentamente para ver si lo hacen, pero, como dice Ozer, “la pelota está en el tejado de Apple”.

¿Cambiará Apple de postura? A estas alturas es poco probable. Al bloquear Flash en dispositivos Apple, la empresa puede afirmar con facilidad que sencillamente no se trata de una tecnología eficaz… y eso es cierto por ahora, considerando cómo está incorporada. Sin embargo, si la empresa quisiese admitirla y hacer que funcionase, sería razonable pensar que podrían hacerlo. Esto es lo que lleva a algunas fuentes informadas a creer que la decisión de bloquear Flash tiene que ver menos con la tecnología que con los negocios. Después de todo, si realmente pudiésemos visitar un sitio como Hulu.com para ver en streaming programas de TV y películas, ¿por qué querríamos comprarlos en iTunes?

Así pues, mientras que “consumo excesivo de CPU” puede ser un factor que contribuya a la decisión de Apple de no admitir esta tecnología en sus dispositivos móviles, probablemente no es el único motivo del bloqueo."



""El proceso de renovación de HTML está cargado de controversias, es inmensamente ambicioso y no hay ninguna garantía de éxito, independientemente del voluntarismo." "A día de hoy desarrollar para HTML 5 es un auténtico infierno"

Y como última muestra nada mejor que una compartiva de la gente de The Man in Blue y que cada cual saque sus propias conclusiones.
En la parte inferior derecha aparece un indicador de frames por segundo en los tres casos, evidentemente y como se puede apreciar a simple vista, a mas FPS mejor rendimiento:

En el ejemplo ha usado una aplicación que genera partículas aleatorias y las mueve por la página caóticamente haciendo trabajar el procesador de nuestra máquina.
Podemos verla funcionando en las diferentes plataformas clicando en los enlaces siguientes se abriran en una nueva ventana del navegador para que cada uno saque sus propias conclusiones.

HTML

Canvas (HTML5)

SVG

Flash

En fín creo que cada uno destacará en sus cosas, pero para mí los resultados no dejan lugar a ninguna duda.

Decir que flash está muerto o que va a ser desbancado a dia de hoy por otras tecnologias en pañales no deja de ser si no una locura, al menos una apuesta perdida. (a no ser,claro, que uses algo de la marca Apple y hasta que Adobe haga el trabajo que le corresponde deprisa y corriendo tras el incomprensible retraso de la gran manzana a darle acceso a sus apis, claro)

No creo que nada de esto responda a otra cosa que a los intereses comerciales de Apple por quedarse siempre con todo el pastel y privatizar todo lo que considera "suyo".

Dejando a un lado cuestionamientos sobre como las empresas deben llevar sus cosas aquí os traigo unos videos para poneros al dia de lo que se va cociendo en el mundo de Adobe Flash.

En estos vídeos nos muestran lo que nos prepara en esta nueva api.

No es la panacea de los gráficos 3D y sin duda hay cosas mucho mejores en el terreno de los videojuegos pero teniendo en cuenta que es una demo y donde parecía que se iba a quedar Flash, no deja de sorprenderme lo fuerte que están apostando la gente de Adobe por convertir Flash y ActionScript en un lenguaje de programación con pies y cabeza.

Soporte para cualquier tipo de controlador (mandos, volantes...) renderizado 3D y consumos de cpu de risa gracias a la aceleración por hardware. Que por supuesto por ahora Apple no soporta...

Solo falta clamar al cielo para que Apple y Adobe terminen poniéndose de acuerdo y todo esto también sea posible en otras plataformas y con el mismo rendimiento (mac, iphone, ipad...)

Yo creo firmemente que no tardaremos en verlo, y si no, tiempo al tiempo.

F.Sánchez





No hay comentarios:

Publicar un comentario