28 de abril de 2008
Por Percy Cabello

Mientras el interés de Mozilla en las plataformas móviles crece para poder expandir su presencia en la web, hay otro proyecto en marcha, llamado MicroB, que ofrece una solución basada en Mozilla para las plataformas tablet PC de Nokia, y que se ha convertido en el navegador por defecto para el sistema operativo Internet Table de 2008, la última versión de las Tablet PC de Nokia, basada en maemo.

Antonio Gomes, es un desarrollador de MicroB, que aceptó amablemente una entrevista para poder aprender más acerca de este proyecto y de cómo trabajan.


Mozilla Links: ¿Cuál es tu rol en el proyecto MicroB y en maemo en general?

Antonio Gomes: Ahora mismo estoy más activo en los proyectos que rodean MicroB, que en este proyecto en sí. El principal es de los Extras del navegador, que intenta hacer disponible los complementos de Firefox para MicroB. El resto de mi tiempo lo utilizo para facilitar la implementación de características en MicroB y para solucionar bugs.


ML: ¿Cómo te involucraste en el proyecto? Sé que eres de Manaos, ¿Es maemo o Nokia particularmente fuerte en Brasil, o es sólo una coincidencia?

AG: No, no es una coincidencia. En el 2005, empezamos a desarrollar (en INdT) un concepto de un prototipo de navegador basado en Mozilla/Gecko 1.7 para la plataforma maemo. Lo llamamos MANaOS e incluía unas pocas funcionalidades básicas de los navegadores más populares, adaptados al contexto de los dispositivos móviles. Luego de un tiempo, surgió un proyecto de desarrollo en sociedad entre INdT y Nokia, que luego se convertiría en el producto que ahora conocemos como MicroB. Básicamente así fue como me involucré.

Creo que de todas maneras, Brasil todavía no puede ser considerado como un país que desarrolla software (cuando lo comparo con países como India, Alemania o los Estados Unidos), pero a pesar de eso creo que con maemo y el desarrollo para dispositivos móviles, estamos listos para el reto. La actividad es más intensa en las áreas donde INdT está presente: Manaus/AM, Recife/PE y Campina Grande/PR. En Recife los chicos están haciendo un gran trabajo en proyectos como Python para maemo, Canola, Mamona y Carman, mientras que aquí en Manaus nos centramos más en el desarrollo Web y el trabajo relacionado con el Kernel.


ML: El sistema operativo Internet Tablet de 2007, incluía Opera como su navegador por defecto, ¿Sabes porqué Nokia lo reemplazó por MicroB?

AG: El equipo de MicroB suele recibir correos todo el tiempo de gente que sugiere o se queja de ciertas características, o requiere mejoras, o en los mejores casos, envía parches para arreglar algún fallo. Ése es el punto de la comunidad de código abierto: si hay algo que no te gusta, puedes modificarlo a tu criterio. Eso acelera el desarrollo y hace que las actualizaciones sean más frecuentes. Con Opera no teníamos este tipo de ambiente.


ML: Cuéntanos acerca de maemo. ¿Cómo empezó y cómo esta organizado? ¿El trabajo realizado hasta el momento puede ser aprovechado por otras plataformas móviles?

AG: Maemo es una distribución de Linux empotrado, auspiciada por Nokia y publicada oficialmente en el LinuxWorld que se realizó en Nueva York el 25 de mayo de 2005, cuando el primer Internet Tablet de Nokia fue anunciado.

Desde entonces, ha habido varias versiones del software y se han entregado con tres dispositivos diferentes, los Nokia 770, 800 y 810. En la última edición de su firmware, de 2008 (maemo 4.x), la madurez de la plataforma, la estabilidad y la ganancia en el rendimiento han sido notables si lo comparamos con las versiones anteriores, y puedo asegurar que maemo ahora puede ser clasificada como una plataforma de desarrollo de carácter general, construida con componentes utilizados en los escritorios y en los sistemas móviles (incluyendo el Kernel de Linux, D-Bus, GConf, GTK y Mozilla, entre otros). Todo eso unido para entregar un juego interesante de aplicaciones que hace que la vida de los usuarios de estos dispositivos sea más sencilla.

Un buen ejemplo de maemo siendo utilizado fuera de Nokia es el Proyecto Móvil de Ubuntu, donde el Framework de la interfaz de usuario está basado en el Framework de Hildon.


ML: ¿Cuánta gente está involucrada actualmente en el desarrollo de MicroB?

AG: No tengo la certeza de cuán grande es el equipo entero. Primero, no estoy asentado en Helsinki, donde se encuentra el equipo principal, así que no conozco a todos los involucrados. Además, el equipo se agranda con el tiempo, a medida que intentamos contar con las últimas y mejores herramientas disponibles para nuestros usuarios. Así que al abrir nuevos proyectos, se contrata gente nueva (incluyendo subcontratados como yo), y el proyecto crece...


ML: ¿Cómo se sincroniza el trabajo de la rama de Mozilla con MicroB?

AG: Nuestra sincronización actual no es tan buena como debería ser, pero hay razones para que esto sea así. Déjame explicarte: el navegador MicroB utiliza como código base la versión pre Alpha 1 de Firefox 3 (mediados de 2007). Para ser más específicos, ha habido cerca de 160 parches (sobre otros arreglos) aplicados a la rama principal de Mozilla. Mantenerse actualizado a cualquier lanzamiento oficial de Mozilla no es una tarea fácil.

La desventaja obvia de usar una versión con un año de antigüedad es que varias de las nuevas herramientas que se han incorporado al CVS de Mozilla todavía no están disponibles para los usuarios de MicroB. Entre otras cosas nos gustaría tener la "fragmentación reducida de memoria con jemalloc", el nuevo "colector de ciclos", así como las ganancias en rendimiento de JavaScript, arreglos de seguridad, y otros. Para las características espectaculares como el nuevo "Verdadero Zoom de Firefox 3", el código está adaptado para trabajar en MicroB, como se ha hecho con otras características que consideramos necesarias para nuestros usuarios.


ML: ¿Trabajas directamente con los empleados de Mozilla Corporation?

AG: Tengo más contacto personal con Doug Turner, Chris Hoffman, Marcio Galli y todos los demás empleados de MoCo que he conocido personalmente. De todas maneras, luego de empezar a chatear más seguido en los canales de Mozilla (#mobile y #prism), me encontré charlando con otras personas geniales como Brad Lassey, Mark Finkle y Chris Blizzard.


ML: ¿Se puede comparar el desarrollo de MicroB con Firefox Mobile?

AG: Sí y no en realidad, pero déjame que me explique. El "Sí" se ilustra en el hecho de que tanto MicroB como Firefox Mobile (el producto) se ejecutan sobre XULRunner. Además el hecho de que los parches desarrollados por el equipo de MicroB son revisados periódicamente y subidos al árbol CVS de Mozilla, lo que significa que hay cooperación. Josh Soref, quien ha trabajado mucho tiempo como un hacker de Mozilla, es el especialista en navegadores en Nokia, así que ahí tienes otra conexión. Sin embargo, como mencioné antes, el motor de MicroB no está sincronizado con el último gran lanzamiento de Mozilla.


ML: Está basado en XUL, ¿Hildon o una mezcla?

AG: Maemo incluía antiguamente el navegador Opera en los tablets, apoyándose en la implementación de una interfaz basada en Hildon, así que XUL no se incluye para nada en MicroB. El equipo entendió que no había razón para tener dos toolkits de desarrollo de interfaz. MicroB utiliza para el backend el GTK2/Cairo de Mozilla, y Hildon/GTK para los widgets, las ventanas y los diálogos. Nada de XUL.


ML: ¿Cuándo estarán disponibles las actualizaciones de Firefox 3 en MicroB?

AG: En estos momentos no estoy seguro cuándo sincronizaremos con la rama XULRunner/Firefox3. Personalmente, espero que sea lo más pronto posible. Aunque tarde o temprano, todas las mejoras de Firefox 3.x estarán disponibles.


ML: He visto pocas extensiones trasladadas a MicroB. ¿Cuán difícil es hacer estas extensiones compatibles?

AG: Una extensión de Mozilla y su sistema de interfaz, están diseñadas para permitir a los programadores que añadan características a la aplicación que está construida encima de ella, o para permitir la modificación de características existentes. El complemento (como también se lo llama) permite esto modificando el "chrome" de la aplicación seleccionada. Cuando el complemento de Firefox se convierte para MicroB, que tiene una interfaz Hildon y no XUL, su pase requiere que todo el chrome y lo que está por encima, y que descansa sobre XUL, sea reemplazado. Más aún, la interfaz de MicroB es un juego de binarios estáticos que no puede expandirse por capas, así que es difícil poder implementar mecanismos para que los usuarios interactuen con las funcionalidades de los complementos.

Para Greasemonkey (GM), por ejemplo, hemos tenido que crear una aplicación independiente de Hildon para que trabaje como el diálogo de instalación por defecto de GM en Firefox. Portar todo esto se hace aún más difícil debido al hecho de que el motor Gecko 1.9 pre Alpha 1 utilizado en MicroB tiene un par de bugs molestos que, entre otras cosas, requieren que el motor empiece dos veces para que el nuevo complemento recién instalado pueda registrarse y funcionar adecuadamente.


ML: He visto que el soporte para RSS ha sido mejorado recientemente. ¿Cuándo podremos contar con estas mejoras en una versión final?

AG: Como he dicho antes, no estoy seguro de cuándo sucederá esta actualización exactamente. Lo único que puedo decir es que eso traerá nuevas y grandes mejoras en la experiencia en Internet para los usuarios de maemo.

Etiquetas: , ,

 
posted by FrancJP at 10:35 a. m. |


0 Comments: