# Firefox OS

Firefox OS (nombre clave: Boot to Gecko o B2G) es un sistema operativo móvil descontinuado, basado en HTML5 con núcleo Linux, de código abierto para varias plataformas. Desarrollado por Mozilla Corporation bajo el apoyo de otras empresas y una gran comunidad de voluntarios de todo el mundo. El sistema operativo estuvo diseñado para permitir a las aplicaciones HTML5 comunicarse directamente con el hardware del dispositivo usando JavaScript y Open Web APIs.
Inicialmente estuvo enfocado en los dispositivos móviles, smartphones y tabletas, específicamente en el sector de gama baja; el 2 de julio de 2013, Telefónica comenzó la venta del primer terminal con Firefox OS, el ZTE Open que fue rápidamente seguido por el teléfono Peak de Geeksphone. También se pudo aplicar a otros dispositivos como Raspberry Pi, y en el desarrollo próximo de computadores de bajo consumo y televisores (Televisión inteligente y conectores HDMI).
A finales de 2015 la Corporación Mozilla da por concluido el desarrollo del sistema Firefox OS para móviles y anuncia el fin de su desarrollo. El sistema ya desarrollado será adaptado a otros tipos de dispositivos. Se argumenta que el proyecto no logró el objetivo de ofrecer a sus usuarios la mejor experiencia posible. Los principales obstáculos encontrados al desarrollo del sistema fueron de tipo comercial. El sistema no se vendió y los costos excedieron los beneficios.
Su sucesor es KaiOS, este último esta derivado de B2G (Boot to Gecko), un sucesor de código abierto de la comunidad de Firefox OS.

## Historia
### Orígenes

Los antecedentes del Firefox OS estaban relacionado con el futuro de los móviles mediante prototipos. En el 2010, Billy May, de Mozilla Labs, publicó un vídeo acerca del móvil del futuro llamado SeaBird inspirado en Android. Lamentablemente, la fundación no tenía planes para distribuirlo pese a las buenas críticas de la comunidad.
En el mismo año, la fundación Mozilla lanzó, como respuesta a la reciente publicación de la tienda de aplicaciones Chrome Web Store de Google, su propia tienda. Inicialmente se llamó Open Web Apps (literalmente Aplicaciones web abiertas), y su sitio web es accesible a través de cualquier navegador moderno. Su funcionamiento consta de una tienda de aplicaciones portátil (equivalente a una página de inicio en la nube virtual), un directorio de aplicaciones y aplicaciones auto-publicadas (que funcionan en el sitio web de la aplicación). En paralelo, Telefónica también estaba planeando junto a operadoras como AT&T, Orange y muchos más, bajo el nombre de la Wholesale Applications Community (WAC), el desarrollo de teléfonos inteligentes con la tecnología Webkit.
El proyecto Boot to Gecko se inició en el 2011 bajo la dirección del experto de seguridad Andreas Gal. El plan era revolucionar el modelo enfocado en plataformas abiertas de bajos recursos económicos. Cuando fracasó la producción de los móviles WAC por conflictos en la mecánica API, de ahí su nombre, especialmente en el funcionamiento del sistema de pagos, al año siguiente, Telefónica confirmó el apoyo a la fundación Mozilla.

### Lanzamiento comercial

En julio de 2012 se reemplazó el nombre a Firefox OS. El 21 de octubre del mismo año Mozilla estrenó Firefox Marketplace, una tienda en línea de aplicaciones para Firefox OS.
En septiembre de 2012, los analistas de Strategy Analytics pronosticaron que el Firefox OS representaría el 1% del mercado mundial de teléfonos inteligentes en 2013, su primer año de disponibilidad comercial.
Para la característica búsqueda adaptativa que es usada en la integración de aplicaciones web en una barra unificada, se recurrió a Everything.me. La compañía lanzó la aplicación en el 2011 inicialmente para iPhone sin mucho éxito y más tarde para Android. En el 2012, la compañía recibió la inversión de 25 millones por parte de Mozilla y socios para la incorporación en el sistema operativo.
En febrero de 2013 Mozilla anunció planes para el lanzamiento mundial de Firefox OS. Mozilla comunicó en una rueda de prensa antes del inicio del Mobile World Congress en Barcelona, que la primera ola de dispositivos con Firefox OS estaría disponible Brasil, Colombia, Hungría, México, Montenegro, Polonia, Serbia, España y Venezuela. Firefox también anunció que LG Electronics, ZTE, Huawei y TCL Corporation se comprometieron a la fabricación de dispositivos con Firefox OS.
En el 2014, en la siguiente Mobile World Congress, Mozilla y Telefónica anunciaron nuevos terminales desarrollados por Alcatel, Huawei y ZTE. Según el analista Nick Dillon de la firma Ovum predice que la colaboración de Spreadtrum, una fabricadora china de hardware, a Mozilla en el desarrollo del modelo SC6821, llamado el celular de 25 dólares, podría determinar el fin de los feature phone. Durante este periodo ya se habría expandido su mercado en varios sectores de Sudamérica, más adelante Centroamérica y parte de Europa.

## Características

Firefox OS posee diversas características de uso, que varían en cada actualización:
* Almacenamiento: Aunque inicialmente hubo una API independiente al proyecto Firefox OS, que permita utilizar SQLite,como base de datos liviana, para el almacenamiento de datos, los creadores de dicha API abandonaron dicho proyecto haciendo que Firefox OS funcionase únicamente con la base de datos IndexedDB
* Aplicaciones web: Las aplicaciones web pueden ser ejecutadas directamente sin necesidad de ingresar al navegador. Los permisos que se les concedan dependerán si son de uso offline o simplemente en línea:
** Las aplicaciones que no necesitan permisos antes de su instalación son consideradas planas, y pueden utilizarse para experimentar el potencial del HTML5 (como guardar información o hacer notificaciones) usando el archivo manifest.webapp.
** Para las aplicaciones que usan componentes sensibles, como la cámara o el sistema, son consideradas privilegiadas (usado dentro del Firefox Marketplace), o certificadas (si los paquetes están bajo mecanismo de autenticidad). Pueden ser hospedadas o empaquetadas.
* Búsqueda adaptativa: En la pantalla de inicio, se puede realizar búsquedas a través de aplicaciones web usando el programa Everything.me. Cuando se realiza una búsqueda se mostrará diversos sitios web donde cada sitio puede ser un sitio oficial o una aplicación web.
* Diseño de dispositivo: El diseño del sistema operativo es adaptable en cualquier resolución sea multitáctil o no con un estilo orgánico y sencillo de visualizar a través de la interfaz Gaia. Posee funciones multitarea y puede ser realizado con el botón central.
* Contactos: Es capaz de almacenar contactos usando Facebook y Gmail.
* Correo electrónico: Con notificaciones de correo nuevo.
* Calendario: Es capaz de programar citas y alarmas que se pueden sincronizar.
* Navegador web: El navegador por defecto es Firefox, inspirado en la aplicación para Android.
* GPS: Permite la geolocalización usando la aplicación Here de Nokia para la visualización de mapas.
* Mensajería: Incluye mensajes de texto (SMS) y multimedia (desde 1.1). Según una comunidad regional de Mozilla, existe aplicaciones de terceros que pueden usar otros servicios de manera gratuita.
* Teclado: Desde la 2.0, es posible cortar, copiar y pegar y predecir la escritura.
* Multimedia: Posee la capacidad de tomar fotos, grabar vídeo o reproducir contenido multimedia.
* Notificaciones: Deslizando desde la parte superior del móvil hacia abajo se encuentra la bandeja de utilidades para activar o desactivar conexiones Wifi, datos, Bluetooth, modo avión y realizar ajustes.
* Radio FM: Posee un sintonizador de radio, con capacidad de crear listas de canales de audio.

## Arquitectura

La arquitectura de Firefox OS tiene tres componentes muy importantes:
* Gonk: Conformado por el kernel Linux y una capa de abstracción de hardware.
* Gecko: El entorno de ejecución.
* Gaia: La interfaz gráfica de usuario.

### Gonk

"Es el "sistema operativo" de bajo nivel de B2G. A grandes rasgos, consiste en un kernel o núcleo Linux y una capa de abstracción de hardware. El sistema hereda gran parte de Android, así como los drivers y componentes típicos de una distro GNU/Linux para las funciones vitales del smartphone como el control de batería o la cámara".
Para conceder los permisos de alto nivel se ejecuta el proceso b2g que permite la interacción total con el sistema usando la capa de Gecko. Por ejemplo, para visualizar un video Firefox usa un proceso, la función MediaServer para el empleo de códecs libres, para la ejecución del video, sin embargo, Gecko se encarga de la decodificación de la misma una vez que haya concedido el permiso de Gonk.

### Gecko

Es el entorno de ejecución. En Gecko están implementados los estándares de HTML, CSS y JavaScript y permite que esas interfaces se ejecuten correctamente en los distintos sistemas operativos. En otra palabras, el motor Gecko puede ejecutar tareas como visualizar páginas web, manipular la interfaz de usuario, conceder permisos usando el sistema API. Prácticamente consiste en una serie de pilas de gráficos, un motor de dibujado y una máquina virtual para JavaScript, entre otras cosas escritas en el lenguaje C++.

### Gaia

Es la interfaz gráfica del sistema operativo. Todo lo que aparece en la pantalla desde que B2G se inicia, es parte de Gaia. Es decir, las aplicaciones tales como la pantalla de bloqueo, el marcador telefónico, la aplicación de mensajes de texto, etc, son parte de Gaia. Esta interfaz gráfica está escrita enteramente en HTML, CSS y JavaScript.
Tanto las aplicaciones internas como externas usan directrices de diseño. La tipografía por defecto es Fira Sans, una variación Sans Serif. Los iconos de acceso directo son redondeados. Mientras la interfaz es amplia y los colores son levemente suaves, los botones son planos y accesibles, fondos legibles, con tonalidades oscuras o iluminadas.

## Aplicaciones y desarrollo

El desarrollo de Firefox es mantenida por su comunidad, donde se puede realizar aportaciones en el mantenimiento, documentación y servicios relacionados al sistema operativo. En la conferencia O'Reilly Open Source Convention (OSCON), el responsable de la comunidad virtual de Mozilla Benjamin Kerensa describe como una "plataforma abierta para el público y las empresas pueden ser los propios desarrolles sin restricciones". Previamente, antes de la llegada a los móviles, era posible ejecutar páginas de Internet como si fueran aplicaciones independientes mediante WebRunner, un componente experimental ya obsoleto.
Crear una aplicación depende de los privilegios que concedan al usuario, algo que la comunidad de desarrolladores Mozilla Hacks crearon un sitio titulado Building Firefox OS, donde alberga información de todo tipo. Existen los manifestos: metadatos tipo MIME que identifican al programa o enlace si no quiere almacenarse; el diseño web: donde visualmente se presencia la tipografía y el diseño, basada en el HTML5, junto a la vectorización CSS y la animación de la interfaz con JavaScript; las WebAPI: interacciones con los componentes del sistema como la cámara, los contactos, dialer, etcétera; donde algunos requieren certificación de la aplicación.

## Demostraciones

En el Mobile World Congress de 2012, Mozilla y Telefónica anunciaron que el proveedor de telecomunicaciones español pretende ofrecer "dispositivos de Web abierta" en 2012, basados en HTML5 y sus API. Mozilla también anunció que las empresas Adobe y Qualcomm darán soporte al proyecto, y que el Laboratorio de Innovación de la Deutsche Telekom se unirá al proyecto. Mozilla ha mostrado un "avance" del software y las aplicaciones corriendo en un teléfonos Samsung Galaxy S II (en reemplazo del sistema operativo Android habitual). En agosto de 2012, un empleado de Nokia demuestra el sistema operativo que se ejecuta en un Raspberry Pi. En julio de 2013, la empresa Movistar comenzó a comercializar en España el primer móvil con sistema operativo Firefox OS.
Entre los dispositivos compatibles con Firefox OS se encuentran: Otoro, PandaBoard, Emulator (ARM y x86), PC, Nexus S, Nexus S 4G, Samsung Galaxy S II y Galaxy Nexus. También se ha portado en celulares Xperia E a través de un ROM creado por Sony. Para la versión de escritorio, se lanzó una extensión que simula al sistema operativo llamado "Firefox OS Simulator" disponible para el navegador Firefox, lanzado a finales de 2012. Para los dispositivos Android, aún en pruebas, existe la posibilidad de cambiar la pantalla de inicio mediante la aplicación oficial Firefox Launcher, que permite agrupar las aplicaciones, realizar búsquedas y ver noticias en tiempo real.

## Versiones

| Obsoleta | Extendida | Actual | Beta | Alfa |
| Versión | Fecha lanzamiento | Nombre | Versión Gecko | Incluye arreglos de seguridad |
| Pre-alpha | Mediados de 2012 | B2G | Varía | Ninguno |
| 1.0 | 21 de febrero de 2013 | TEF | Gecko 18 | Gecko 18 |
| 1.0.1 | 6 de septiembre de 2013 | Shira | Gecko 18 | Gecko 20 |
| 1.1.0 | 9 de octubre de 2013 | Leo | Gecko 18+ (APIs nuevas) | Gecko 23 |
| 1.2.0 | 9 de diciembre de 2013 | Koi | Gecko 26 | Gecko 26 |
| 1.3.0 | 17 de marzo de 2014 | TBD | Gecko 28 | Gecko 28 |
| 1.4.0 | 8 de agosto de 2014 | TBD | Gecko 30 | Gecko 30 |
| 2.0.0 | 21 de julio de 2014 | 2 | Gecko 32 | Gecko 32 |
| 2.1.0 | 13 de octubre de 2014 | 2 | Gecko 34 | Gecko 34 |
| 2.2.0 | 29 de abril de 2015 | 2 | Gecko 37 | Gecko 37 |
| 2.5.0 | 2 de noviembre de 2015 | 2 | Gecko 43 | Gecko 43 |

### Política de actualizaciones

Las actualizaciones de Mozilla son trimestrales. Después del lanzamiento comercial de los móviles integrados bajo Firefox OS, se decidió actualizar a través de una mecánica similar a la versión de escritorio: Scoping Complete para los Nightly builds, Functional Complete para las compilaciones preliminares y el Code Freeze (versión definitiva) que son alternadas cada 12 semanas, el doble de tiempo que en las versiones tradicionales.
Después que la primera versión de Firefox fuese lanzado en el 2013, se espera una segunda gran actualización para julio de 2014. Entre sus cambios busca enfocar su imagen sencilla, además de añadir funciones de copiar y pegar, búsqueda genérica, servicio de recuperación de equipos FindMyFox, compatibilidad con WebRTC para videollamadas y su dinámico diseño de bloqueo. Un representante de Mozilla, la compañía de diseño alemán Soeren-Hentzschel, anunció nuevos conceptos de la versión 2.0 reduciendo sobras y bordes.

## Recepción

Desde la publicación de Firefox, tuvo variadas críticas. Desde su lanzamiento, el ZTE Open, tuvo una buena acogida en sectores de clase limitada, aunque su funcionamiento posea ciertas limitaciones relacionadas al uso cotidiano y al entorno gráfico. En Europa, el director de producción e innovación de la compañía Deutsche Telekom, Thomas Kiessling, expresó su agrado tras el éxito en Alemania y zonas cercanas. En Estados Unidos, el vicepresidente de investigación de la International Data Corporation referencia el valor económico y la accesibilidad mediante las plataformas de la web como parte importante de su comercialización.
En Latinoamérica fue administrado por Telefónica, donde en Bolivia se promocionaron los móviles con duración extendida. Se anunció oficial en Brasil, generó reacción de la competencia; Nokia, con la idea de reemplazar la fama con dispositivos bajo Symbian, decidió lanzar Nokia X meses después. Irónicamente, existió un anuncio comercial para Chile basado en el meme de Internet What Does The Fox Say? del dúo noruego Ylvis, donde un joven decide realizar una coreografía caracterizado como zorro presumiendo a los demás invitados disfrazados de animales sus habilidades multifacéticas.
Uno de los detalles más criticados fue la carencia de aplicaciones esenciales, siendo WhatsApp la más importante. Mozilla estaba buscando una solución en incorporar por defectos en terminales de su gama. Aunque algunos desarrolladores aficionados pudieron adaptar el servicio a aplicaciones no oficiales, se confirmó, días después que Facebook lo comprara, que sólo sus competidores Telegram y LINE llevarán al sistema operativo primero.