January 8th, 2012
Desde su lanzamiento, he sido muy critico con Tizen, primero porque al parecer prima mas la política que la tecnología en el proyecto, y segundo por la falta de información y transparencia, algo que para ser un proyecto que se quiere posicionar como la verdadera opción Open Source en OSs para dispositivos móviles es totalmente inaceptable, el blog en Tizen.org solo ha publicado un post y este data del 27 de Septiembre de 2011 (casi 3 meses y medio), en las listas de email, no hay nadie que conteste absolutamente nada, afortunadamente esto esta empezando a cambiar, hoy gracias a un tweet de @gsbarbieri me entere que se podía acceder a el repositorio git con el código de Tizen, ademas de que ya estaba disponible para bajar el SDK.
Arquitectura
La arquitectura de Tizen, se divide básicamente en 3 capas, una capa con el Kernel Linux (optimizada para procesadores con arquitectura ARM Cortex A8), luego el Core, en donde se encuentran los diferentes servicios (Web, Security, Multimedia, Graphics, UI, Location, Telephony, Messaging, entre otros) que son expuestos por la Web API, a las aplicaciones web que corren en la capa, valga la redundancia de Aplicaciones.

SDK
El SDK se encuentra disponible aquí, y hasta el momento solo se encuentra disponible para Linux, el instalador pesa unos 5 megas y la instalación completa del SDK ocupa aproximadamente 2 gigas de espacio en disco, el IDE se basa en Eclipse y permite crear tanto aplicaciones nativas como Web Apps, el SDK también incluye un emulador con el que podemos testear nuestras apps, el emulador es algo lento y limitado, no soporta OpenGL ES y EFL, tampoco detecta el cambio de posición de la pantalla (portrait, landscape) entre otras cosas, estas limitaciones se verán en parte solucionadas en febrero próximo cuando Samsung lance su primer modelo de referencia y se puedan hacer pruebas directamente en el dispositivo.

User Interface
La UI usada en esta versión es bastante básica, con algunos aires a TouchWiz, la homescreen es una simple lanzadera de programas y al parecer es posible tener mas de una homescreen, a diferencia de TouchWiz no es posible agregar widgets, lo cual hace a la UI algo limitada, pero por otro lado, esto favorece el consumo de recursos y es que al parecer Tizen en un principio va a estar mas orientado a equipos del rango medio a medio bajo, la UI también cuenta con una zona de notificaciones similar a la usada por Android, Symbian Belle o iOS 5 y su funcionamiento y apariencia es parecida, también cuenta con un Task Switcher donde podemos ver las aplicaciones que están corriendo, cuantos recursos están consumiendo y cerrarlas.
Debajo pueden ver algunas screenshots de las diferentes partes de la UI y de algunas aplicaciones en acción.

Homescreen and Dialer

Settings and Task Switcher

Web Browser

Photo Gallery
Este articulo es solo una primera toma de contacto tanto con Tizen, como con su entorno de desarrollo, en futuros posts iré profundizando mas en puntos como la arquitectura, las APIs disponibles para desarrollo, ya sean las nativas de Tizen como las de la especificación WAC, espero este articulo les sirva para ir conociendo a Tizen y espero también que sea el comienzo de una mayor y mejor comunicación por parte de la Tizen Association.
January 7th, 2012
Boot to Gecko, B2G para los amigos, es un proyecto que surgió a mediados de 2011 dentro de la Fundación Mozilla, la idea detrás de este proyecto es la creación de un Sistema Operativo para dispositivos móviles (smartphones, tablets), por ahora se encuentra en una fase exploratoria y de experimentación, en el mismo se están usando y llevando al limite las mas actuales tecnologías y estándares web abiertos. En primera instancia el objetivo de B2G no es crear un producto para luego ser ofrecido a fabricantes OEMs, pero si las cosas marchan bien, todo lo aprendido y desarrollado con B2G puede terminar convirtiéndose en un producto que podrá ser usado por fabricantes es sus dispositivos.
La conexión Android
En esta etapa inicial se están usando algunos componentes comunes con Android en el proyecto (Linux kernel, drivers, libusb y algunos componentes mas), esta decisión tiene como objetivo minimizar el trabajo que puedan llegar a tener los fabricantes de dispositivos que quieran utilizar B2G en los dispositivos Android que actualmente fabrican y venden, la conexión entre Android y B2G se limita a ciertas zonas del core y no pasa de ahí, esto quiere decir que B2G no es compatible con las aplicaciones Android, B2G no usa Dalvik ni ninguna otra tecnología de desarrollo de Android, ya que el modelo de desarrollo que la Fundación Mozilla quiere impulsar se basa en usar APIs Web actuales y futuras.
Show me the code
A diferencia de Tizen, el código de B2G esta disponible en GitHub desde el mismo momento en que fue anunciado, esto permite que el proyecto gane en credibilidad, y permita a gente testear B2G desde etapas muy tempranas del desarrollo.
Actualmente es posible probar B2G en el emulador que viene junto al SDK de Android o bien si tienen un Samsung Galaxy S2 o un Nexus S 4G pueden flashear la imagen en el dispositivo, el proceso no es complicado, aunque requiere de bastante tiempo y algunos cuidados, en mi caso no cuento ni con Galaxy S2 ni con un Nexus S para hacer pruebas, por lo que opte por compilar la versión que corre en el emulador, lamentablemente he fracasado miserablemente las dos veces en las que he intentado compilar B2G, espero hacerme un tiempo pronto para poder encontrar los problemas que me impiden compilarlo y así poder probarlo personalmente para compartir mis impresiones con ustedes.
Gaia
Gaia es el nombre de la phone experience en la que se esta trabajando para ser usada en B2G, por el momento esta todo muy verde, en la wiki del proyecto pueden ver algunos conceptos que han presentado algunos miembros de la comunidad.

En el siguiente video pueden ver la UI en funcionamiento, lo que ven es una prueba de concepto, por lo que no se puede tomar nada de lo que se ve como definitivo, lo que si resulta extremadamente interesante es la función a la View Page Source que permite ver el código html + css + javascript usado en cada uno de los componentes y aplicaciones usadas por la UI.
Como ven el proyecto pinta interesante y esta avanzando a paso firme, el numero de personas que están trabajando en el mismo paso de 2 o 3 personas a 20, y según algunos rumores, es posible que el próximo mes en el Mobile World Congress 2012 la Fundación Mozilla haga una presentación del proyecto, lo que con seguridad nos permitirá conocer mas acerca del futuro y la dirección que va a ir tomando el proyecto.
Recursos
Si están interesados en el proyecto, a continuación les dejo algunos links con recursos que les serán de utilidad para ir conociendo mas del mismo.
July 20th, 2010
Meego nace de la unión de los proyectos Moblin (Intel) y Maemo (Nokia) además cuenta con el auspicio de la Linux Foundation, lo que asegura que sea 100% OSS compliant, esto ultimo sumado a la política de upstream first para mantener una constante compatibilidad con el kernel de Linux, le esta trayendo algunos dolores de cabeza a Intel, que tiene problemas para integrar los drivers de sus chipsets GMA500 y del próximo GMA600 por una incompatibilidad de licencias.
Meego es la concreción del viejo dicho que dice, se juntaron el hambre y las ganas de comer, por una lado tenemos a Intel, que ve que el segmento mobile no para de crecer y a ARM y sus derivados llevarse la mayoría de las ganancias y el marketshare, por el otro lado esta Nokia, que ya había empezado a despegarse de Symbian con Maemo, pero que necesita acelerar el paso y tener un OS que le sirva para entrar en otros mercados (tablets, netbooks) como así también tener un plan B, por si el barco Symbian se termina de hundir en el segmento de los smartphones high end.
Arquitectura
Meego es una distro Linux, cuya arquitectura a grandes rasgos se divide en 3 capas, OS Base, Middleware y UX.

OS Base
Esta capa esta constituida por la HAL y un kernel Linux, a diferencia de Android, Meego sigue una política de upstream first que lo mantiene sincronizado con las ultimas versiones de el kernel Linux, esto permite adoptar fácilmente nuevas versiones del kernel dentro del proyecto, sino que también obliga a los fabricantes de hardware a que se encarguen de todo el proceso de inclusión de sus drivers en el kernel.
Middleware
En esta capa corren a grandes rasgos:
- Los servicios y APIs que permiten el acceso a todo tipo de conectividad, 3G, WiFi, Bluethot (Comms Services)
- El web runtime, los servicios de rendering y geolocalización (Internet Services)
- Los subsistemas 2D y 3D, los servicios para el rendering de fonts, la libreria Clutter y el server X (Visual Services)
- Todos los servicios y codecs necesarios para la reproducción y captura de audio y video (Media Services)
- El subsistema que se encarga de proveer los servicios para la manipulación de metadata, por ejemplo información de media files, la posición del dispositivo (acelerometro) (Data Management).
- Todos los subsistemas y servicios encargados de administrar el estado del dispositivo, como así también las sincronización, backup y restauración del sistema. (Device Services)
- Todos los servicios necesario para el manejo y administración de los datos personales del usuario, (contactos, tareas, calendario) y el manejo de las cuentas de acceso a servicios web. (Personal Services)
Meego API
La Meego API esta basada en QT 4.6.x (al día de hoy, pronto se estara dando soporte a la versión 4.7), además se están desarrollando complementos como MeeGo Touch Framework, MeeGo Web Runtime (permite crear aplicaciones nativas usando HTML, CSS y Javascript) y Qt Mobility (un set de librerías con funciones y componentes especialmente desarrollando para se usados en ambientes mobile)
UX
Meego fue pensado desde un principio para ser usado en una gran variedad de dispositivos (netbooks, smartphones, tablets, televisores y automóviles), en esta capa corre una User Interface especializada para cada uno de ellos.
Hasta el momento han sido liberas las versiones 1.0 de Meego para Netbooks y una Alpha (muy alpha) de Meego para Smartphones.

Herramientas y Ambiente de Desarrollo
Aunque la idea de Nokia es usar QT para todo, aun quedan algunas aplicaciones GTK en Meego (por ejemplo Banshee) resabios de su pasado como Moblin, no esta en los planes desterrar a GTK del entorno, sino impulsar a QT para que tome una posición mas relevante, para ello Nokia provee de QT Creator y los SDKs necesarios para comenzar ya mismo a desarrollar, también Novell se esta sumando a la fiesta con su propio sabor de Meego y el consiguiente soporte para Mono.
Recursos