Más sobre la saga del futuro de Flash y la web

Me encanta la saga sobre el futuro de Flash porque es una maravillosa mezcla de política y tecnología. Es compleja y variada, pero no demasiado compleja como para no poder entender lo básico. Se me pasó por la cabeza esta semana, después de leer y escribir bastante sobre los problemas de rendimiento de Flash Player, que el enfoque del rendimiento es una distracción de los problemas fundamentales.

Ya enlacéeste artículo de Jeffrey Zeldman hace tres semanas, pero merece la pena revisirtarlo. Su primer párrafo da en el clavo:

La ausencia de Flash en el iPad (y antes de él en el iPhone) supone un triunfo para el diseño accessible y basado en estándares. No porque Flash sea malo, sino porque la creciente popularidad de los dispositivos que carecen de soporte para Flash va a obligar a ciertos desarrolladores web recalcitrantes a crear en primer lugar la capa semántica HTML. Capas adicionales de interfaz de usuario Flash pueden añadirse después de forma opcional, al igual que con el desarrollo correcto, accesible y basado en estándares, las mejoras al interfaz con JavaScript se añaden únicamente después de que se comprueba que una web funciona sin ellas.

Básicamente, si uno cree que la gente que usa dispositivos con iPhone OS suponen un segmento importante del público objetivo, ya no se puede crear una web que requiera Flash (y si uno no cree que la gente que usa dispositivos con iPhone OS suponen un segmento importante del público objetivo, posiblemente se esté en un error).

Los problemas de rendimiento de Flash en Mac OS X y dispositivos móviles son muy reales (tened en cuenta que a día de hoy no hay ninguna versión completa de Flash Player disponible para ninguna de las principales plataformas móviles). Y creo que estos problemas de rendimiento son un factor en la decisión que tomó Apple de no incluirlo en iPhone OS. Pero creo que el auténtico problema va más allá del rendimiento. Apple ve la web como una plataforma basada en estándares abiertos. Flash no forma parte de ello.

Así que, de momento, los problemas de rendimiento de Flash le dan a Apple una buena explicación sin tintes políticos para justificar que Flash Player no venga incluido en iPhone OS. Le permite a Apple decir que no pueden en lugar de decir que no quieren.

Sí, soy escéptico sobre el rendimiento que tendrá Flash Player en dispositivos Android y WebOS. Espero equivocarme, no obstante. Si Adobe es capaz de sacarle un rendimiento aceptable a Flash Player 10.1 en estos dispositivos con procesadores ARM (relativamente) poco potentes, entonces es muy posible que Flash Player 10.1 para Mac OS X vaya a tener también grandes mejoras (de igual modo, las limitaciones impuestas en iPhone OS han resultado geniales para Mac OS X — las mejoras de rendimiento a componentes como WebKit (y especialmente JavaScriptCore) realziadas para que MobileSafari funcione lo más rápidamente posible en iPhones poco potentes ha supuesto unas fabulosas mejores de rendimiento a WebKit en los Macs).

Estos es lo que quería decir cuando mencionaba que el rendimiento de Flash Player es una distracción de la historia subyacente: Aunque Adobe resuelva los problemas de rendimiento de Flash, sigo dudando que Apple quiera incluirlo en iPhone OS.

Todo se reduce al control. He escrito en varias ocasiones que creo que Apple controla todo el código fuente de iPhone OS (nadie lo ha desmentido). No existe ningún fallo que Apple no pueda intentar arreglar por su cuenta. Ningún problema de rendimiento que no puedan intentar remedar. No deben esperar a nadie. Lo mismo no resulta cierto con Mac OS X, donde un componente como Flash Player está bajo en control de Adobe.

Sé que existen varias personas que creen que Apple está en contra de Flash y les preocupa que algún día Apple pueda ponerse en contra de la propia web. Algo en lo que pueden estar de acuerdo todos los que estén atentos es que Apple valora muchísimo el control. Es algo indiscutible, ya se considere una virtud o un defecto. Así que creo que los que se preocupan creen que la web está fuera del control de cualquier persona y deducen que Apple la ve como una amenaza.

Mi opinión es que lo que a Apple quiere controlar es la implementación. Es por eso por lo que empezaron con el proyecto WebKit. Por eso los empleados de Apple del equipo de WebKit son líderes e importantes miembros que impulsan los estándares HTML5. Lo que le importa a Apple, al nivel de sus ejecutivos, es vender dispositivos. Puede incluso ocurrir que a Steve Jobs no le importe una mierda la web po sí misma. Para Apple es una buena estrategia empresarial controlar uno de los mejores motores de renderizado web. Si Apple controla su propia implementación, entonces da igual lo popular que llegue la web a ser como plataforma, porque Apple seguirá prosperando mientras que su implementación sea superior (huelga decir que Apple tiene bastante confianza en este sentido).

Lo que resulta extraño de una plataforma totalmente abierta basada en estándares abiertos es que, a pesar de que ningún proveedor individual, por ejemplo Apple, puede controlar en contenido o los estándares, puede controlar su implementación (y puede influir sobre el contenido y los estándares). Les basta con eso.

Lo mismo ocurre con el interés que tiene Google en la web abierta y en HTML5. Es razonable ser cínico y creer que a Google sólo le preocupa ganar dinero, no la web abierta por amor al arte. Mientras la web sea abierta, el éxito de Google está bajo su propio control. Y de igual modo, Apple confía en su capacidad de producir dispositivos con la mejor experiencia de navegación posible, Google tiene confianza en su capacidad de producir los mejores resultados de búsqueda y anuncios relevantes posibles. Para abreviar, Google y Apple han dado con formas distintas de apostar a favor de la web, en lugar de contra la web.

El mejor argumento contrario es quizás que, dado el deseo de Apple de tener el control, siempre van a preferir sus propias plataformas privativas  — aplicaciones nativas para el iPhone y para Mac — antes que la web, y al final llegarán a considerar la web como una amenaza. Sin embargo, no creo que Apple lo vea de igual modo. Siempre va a haber una plataforma que será el mínimo común denominador. Eso significaba Windows. Ahora es la web. Apple no crea plataformas que sirvan como mínimo común denominador. Antes, cuando Windows hacía las veces de mcd (mínimo común denominador), Apple lo tenía difícil porque se veían excluidos de esa plataforma: su plataforma chocaba con ello. Ahora, con la web como el mcd, Apple se sale con la suya en ambos casos: sus plataformas coexisten de forma elegante con la web. Apple no es una empresa orientada a la web, pero la web podría ser lo mejor que jamás les ha ocurrido.

Desde el punto de vista de Apple, en lo referente a plataformas de software, la suya es la mejor (Cocoa/Cocoa Touch), porque tienen un control absoluto. La de todo el mundo es buena (la web), porque Apple tiene el control de su propia implementación y puede ejercer influencia sobre la dirección que los estándares tomarán en el futuro. Lo que Apple no quiere es una plataforma privativa de otro, sobre la que no tienen ningún control. Eso es Flash.

Lo he dicho antes y lo diré de nuevo. Sólo hay una forma de que Flash Player llegue a iPhone OS:

  1. Que aparezca primero en otras plataformas móviles de la competencia.
  2. Que funcione bien en esas otras plataformas.
  3. Que su presencia y popularidad en esas otras plataformas de la competencia cambien las demandas del consumidor y afecten de forma negativa a las ventas de los dispositivos con iPhone OS.

El número 1 ocurrirá. En cuanto al número 2, me considero escéptico, pero Adobe tiene ingenieros muy hábiles y están entre la espada y la pared. El número 3, no obstante, exigiría un gran cambio de la situación.