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.
Relacionado: Android, iOS, tiempos de respuestas y por qué nada es gratis en sistemas informáticos.
Pude ver en funcionamiento real (en un aparato) Firefox OS, en agosto y acompañado por las cabezas pensantes del proyecto. Puedo contarte algunas cosas 🙂
– El dispositivo era lo más basura que puedas imaginarte. 600Mhz, 256Mb de RAM. Funcionaba más fluido que un Galaxy Mini con Android.
– Las aplicaciones SON HTML5 y JavaScript, como todo Gaia. Yo lo comprobé por mí mismo cuando me enseñaron el código de la App de mensajería. Recuerda que el código es abierto, puedes revisarlo en cualquier momento 🙂
– El renderizado y ciertos procesos también son acelerados por hardware, creo recordar que era WebGL «tal cual».
– No hace falta tienda de aplicaciones: las aplicaciones pueden instalarse en el dispositivo si pueden cachearse (vía HTML5) y utilizando un simple MANIFEST con los permisos que requiera (cámara, libreta de direcciones…). Pese a todo habrá una tienda de aplicaciones de Firefox OS, e incluso pude otear en una pizarra parte del proceso de pago.
– Librerías para acceder a estos recursos mediante JavaScript están en proceso de estandarización.
¡Un saludo!
Pingback: Firefox OS, y expresiones de deseos más que realidades
@Manu Mateos: Estas comparando un «Galaxy Mini» con un «Galaxy Mini» y dices que va más fluido… Evidentemente tendrá menos «cosas» y no todas ellas funcionarán como deben. Una vez pulido un poco el sistema dudo mucho que un equipo con 600 Mhz y 256 Mb de RAM pueda funcionar mejor sensiblemente mejor (para las mismas aplicaciones) con estos dos sistemas.
Mi primer teléfono con android hace ya cosa de varios años tenía menos Mhz y menos RAM y sigue yendo como un tiro en cuanto a «fluidez» (HTC G1 – 528 Mhz y 192 Mb de RAM) la pega es que aplicaciones van de fondo y como se utiliza la arquitectura de software en la que se implementa, como es de segura, que ventajas provee de cara al desarrollo…
No viene mal que Mozilla se meta en este tema lo que hay que valorar las cosas en su justa medida y queda mucho camino por andar (y gente que lo quiera andar). El problema es que seguiremos anclados al sistema que nos brinde el fabricante del terminal y las alianzas en ese aspecto de Mozilla con la parte económica del asunto no sé por que me temo van a estar muy por debajo de lo que Google y su maquinaria son capaces de hacer y convencer.
Sigo pensando que el gran cambio tecnológico lo dio WebOS. Usa HTML, CSS y javascript mediante webkit y en un núcleo Linux. También permitía aplicaciones en C/C++ con aceleración gráfica, dando un rendimiento increíble para los jugos.
Y esto fue allá por 2009 cuando todos babeaban con un iOS sin multitarea y un Android más verde que Hulk que cambiaba la API en cada versión.
Pero extrañamente, siempre ha estado muy silenciado en los medios desde que salió. HP, sumido en una crisis de liderazgo interno, no supo qué hacer con él y lo liberó a la comunidad como OpenWebOS.
Ricardo, tú que amas tanto el soft libre no sé cómo no has probado webOS, MUCHO más libre que Android y más innovador que el resto de SO.
OpenWebOS sigue esperando su momento. Yo lo disfruto en mi HP Pre3, y aún no me explico cómo no ha triunfado.
Entonces, ¿el resúmen sería: Firefox OS, es una apuesta por llevar html5/javascript/css al máximo, pero no representa, en ningún sentido, una revolución?.
@villomo
De «negocio» puede ser, pero técnica, para nada.
@manu mateos
Como ves, hablas de «impresiones», pero ningún dato objetivo con resultados de benchmarks y espeficaciones. Es lo que critico.
Y no digo que el código de Gaia no sea todo software libre, ni que no sea HTML5, sólo que «presuntamente» TODOS serán así. No sabemos si es «seguro», todavía (pero da igual).
Pingback: Cobrar por chatear, evadiendo antivirus y licencias libres. Internet is a series of blogs (CLXXXIX) | Descargas Online
Pingback: Links interesantes (76)
Pingback: Cobrar por chatear, evadiendo antivirus y licencias libres. Internet is a series of blogs (CLXXXIX) ‹ estepona en la web
Hola,
Te contesto a alguno puntos, por orden:
Phonegap hizo su propia implementación para poder disponer de estas APIs en aplicaciones web y traducirlas a iOS, Android… pero no eran algo estándar (fuera de phonegap no te iba a funcionar). En Firefox las APIs que se han tenido que crear porque no existían se han pasado para su estandarización (muchas ya lo son). Se que se ha estado en contacto con la gente de Phonegap y posiblemente también se adapten a los nuevos estándares para que sea más fácil y compatible entre todos. Nadie niega que la gente de Phonegap fueran unos de los pioneros en esto.
La máquina virtual Dalvik no tiene competencia en Android, es el único motor que puedes usar. En el caso de Firefox OS, Gecko compite con un gran elenco de otros motores de renderizado web, por lo que sus mejoras, evolución en rendimiento son continuos y rápidos (cada 6 semanas hay versión estable). Dalvin no tiene necesidad de mejorar a máxima velocidad. Esto es, Gecko, Webkit y demás siempre van a avanzar mucho más rápido y van a estar más refinados porque compiten entre ellos.
Sobre dependencias, creo recordar que para sacar un teléfono con la marca Android (e incluir las apps de google) hay que pagar una licencia.
En el tema de markets, si bien es cierto que en Android puedes montar tu propio market, es una tarea bastante grande para un desarrollador que sólo quiere controlar cómo vender su aplicación. En Firefox OS tienes ambos mundos, un marketplace donde promocionarte y que la gente te encuentre, sistema de pagos ya hecho… o te puedes montar tu marketplace usando el código del mismo. La diferencia es que puedes llevar la distribución de tu aplicación totalmente independiente sin depender de montar un marketplace, usar uno ya existente o sin rendir cuentas a nadie (ni google, ni amazon).
Actualmente hay buscadores tipo everything.me que buscan webapps para que los usuarios puedan instalarlas sin necesidad de un market, distribución descentralizada, como la web. Lo markets son como los antiguos directorios web, está filtrados y controlados por alguien y el usuario sólo ve lo que se le ofrece, si no estás ahí, no existes. La otra forma es tan natural como buscar en google una web, pero en este caso una webapp.
Los teléfonos de gama baja (menos de 1 GHz, 256 MB RAM) no pueden mover fluidamente las versiones nuevas Android, esto es un hecho. Firefox OS se ejecuta en terminales similares de hardware a un HTC Magic sin problemas y muy fluído.
Algunos comentarios sobre WebOS, me parece que fue una buena idea pero llegó demasiado pronto cuando cosas como HTML5 y CSS3 no estaban maduros del todo y el rendimiento de los motores de JS no era tan excepcional como es ahora.
Sobre el punto del rendimiento, no es un deseo, es un realidad. Tengo en mis manos un prototipo con menos de 1 Ghz y 256 MB de RAM que es muy similar al que quiere distribuir Telefónica en latinoamérica y fui propietario de una HTC Magic en su momento, te puedo asegurar que la diferencia es abismal. Puedo realizar alguna prueba en concreto si quieres para ver datos.
@Nukeador
Argumentar que el problema de Android es que Dalvik es la única máquina virtual es como decir que el problema de FirefoxOS es que el Gecko es el único motor. Sobre las mejoras en el futuro, das por cierto que Gecko sobrepasará a Dalvik/Java fácilmente y sólo por la competencia. Muy débil como argumento.
Sobre rendimiento, ya lo dije en el artículo: hay que comparar aplicaciones de complejidad similares, y hacerlo con mediciones objetivos, no con «impresiones» sobre aplicaciones que son todavía mucho más simples que las «pesadas» y complejas que ya hay en Android. Números, no expresiones de deseo.
Perdón si me he explicado mal, no digo que Dalvin sea el problema de Android, si no que no evoluciona y mejora al mismo ritmo que los motores web.
Gecko no es el único motor de renderizado que existe para las aplicaciones web. Dalvin sí lo es para las aplicaciones Android.
Los motores web (no sólo Gecko) tienen mucha competencia y eso incentiva a que se mejore día a día al máximo. Piensa en Dalvin como IE en el año 98, sin competencia y sin necesidad de mejorar porque no compite con nadie.
Claramente habrá cosas que se comporten mejor aún en un sistema que en otro, pero esto no creo que sea algo tan importante cuando estamos viendo la evolución de los motores web y que cada día son capaces de hacer cosas nuevas y mejores.
Además ten en cuenta que el mercado inicial objetivo de Firefox OS es el de gama baja y poco a poco ir evolucionando. Firefox OS tampoco pretende dominar la cuota de mercado, si no ofrecer una plataforma donde las aplicaciones web sean jugadores de primera.
El rendimiento de WebKit sobre Android es bastante cuestionable. Ello ha hecho que el desarrollo de aplicaciones HTML5 en Android ni se plantee por aquellos que quieran construir algo eficiente y con prestaciones similares a lo nativo. PhoneGap es una solucion simple pero no la solución.
Firefox OS es un SO nativo HTML5 y eso se nota, con soporte a los estándares HTML5 contemporaneos y con implementaciones eficientes basadas en aceleración gráfica y demás.
Pingback: El dificilísimo desafío de Firefox OS | La Pastilla Roja
Con un linux debajo y código libre… ¿no se podrá ejecutar aplicaciones C? ¿Rly?