Adobe se da por vencido y saca a Flash de los móviles

Desde que Apple anunció que sus aparatos móviles (iPhone, iPod Touch y el iPad) no incluirían la capacidad de reproducir Flash y jamás la añadirían, todo ha ido cuesta abajo para el que era (y tal vez sigue siendo) una de las partes más importantes de la web.

Flash fue el primer ambiente de desarrollo que permitió crear animaciones y programación compleja del lado del cliente para sitios web. Implementó por primera vez cosas que hasta ahora podemos hacer con javascript y canvas, muchas otras todavía no pueden hacerse.

Tuvo mucho éxito y se calcula que más del 96% de las computadoras tienen el reproductor de Flash instalado, lo cual lo convirtió prácticamente en la primera opción para muchos que necesitaban desarrollar un sitio. El problema fue que muchos diseñadores mal-usaron Flash para hacer sitios pesados, inaccesibles e inútiles, metiendo cosas sólo porque se puede y sin pensar en el usuario final.

Sin embargo, los obstáculos más grandes para Apple fueron que: 1) es un ambiente cerrado, bajo control de Adobe (liberaron el lenguaje después, pero no Flash Player) y a Apple no le gusta ceder control en nada, y 2) se convirtió en un software demasiado pesado, complejo y con grandes requisitos de hardware.

Esto último fue de mucho peso en la decisión de Apple de no incluir Flash en sus dispositivos. El tremendo consumo de potencia del CPU y de batería simplemente lo hacen demasiada carga para un aparato móvil.

En vez de Steve Jobs decidió que si había que presentar contenido rico en la web éste debería hacerse con estándares (HTML, CSS y JavaScript). Por supuesto esto alegró mucho a los que llevamos varios años abogando por lo mismo. Al mismo tiempo provocó una serie de críticas basadas en que estos aparatillos no podrían mostrar la verdadera “web”, presentar una parte importante del contenido que existe en ella, sobre todo la enorme cantidad de videos que dependen de Flash Player para reproducirse.

Tal vez las críticas hubieran tenido más fundamento si los dispositivos de Apple no hubieran resultado tan populares. Los que resultarían perdiendo no fue Apple, sino los dueños del contenido que ahora no se podía ver en el sector de más rápido crecimiento entre visitantes de la red. Muchos sitios mudaron su contenido a estándares, abandonando Flash casi por completo.

Esto no detuvo a Adobe, quienes desarrollaron una versión de Flash Player para dispositivos Android, pero nunca funcionó bien. Es lento, consume mucha batería y no soporta todas las funciones. Un sitio desarrollado en Flash para el escritorio simplemente no funciona nada bien en un teléfono, aunque pueda verse. Por lo menos los videos sí se ven bien.

Pero el problema más grave fue que la gente se dio cuenta que realmente no necesitan Flash, no se le extraña. Así que al fin Adobe ha decidido tirar la toalla, y anuncian que no desarrollarán más Flash Player para móviles.

Esto no significa la desaparición de Flash, va a continuar como aplicación para desarrollar contenido en la web, pero ahora junto con el tradicional swf también va a generar aplicaciones en formato nativo para Android, iOS y tal vez otros sistemas móviles (usando Air como plataforma). Flash Player va a seguir existiendo para PCs (Mac, Windows y Linux).

No está aún claro si esto quiere decir que también va a poder compilar animaciones en canvas y JavaScript, es decir, apegadas a los estándares de la web, pero no se antoja imposible.

Por otra parte, Flash aún ofrece funcionalidad que no es posible recrear con estándares, así que es muy poco probable que desaparezca por completo. Por lo menos pronto.

Apple como Jalisco: si no gana, arrebata.

Como muchos ya sabrán, uno de los hallazgos después de la presentación de Apple la semana pasada donde se dio a conocer la versión 4 del sistema operativo para iPhone fue un cambio en una de las cláusulas con las que los desarrolladores tienen que estar de acuerdo para que su aplicación sea aceptada en la App Store.

En resumen este cambio le prohibe a los desarrolladores usar un ambiente de desarrollo que no sean aquellos proporcionados por Apple o html, css y javascript.

Muchos en la industria han visto esto como un golpe bajo contra Adobe, que presentó la versión CS5 de su archifamosísima y supervendida suite de aplicaciones de diseño. Uno de sus principales argumentos de venta para esta versión es que el desarrollador Flash puede crear una aplicación nativa de iPhone. Así, los millones de desarrolladores y diseñadores que conocen Flash como la palma de su mano no tienen que preocuparse por aprender Objective-C, sino que pueden usar la herramienta que conocen bien y al final tener una aplicación que pueden vender para iPhone, Android y web.

Pero los cambios a la cláusula 3.3.1 han echado todo esto al suelo. Y no sólo para Adobe, sino también para MonoTouch, Unity y todos los demás frameworks que provéen una capa de programación intermedia y sirven para acelerar el desarrollo de un producto para diversas plataformas.

Pero la verdad es que el objetivo de Apple no es eliminar a Adobe, Adobe simplemente es una víctima del fuego cruzado. Lo que Apple quiere es asegurarse un lugar de privilegio en el mercado móvil.

Cuando el iPhone apareció hace unos cuatro años, gozaban de una ventaja técnica increíble. Nada se les acercaba. Pero ahora Android les está pisando los talones, su crecimiento en participación de mercado es agigantado y pueden alcanzar o sobrepasar a Apple en unos meses si la tendencia continúa.

La gran ventaja de Apple son sus aplicaciones y la App store, pero esta se nulifica si los desarrolladores pueden crear versiones para diferentes plataformas usando frameworks. Prohibir su uso es la manera de Apple de decir “o codificas nada más para mí, ¡o te jodes!” Y por joder significa que los desarrolladores tendrán que hacer las cosas dos veces con el consiguiente gasto en tiempo y dinero.

El argumento de Jobs de que lo hace para asegurar la calidad de las aplicaciones es pura caca de vaca. Muchas de las aplicaciones más vendidas, como Tap Tap Revenge, son programadas con Lua y estarían prohibidas bajo la nueva cláusula. Los juegos de Electronic Arts también están hechos con Lua y también estarían prohibidos. ¿Son productos inferiores? No. ¿Los va a quitar Apple de su tienda? ¡Ja!

Se pueden hacer productos muy malos usando frameworks, pero también sin ellos. No tiene nada que ver.

Apple se está jugando un albur de proporciones increíbles, confiando que los desarrolladores optarán por trabajar sólo para Apple. Pero muchos de ellos pueden preferir un sistema mucho más estable, que no les quitará su trabajo por capricho, en el que pueden experimentar libremente y usar las herramientas, paradigmas y conceptos que mejor se adapten a su solución.

Apple está en todo su derecho, igual que los desarrolladores de programar o no para una plataforma restrictiva, e igual que los consumidores de buscar ciertas aplicaciones o no. Ya veremos por dondo rompe el hilo.

La iPad y el diseño web

Steve Jobs llamó a la nueva iPad “el aparato definitivo para navegar en la web”, algo así. Claro, está por verse que pasará pero lo más seguro es que la iPad se venda muy bien sobre todo en un segmento del mercado más o menos afluente y que de pronto se encontrará con que tiene en sus manos una nueva manera de acceder a la información de la red: desde cursos y videos de gatitos en Youtube, blogs, foros y aplicaciones en línea.

Todo esto tendrá un impacto en los diseñadores y desarrolladores de sitios. Aunque el iPad es un aparato muy flexible con una resolución generosa para un dispositivo portátil, no deja de ser más pequeña que un monitor normal en estos días. Además que se puede voltear para cambiar la orientación.

Por lo que hemos visto en el iPhone esto no será gran limitante pero de todos modos querrás hacer tu sitio adaptable a las diferentes resoluciones del iPad. Por ejemplo, aunque es posible que el iPad haga un zoom automático para meter la página en su pantalla conservando todas las proporciones, tal vez no quieras conservar las proporciones y sea más importante mantener un área con cierto ancho.

O tal vez quieras hacer ciertos elementos y contenido más prominentes en la pantalla del iPad de lo que son en una pantalla de escritorio. Esto implica diseños líquidos y flexibles, el diseñador tendrá que pensar en términos de distintas resoluciones y orientaciones. Es algo que algunos hacían hace un par de años pero con las nuevas funcionalidades de zoom se dejó de hacer. Ahora va a rescatarse.

Afortunadamente el iPad incluye un gran navegador con soporte para HTML5, CSS3 y JavaScript por lo que hacer estas cosas no representará gran dificultad técnica. De hecho, si eres de los que sigue las mejores prácticas de desarrollo web probablemente no tengas que hacer absolutamente nada.

Lo más complicado será cambiar la mentalidad del diseñador, sobre todo aquellos que no entienden bien el medio en que se están desenvolviendo. En más apuros estarán los diseñadores que no saben hacer sitios flexibles o que no se molestan en aprender html (esa cosa que sale cuando le aprietas en vista de código en el Dreamweaver). Si sus clientes se comienzan a dar cuenta que su sitio no se ve bien en el iPad (a ver si friegan igual que como cuando no se ve en IE6) muchos van a tener que ponerse al día de manera acelerada.

Más color de hormiga la tendrán los flasheros. Por flashero no me refiero a todos los desarrolladores de flash, sino nada más a los que todo lo hacen con flash sin consideración por la accesibilidad y usabilidad del sitio.

El iPad, hasta donde sabemos ahora, no soportará Flash. Así que si has hecho un sitio que sea puro Flash o que tenga elementos importantes, como la navegación, hecha en Flash, no se verá nada o será inutilizable para quienes tengan un iPad.

A lo mejor no te importa mucho, pero tus clientes van a estar perdiendo clientes y visitantes, así que no les va a agradar (ok, a los que se den cuenta), y finalmente te va a repercutir.

En las filas de Adobe no están nada contentos y culpan a Apple de la falta de soporte para Flash. No dudo que tengan parte de razón, sobre todo cuando señalan que el iPad no puede ser el dispositivo definitivo para navegar por la red si no soporta Flash.

Para bien o para mal Flash es parte importante de la red y pasará mucho tiempo antes que HTML5 alcance una presencia suficiente para desbancarlo (y que se desarrolle un IDE con el que los diseñadores puedan trabajar de un modo parecido a que lo hacen en Flash).

Adobe dice que no hay por que temer, la versión CS5 te permitirá crear una aplicación lista para iPhone simplemente haciendo click en “Save As…”, pero una aplicación no es un sitio web y habría que ver que tan bien se implementa esta característica.

Por lo pronto los fans de Flash están haciendo trinchera, pero si el iPad es tan exitoso como el iPod a mí me parece que no les quedará otra que admitir derrota y aprender estándares si no quieren ser arrollados por la Appleanadora.

El diseñador británico Andy Clarke está de acuerdo conmigo, por lo menos en la parte sobre el diseño líquido.

Tecnoblips 1

Las notas más interesantes que me he encontrado en la red este día.

Hoy tengo:
Jimmy Wales dice que la apertura no es enemiga de la calidad.
Flash CS5 llega los móviles y creará aplicaciones para el iPhone.
Microsoft desarrolla nuevos ratones táctiles.
Telcel piratea publicidad de Sprint.
Y Paul Boag comparte una interesante plática de Leo Laporte.

Empezando a usar Twitter: clientes

Si eres de las personas que acaba de unirse a Twitter ahora que ha cobrado popularidad y tienes interés en sacarle más provecho y averiguar de que maneras puedes hacerlo más útil, divertido o interesante estoy escribiendo una guía para usuarios nuevos que espero que pueda ayudarte.

Uno de los elementos más importantes para disfrutar y aprovechar tu cuenta de twitter es el cliente. Seguramente ya conoces el sitio de twitter y sabes como ver las actualizaciones de tus contactos y mandar las tuyas propias.

Sin embargo, seguramente no pasas todo el tiempo frente a tu computadora o si sí lo haces tal vez no quieras tener que ir a visitar el sitio a cada rato. Para esto existen los “clientes” que son aplicaciones para tu computadora o teléfono. En tu computadoora los puedes poner en tu escritorio y se mantienen actualizados automáticamente. Si lo traes en tu teléfono celular puedes actualizarlo desde donde estés. También los puedes usar para mandar tus actualizaciones y en los más completos (y complejos) filtrar tweets, hacer búsquedas, seguir a nuevos tuiteros, etc.

Cada cliente trae las mismas funciones básicas: leer y mandar actualizaciones. Pero fuera de eso pueden ofrecer cualquier número de capacidades extra que te pueden o no ser útiles. También pueden hacerlo más difícil de usar, así que mi recomendación es que los vayas probando hasta encontrar uno que se adapte a tu forma de tuitear.

Twhirl tiene una interfaz muy limpia y fácil de entender, pero que oculta gran funcionalidad.

Entre los “sencillos” están Spaz, Twhirl y Snitter. Los tres corren sobre la plataforma AIR de Adobe, por lo que hay que instalarla primero. No es muy difícil y una vez hecho instalar las aplicaciones es casi siempre cosa de un clic.

Twhirl se puede decir que es el más desarrollado con una variedad de configuraciones que puedes cambiar para adaptarlo a tus gustos. El diseño de Twhirl es más limpio y tiene bastante más funcionalidad, como conectarse a cuentas de FriendFeed, Seesmic y otras; y cosas como mandar imágenes y crear filtros.

Después tenemos clientes más avanzados, con opciones para filtrar información, buscar gente para seguir, ver tendencias, tuitear videos e incluso ver el estatus de tus amigos en Facebook. Entre estos está Seesmic y TweetDeck.

De esto dos probablemente TweetDeck sea el más completo y avanzado, aparte de ser un poco más fácil de usar, pero ambos se actualizan constantemente y esto puede cambiar en cualquier momento.

Interfaz de TweetDeck

La interfaz de TweetDeck parece muy compleja, pero con unos minutos de uso se familiariza uno con las funciones básicas.

Poco a poco iré poniendo aquí guías más completas sobre estos clientes y además escribiré guías de otras cosas que se pueden hacer con twitter y otras cosas que se pueden hacer.

Reblog this post [with Zemanta]

Lucha libre de relevos australianos 2.0: Microsoft y MySpace vs Facebook y Adobe

Arm wrestling in Bricklane II

Imagen de fabbio via Flickr

¡Damas y caballeros! ¡Pelearán a dos de tres caídas, sin límite de tiempo, por el título de red social y aplicaciones más chipocludas! En la esquina azul, Microsoft y MySpace, los emeses. En la esquina contraria, de azul con rojo, Facebook y Adobe, los fabs.

Resulta que MySpace y Microsoft se aliaron para portar una versión de MySpace a la plataforma Windows Mobile y usar Silverlight como plataforma oficial de aplicaciones en MySpace. Por el lado contrario, Facebook y Adobe también se aliaron para impulsar el desarrollo de aplicaciones hechas en Air y Flash.

MySpace era la primer red social por tamaño hasta hace poco cuando cedió ese lugar a Facebook, mientras que Microsoft es el desarrollador de los navegadores más usados en el escritorio (aunque nos pese a muchos) y también muy importante en los listófonos con acceso a web. De hecho hay más listófonos con Internet Explorer pero la gente lo usa mucho menos que el iPhone para navegar por la red porque… bueno, pues porque no es nada agradable usar IE para Windows Mobile. Sin embargo, Microsoft ha anunciado que pretenden cambiar esta experiencia de navegar por la red en su sistema en la próxima versión de WM, la 6.5.

Por el otro lado, Facebook es la red social más importante y todavía con un crecimiento importante, a pesar de hacer enojar a sus usuarios de vez en cuando con los cambios de interfaz. Adobe es el fabricante de Flash, la plataforma de desarrollo para web interactiva más extendida y Air, la plataforma para desarrollar aplicaciones de internet basadas en el escritorio. Esto permitiría a los desarrolladores de aplicaciones para Facebook el poder hacer cosas mucho más vistosas, más complicadas, usar herramientas ya conocidas y bien documentadas y combinarlas con aplicaciones de escritorio lo cual les daría mucha flexibilidad, tanto a ellos para desarrollar y distribuir la aplicación, como a los usuarios para utilizarla.

MS tiene algo similar en Silverlight, pero hasta el momento no se encuentra tan expandido como Flash, pero quienes han visto el nuevo Silverlight 3.0 dicen que tiene bastante para poner a Flash en aprietos; además de que también usa herramientas de desarrollo sumamente extendidas.

Nada más para hacer las cosas interesantes y ya para abrir las apuestas hay que hacer notar que Microsoft también tiene una inversión importante en Facebook, mientras que Google (arroz de todos los moles) tiene inversiones en MySpace. Y, claro, no olvidar que Microsoft tiene su propia red social, que no sabemos que pasará con ella. Así que no te pierdas lo que promete ser una interesante y divertida saga durante los próximos meses.

Flash por debajo de los menús

Esta es una duda con la que todavía me topo muchas veces a pesar de estar bien documentada. El caso es que muchas veces cuando tenemos algún contenido en flash, como un video, banner interactivo, menú, etc. y queremos que otro contenido en html se expanda sobre él nos encontramos con que no importa qué hagamos el flash siempre se ve encimado y tapa lo que queremos que se muestre.

Para comprender lo que está pasando necesitamos tener en cuenta que los plugins siempre se ejecutan independiente de la página a menos que le digamos otra cosa. A pesar de que nosotros lo vemos como parte de la página lo que el navegador hace es crear una ventana encima de nuestra página pero que no es parte de ella, y le pasa el control al plugin de flash o lo que sea para dibujar ahí todo lo que quiera. Es como poner una pintura en un cuadro sobre la pared.

Lo que nosotros queremos hace es que raye las paredes en vez de poner este cuadro encima. Para lograr esto flash reconoce una variable que se llama wmode. Esta variable puede tener los valores transparent, opaque o window. Si no le indicamos nada wmode toma el valor window y éste es el que causa que flash se ejecute en su propia ventana independiente.

O sea que la solución que buscamos es poner wmode en transparent u opaque. La diferencia entre estos dos es que transparent te permitirá tener áreas transparentes en el flash, que permitirán que se vea el fondo de la página. Por ejemplo, puedes dibujar una dona con un hoyo por el que se vea lo que está abajo en la página html. El modo opaque no se transparenta hasta la página, sino que la cubre (pero le puedes poner cosas encima).

Aunque Adobe recomienda el uso de transparent, este método ocupa más capacidad de procesamiento y puede hacer más lento tu flash en algunas computadoras. Es mejor ponerlo en opaque, hacer pruebas y si algo no funciona bien entonces cambiarlo a transparent.

Para cambiar el valor de wmode simplemente tienes que indicarlo en el <object> y <embed> que estés usando para llamara a tu película:

<object bla bla ... >
...
<param name="wmode" value="opaque" />
...
<embed bla bla ... wmode="opaque" ... />
</object>

¡Y ya!

Nuevo beta de Dreamweaver

Logo de Adobe Dreamweaver. Image via Wikipedia.

Adobe acaba de poner a disposición del público la nueva beta de lo que será la siguiente versión de Dreamweaver. Esta incluye la capacidad de hacer mejor código adaptado a estándares, un navegador basado en Webkit para previsualizar nuestras páginas, funcionalidad para crear aplicaciones AIR, integración con Subversion y mejor integración con Photoshop.

Parece una versión mucho más avanzada y mucho más cambiada que CS3.

La versión de prueba puede ser usada por cualquiera durante dos días (lo cual se me hace demasiado poco) pero si tienes un código válido de CS3 puedes usarla durante 30 días.

Adobe Labs – Adobe Dreamweaver Beta