Nick Bilton:
Cuando se les preguntó en qué forma afectaría esto a la presentación de su nuevo software, Adobe publicó la siguiente declaración: “Estamos al tanto del cambio en el acuerdo del kit de desarrollo de Apple y estamos analizándolo. Seguimos adelante con nuestro empaquetador de aplicaciones para iPhone OS, que pensamos presentar con Flash CS5”.
Traducción: “¡Mierda!”
Quiero decir que hay miles de aplicaciones en el App Store que muestran anuncios tan o más grandes que los de iAds. Si no te gusta que una aplicación incluya iAds, no la uses. Así de fácil.
Anders Carlsson y Sam Weinig, miembros del equipo de WebKit en Apple:
Esto es un aviso de que en breve empezaremos a publicar parches para una nueva plataforma WebKit en la que Apple lleva trabajando un tiempo. Actualmente la llamamos “WebKit2”.
WebKit2 está diseñada en todos sus aspectos para posibilitar un modelo con procesos separados, en el que el contenido web (JavaScript, HTML, estructura, etc) reside en un proceso individual. Este modelo es parecido a lo que ofrece Google Chrome, con la importante diferencia de que hemos incorporado directamente en la plataforma este modelo de procesos separados, permitiendo así que otros clientes lo usen.
¡Guau!
Aún estamos en los primeros tiempos de la transición de la era del ordenador personal a la era móvil. En el momento actual Apple está ganando. También hay otros ganadores en este mismo momento — RIM sigue creciendo, y Android ha crecido una barbaridad en el último año.
La plataforma del App Store podría convertirse en una plataforma estándar a largo plazo. Así es como Microsoft llegó a ser Microsoft. Llegados a cierto punto,l los desarrolladores crearon aplicaciones para Windows porque había un gran número de usuarios que utilizaban Windows y los usuarios compraban PCs con Windows porque todo el software se creaba para Windows. Es el tipo de situación que viene a ser como una licencia para imprimir dinero.
No creo que Apple llegue a soñar en tener una cuota del mercado móvil de las proporciones de Windows. El mantra de Microsoft era (y sigue siendo) “Windows everywhere” (Windows en cualquier lugar). Apple no quiere estar en cualquier lugar, quieren estar en cualquier lugar en el que merezca la pena estar. La idea es hacer que las APIs de Cocoa Touch y el App Store lleguen a ser en la práctica un estándar para las aplicaciones móviles — captando una enorme cuota de desarrolladores y usuarios.
De modo que lo que Apple no quiere es que otra empresa establezca una plataforma estándar de software a efectos prácticos sobre Cocoa Touch. Ni Flash, propiedad de Adobe, ni .NET (a través de MonoTouch). Si eso ocurriera, no hay ventaja en utilizar las tecnologías de Apple. Si por ejemplo llegara a establecerse una plataforma de software móvil basada en Flash — que abarcase muchas plataformas de más bajo nivel y que funcionara en iPhone, Android, Windows Phone 7 y BlackBerry — el mercado de esas aplicaciones no le daría a la gente un incentivo para preferir el iPhone.
Y, obviamente, tal metaplataforma estaría fuera del control de Apple. Pensemos en un mundo en el que llegara a ser enormemente popular una herramienta multiplataforma de otra empresa. Entonces Apple añades nuevas funciones de gran relevancia a iPhone OS, y la herramienta de esa otra empresa tarda en incorporar esas nuevas herramientas. Llegados a ese punto, es la otra empresa la que determina el momento en que las aplicaciones de terceros pueden aprovechar esas nuevas funciones.
Por esto, desde el punto de vista de Apple, cambiar el Acuerdo de Licencia de los Desarrolladores del iPhone para prohibir el uso de cosas como Flash CS5 y MonoTouch para la creación de aplicaciones para el iPhone tiene mucho sentido. No estoy diciendo que nos tenga que gustar a la fuerza esta situación. No digo que no estemos hablando de pura competitividad despiadada. Tampoco digo (hasta ahora) que beneficie a otro que no sea Apple. Lo único que digo es que es una buena decisión desde el punto de vista de Apple — y Apple tenía derecho a tomar esa decisión.
Flash CS5 y MonoTouch no son tanto multi-plataforma como meta-plataformas. El objetivo de Adobe no es ayudar a los desarrolladores a crear aplicaciones para el iPhone. El objetivo de Adobe es animar a los desarrolladores a crear aplicaciones Flash que funcionen en el iPhone (y otros dispositivos) en lugar de crear aplicaciones específicas para el iPhone. Apple no es ambigua sobre los objetivos de Adobe a este respecto — a Apple le interesa impedírselo.
Pensemos en cómo afecta este cambio a los diversos actores que participan en la situación:
Apple: Positivamente, mantienen el control absoluto sobre el desarrollo de aplicaciones nativas para iPhone OS.
Adobe y otros creadores de meta-plataformas móviles multi-dispositivo: Tremendamente negativo, porque no pueden crear aplicaciones para la principal plataforma móvil actual. Y han desperdiciado un esfuerzo ingente en crear las herramientas para generar aplicaciones para el iPhone.
Desarrolladores web: Nada ha cambiado. El iPhone sigue estando completamente abierto a las aplicaciones web. La diferencia entre la web, como competencia para las aplicaciones nativas para el iPhone, y algo como Flash es que la web no está bajo el control de nadie. No hay una empresa encargada de suministrar la plataforma con la que funciona la web — y Apple tiene el control absoluto de WebKit, su implementación para la web.
Desarrolladores de iPhone: Nada ha cambiado. Si eres un desarrollador y has hecho caso a los consejos de Apple, ni siquiera notarás la entrada en vigor de esta nueva norma. Ya estás usando Xcode, Objective-C y WebKit. Si eres un desarrollador de iPhone y no has seguido los consejos de Apple, tarde o temprano acabarás mal parado. Si te oponer por principios a desarrollar software para una plataforma que exige que sigas los consejos de su proveedor, iPhone OS no es tu plataforma, nunca lo fue y nunca lo será.
(Y en cierto modo este cambio es positivo para los actuales desarrolladores de iPhone: ahora tendrán aún más demanda que antes).
Desarrolladores de Flash y C#: Malas noticias, si esperabais vender vuestras aplicaciones en el App Store. Si queréis crear software para iPhone OS, seguid el consejo de Apple, no el de Adobe o Microsoft.
Usuarios de iPhone: Me imagino dos argumentos en este caso. Por una parte, esta nueva norma debería ser positiva para aumentar la calidad de las aplicaciones. Los kits de desarrollo de aplicaciones multiplataforma nunca — nunca — han dado lugar a aplicaciones nativas de alta calidad en plataformas de Apple. Ni para el Mac OS clásico, ni para Mac OS X ni tampoco para iPhone OS. En general, tales aplicaciones suelen ser cutres. Por otra parte, quizá los usuarios de iPhone se pierdan buenas aplicaciones que habrían sido publicadas de no ser por la existencia de esta norma. Eso sí, no creo que los usuarios de iPhone OS vayan a echar de menos el tipo de aplicaciones que salen de estos kits de desarrollo multiplataforma.
Mi opinión es que los usuarios de iPhone se beneficiarán de esta norma. El App Store no sufre escasez de títulos.
Consideremos, por ejemplo, los clientes de Kindle para iPhone OS y Mac OS X. El cliente Kindle para iPhone OS es excelente, un digno rival en términos de experiencia de uso para el propio iBooks de Apple. La aplicacion Kindle para Mac es un zurullo que no parece ni se comporta como una auténtica aplicación de Mac. La aplicación Kindle para iPhone OS es una aplicación nativa para el iPhone, escrita en Cocoa Touch. La aplicación Kindle para Mac fue creada con el kit de desarrollo multiplataforma Qt.
“Kasper Jade” y “Prince McLean”, hace una semana:
El futuro lanzamiento de la versión 4.0 del sistema operativo iPhone OS de Apple proporcionará un nuevo tipo de soporte para ejecutar de forma simultánea aplicaciones de terceros, y permitirá a los usuarios pasar de una aplicación a otra usando un mecanismo de gestión de ventanas similar a uno popularizado por el sistema operativo Mac OS X. […]
Los que conocen el diseño de iPhone OS 4.0 afirmaron que el interfaz se parecerá a una función de su sistema operativo de escritorio conocida como Exposé, en la que una combinación de teclas — por lo visto una pulsación doble del botón Inicio — lanzará un interfaz parecido al de Exposé que mostrará una serie de iconos que representarán las aplicaciones en ejecución en ese momento, permitiendo a los usuarios seleccionar rápidamente aquella a la que quieren cambiar. Cuando se seleccione una de ellas, el sistema operativo del iPhone saldrá de este gestor de tareas parecido a Exposé y realizará una transición a esa aplicación.
Donde con “conocen el diseño de iPhone OS 4.0” querían decir “se inventan chorradas”, a menos que al decir “parecido a Exposé” quisieran decir “que no tiene nada que ver con Exposé”.
Estupendas observaciones de Tim O’Reilly sobre el punto débil de Apple:
La sincronización de contenidos multimedia y aplicaciones en el iPhone y el iPad está mal planteada. MobileMe, que debería ser la droga de entrada a otros servicios de Apple, en lugar de eso se vende como un servicio extra para una pequeña porción de la base de clientes de Apple. Si Apple quiere triunfar, deben entender el poder de los efectos de las redes en los servicios de Internet. Deben sacrificar los ingresos en pos de conseguir una mayor difusión, aprovechando la oportunidad que les brinda el adelantarse a los demás para conseguir que los usuarios se acerquen aún más a los servicios de Apple.
Ni siquiera sería un gran sacrificio en términos de ingresos si Apple incluyera, por ejemplo, un años o dos del servicio MobileMe de forma gratuita al comprar un dispositivo basado en iPhone OS. O simplemente hacer que el servicio de MobileMe sea gratuito durante la vida útil del dispositivo — de esa forma, los desarroladores, incluido Apple, podrían contar con poder usar un servicio de sincronización que resida en la “nube”.
Esta es la principal ventaja de Google, pero Apple — juzgando por el modo en que las aplicaciones de iWork para el iPad ni siquiera intentan sincronizar los documentos, y el hecho de que los usuarios que carecen de MobileMe no tienen más remedio que realizar sincronización por USB a través de iTunes — no parece darse cuenta.
Si es cierto lo dejarían estando en la cima.
Antes de la aparición del kit de desarrollo de iPhone OS 4, la sección 3.3.1 del acuerdo de licencia del programa de desarrolladores para el iPhone rezaba lo siguiente:
3.3.1 — Las aplicaciones sólo pueden utilizar APIs documentadas de la forma indicada por Apple y no deben emplear ni llamar a ninguna API privada.
En la nueva versión del acuerdo de licencia publicado hoy por Apple (y que debe ser aceptado por los desarrolladores antes de descargar la versión beta del kit de desarrollo de la versión 4.0), la sección 3.3.1 ahora reza lo siguiente:
3.3.1 — Las aplicaciones sólo pueden utilizar APIs documentadas de la forma indicada por Apple y no deben emplear ni llamar a ninguna API privada. Las aplicaciones deben estar escritas originalmente en Objective-C, C, C++, o JavaScript tal yc omo son ejecutadas por el motor WebKit de iPhone OS, y únicamente código escrito en C, C++ y Objective-C puede ser compilado y enlazar con las APIs documentadas (esto es, se prohiben las aplicaciones que enlazan con APIs documentadas mediante una capa o herramienta de traducción intermedia).
Lo que yo interpreto con este nuevo texto es que están prohibidos los compiladores cruzados, como por ejemplo el compilador de Flash a iPhone que estará incluido en la próxima versión de Flash Professional CS5 que lanzará Adobe. Esto también prohibe las aplicaciones compiladas con MonoTouch — una herramienta que compila aplicaciones escritas con C# y .NET para el iPhone. No está claro qué significan estos nuevos términos para herramientas como Titanium y PhoneGap, que permiten a los desarrolladores escribir código JavaScript que se ejecuta en WebKit dentro de un empaquetador nativo para el iPhone. Puede que sigan siendo válidas. Este tweet escrito por PhoneGap sugiere que no están preocupados. La gente de Appcelerator comprenden, por otra parte, que podrían quedar fuera de lo autorizado con Titanium. El kit de desarrollo Corona, creado por Ansca, que permite escribir aplicaciones para el iPhone usando Lua, sí que me parece fuera de lo permitido por Apple.
Al principio pensé que esto prohibiría los juegos creados con Unity3D, pero quizás no sea así — Unity3D genera un proyecto Xcode completo y archivos fuente en Objective-C, así que es más bien un preprocesador que un compilador cruzado. Es difícil decirlo. Si me obligaran a decidirme, el hecho de que los programadores escriben código C# pone a Unity3D en el lado idebido de esta norma.
No se mencionó este cambio durante el evento de presentación de hoy, pero el texto del acuerdo no deja mucho margen para Flash CS5. No quedaría más claro aunque hubieran mencionado directamente el nombre de Flash CS5. (Me pregunto qué hará ahora Adobe. CS5 está a punto de ser puesto a la venta y el compilador de iPhone es la característica principal en esta nueva versión. Básicamente están jodidos).
No estoy seguro de qué piensa hacer Apple para que se cumpla esto, pero tal y como lo veo, las aplicaciones de iPhone creadas con Flash CS5 se pueden identificar fácilmente inspeccionando los contenidos del paquete de la aplicación. No estoy seguro de que existan “capas o herramientas de traducción intermedia” que produzcan paquetes de aplicaciones que no se puedan distinguir de otros paquetes de aplicaciones generadas con Xcode y el kit de desarrollo original.
Actualización: Para dejarlo claro, no creo que Apple esté yendo a por Flash CS5. No obstante, sí que creo que el compilador cruzado de Flash CS5 es el paradigma del tipo de meta-entornos de desarrollo que Apple no piensa permitir. Lo mismo es válido para MonoTouch. Lo que Apple no quiere — y como ahora vemos, no va a permitir — es que nadie que no sea Apple defina el entorno de desarrollo para crear aplicaciones nativas para el iPhone. Lo que Apple dice con esto es: si queréis crear una aplicación nativa para el iPhone, debéis usar nuestra plataforma; si queréis hacer cualquier otra cosa, entonces hacedlo con una aplicación web optimizada para el iPhone. Básicamente, iPhone OS soporta dos plataformas de software: Cocoa Touch y la web. Apple no va a permitir que nadie cree una meta-plataforma sobre Cocoa Touch. Creo que este comentario aparecido en Hacker News de la mano de “raganwald” acierta totalmente sobre el punto de vista que tiene Apple sobre el tema.
Breve resumen de las novedades.
Roger Lathbury:
Tras pensar que podría hacer lo correcto con alguien a quien admiraba, lo decepcioné.