Etiquetas

, ,

Antonio Ortiz publicó en Xataka una entrevista a Carlos Domingo, CEO de Telefónica I+D. Por referencias, Carlos parece un ben profesional, pero critiqué en Twitter el lenguaje tan corporativo y vacío, en el sentido que se repite frases típicas, y no desvela nada interesante. A raíz de esos comentarios, tuve varias respuestas, repitiendo otra vez frases vacías y wishful thinking sobre lo que es Firefox OS, y su “innovación” en el mercado de móviles.

En primer lugar debo decir que me gusta mucho la creación de Firefox OS, por varios motivos.

  • Es una forma de potenciar el desarrollo en estándares HTML5/Javascript, y alejarse del modelo pernicioso y costoso de desarrollos de aplicaciones nativas para cada plataforma móvil.
  • La única forma de innovar es probar nuevas cosas, y los intentos por hacerlo están muy bien, aunque luego fallen estrepitosamente, a priori nunca se puede saber con certeza si algo nuevo funcionará o no.
  • El proyecto es completamente software libre, y bajo el paraguas de una fundación con tanto prestigio, y que tanto bien ha hecho, como Mozilla.
  • Un orgullo chauvinista de ver que uno de los auspiciantes y colaboradores principales del proyecto, que además es software libre, sea una empresa española.

Dicho eso, mi detector de bullshit se fue de escala con muchas de las cosas que me respondieron en Twitter relacionadas con “eficiencia”, innovación técnica, independencia de los desarrolladores, fabricantes y teleoperadoras.

Innovación técnica

Primero hay que explicar en qué consiste Firefox OS. Está formado por tres componentes fundamentales:

  • Gonk: Es el sistema operativo básico, consiste del núcleo Linux, herramientas del sistema y librerías, hasta aquí muy similar al sistema Android, de hecho usan algunas librerías de ese proyecto.
  • Gecko: El programa que se encarga de interpretar HTML más el intérprete de Javascript. Estos se ejecutan “sobre” el núcleo Linux de forma nativa. Es similar a los navegadores basados en Webkit para Android (como el Chrome) e iOS. En ambos casos, también en forma nativa (en Android, el código es nativo y compilado para cada tipo de procesador, está en la libchromeview.so de la app, compilado para cada tipo de procesador).
  • Gaia: Interfaz de usuario con el sistema operativo, e implementación de las aplicaciones básicas (SMS, cámara, teléfono…). Estas aplicaciones están (presuntamente) todas implementadas en HTML5 y Javascript, las equivalentes en Android están implementadas en Java/Dalvik, y en Objective C (es decir, se compila a código nativo) en iOS.

Es decir, el Firefox OS es un sistema que aunque seguramente se podrán incluir librerías en código nativo (no hay forma de evitarlo), limita el desarrollo de aplicaciones a sólo HTML5 y Javascript. Por el contrario, en Android o iOS se puede hacer sólo en eso HTML5 y Javascript, o en aplicaciones nativas.

¿Cuál es la innovación técnica real? Para permitir que se pueda desarrollar cualquier tipo de aplicación se deben proveer funciones Javascript adicionales para manipular dispositivos (cámara, micrófono…) y funcionalidades no previstas en el estándar Javascript (red, telefonía, reproducción de audio y vídeo, etc.). Según alguna gente de Mozilla, esto es la innovación de Firefox OS, pero no es así, PhoneGap ya había implementado funcionalidades similares, aunque quizás su interés nunca fue intentar convertirlas en un estándar (no lo sé).

La presunta “innovación” por la ampliación las funcionalidades “estándares” de Javascript para gestionar los dispositivos no es tal, es simplemente una evolución natural, es lo que pasa cada día en informática. En todo caso tocaría analizar si hay innovaciones en la “forma” de la implementación, pero esto está a otro nivel, y no implica innovación de cara al sistema completo, sólo mejoras de eficiencia.

Eficiencia

Otros de los argumentos es la presunta eficiencia de Firefox OS comparado con Android (fundamentalmente). Eso está por verse, y en qué condiciones. Como expliqué anteriormente, el sistema de interpretación de HTML  y Javascript en Android e iOS es muy similar: programas compilados en código nativo para cada procesador. Además, Webkit es muy eficiente para el HTML, y el intérprete de Javascript de Chrome es de los más rápidos según todos los benchmarcks, por lo que no puede haber diferencias notables en la velocidad de ejecución de apolicaciones HTML5.

Sí podría haber por otros factores, por ejemplo que se prueben en dispositivos de poca memoria. Al ser Firefox OS un sistema mucho más simple y con menos programas y librerías cargadas, en casos extremos de limitaciones de memoria RAM podrían notarse diferencias en “suavidad” de ejecución.

Por otro lado, Firefox OS tiene un problema. En Android se puede optar a desarrollar en HTML5 o en aplicaciones nativas en Java. La máquina virtual que se usa, Dalvik, es todavía mucho más eficiente que aplicaciones con Javascript y HTML5, por lo que en general, las aplicaciones nativas de Android se ejecutarán más eficientemente. A menos que hagan casi “milagros” con el interprete de Javascript en Firefox, pero Java les lleva mucha ventaja en ese aspecto (y seguirán mejorando).

Independencia de fabricantes y desarrolladores

Es verdad que iOS está controlado exclusivamente por una empresa, pero en Android es muy diferente. El código es libre, por lo que cualquier fabricante o empresa puede usar el código como quiera, aunque deba respetar las marcas y licencias de Google, por ejemplo las marcas registradas (al igual que los productos de Mozilla), o la distribución de programas que son exclusivos de Google, como el Google Play, Gmail, etc. Pero cualquier fabricante es libre de instalar su propio “market”, o cualquier otra aplicación. Es lo que está haciendo Amazon, sin problemas legales.

Las empresas que apoyan a Firefox OS por su independiencia podrían haber optado, con mucho menos trabajo, a desarrollar sus propios sistemas de distribución y cobro de aplicaciones para reemplazar al Play de Google. Lo tienen que hacer igualmente para Firefox OS, así que no hay costes extras, ni problemas legales.

Es decir, el argumento de que no podían hacerlo con Android no es cierto. Posiblemente la elección de desarrollar Firefox OS tenga ventajas en cuanto al “negocio”, pero es falso que no pudiesen lograr la misma “independencia” con Android (de nuevo, a Amazon me remito como ejemplo).

Teléfonos de más bajo coste

Es verdad que un teléfono Firefox OS requeriría menos hardware, pero sólo memoria. En otros aspectos, como la potencia de la CPU, es más exigente que aplicaciones nativas de otras plataformas. El precio la memoria RAM no es lo que más influye en el precio, y además ya se consiguen teléfonos Android a menos de 100 € (que fue una de las cifras citadas), y seguirán bajando, como ha pasado siempre.

Así que el precio tampoco es un factor determinante.

En resumen

No se trata de un problema de eficiencia, ni independencia de fabricantes, ni de coste. En todo caso es una ventaja para las empresas que quieren alejarse de la marca Google, que de alguna forma influye mucho en la comercialización de la marca Android, y que obtiene beneficios por el uso masivo del buscador, o de killer aplications como Google Maps. Esta nueva plataforma, de triunfar, volvería a nivelar el campo de juego… de las empresas, que no de los usuarios.

Como dije antes, una de las ventajas “globales” es la promoción del desarrollo en HTML5, que funcionaría en todas las plataformas y con menor coste y esfuerzo de empresas y programadores.  Pero por ahora, y durante un tiempo, exigirá mayor esfuerzo, hasta que las demás plataformas implementen el nuevo “estándar” que define Firefox OS… y la mayoría de los teléfonos las tengan instaladas (lo que puede tomar muchos años).

Se dicen muchas cosas, esas posibles ventajas técnicas, económicas e independencia todavía han de demostrarlo, y toca ver si Firefox OS tiene éxito primero entre desarrolladores, y luego en los usuarios. No lo tiene nada simple.

Así y todo, ojalá sea un éxito, o que al menos obligue a mejorar a los demás sistemas operativos, pero no hay que creerse ni dar alas a tanto wishful thinking basado en premisas falsas.

RelacionadoAndroid, iOS, tiempos de respuestas y por qué nada es gratis en sistemas informáticos.