Jan Jongboom hizo una grandiosa ponencia en el pasado JsConf sobre Firefox OS, en ella explica que quería comprar una Rasberry Pi para realizar experimentos y desarrollar programas, aunque el precio del dispositivo es atractivo, observó que un teléfono Firefox OS de USD $25 ofrece casi lo mismo pero con una pantalla táctil, puerto SIM y batería. Por lo que con menos precio puedes tener un buen dispositivo para hacer tus proyectos de hacking.
Su primer paso fue desarmarlo y realizar unas pequeñas modificaciones en el hardware para finalmente quedar con la tarjeta madre (de tamaño menor a una tarjeta de crédito), luego modificó el sistema operativo para eliminar la interfaz gráfica (Gaia), poner en ella una modificación para recibir comandos Javascript y ver la salida a través de la consola de depuración del navegador. Éste último cambio es difícil (Gaia está muy unido a Gecko el motor del navegador) e interesante, porque como él dice, le permite tener Gecko corriendo el aparato y tener scripts hechos en Javascript para realizar todo tipo de interacción con el hardware: sensores de movimiento, bluetooth, wifi, acceso a la red telefónica, etc.
Con estos hacks, realizó cosas interesantes como un timbre para una casa: cuando el visitante va a tocar el aparto se enciende (por el sensor de proximidad) se conecta a una corneta bluetooth para sonar. Me gustó el de la posibilidad de transformar el teléfono en una cámara de seguridad: se toman fotos cada cierto tiempo, se detectan cambios entre las fotos y cuando ocurra algo extraño envía un mensaje SMS, realiza una llamada o se conecta a Internet para alertar de un posible problema. En fin deben ver el vídeo para ver lo que hace.
Jan Jongboom: Abusing phones to make the internet of things | JSConf EU 2014
Esta charla me recordó un artículo anterior donde escribí sobre la resolución del cubo de Rubik con uno de los equipos de Nokia, pues ya hoy en día casi todos tenemos una computadora en la palma de nuestras manos, que junto con el código abierto, gente curiosa puede estudiar como funcionan los dispositivos y modificarlos para realizar cosas para las cuales no estaban diseñadas originalmente, algo que define cultura Hacker.
Buscando como instalar Firefox OS, encontré un tutorial para instalar varios sistemas operativos en el telefóno en un Nexus 4. Al principió me sorprendió porque no sabía la posibilidad de instalar un gestor de arranque en estos dispositivos y permitir al usuario escoger que sistema arrancar, todo esto es posible gracias al programa MultiROM Manager. Este programa permite dentro de Android, instalar un nuevo Recovery (con opciones multiarranque), descargar e instalar ROMS para luego reiniciar en ellas, sin complicaciones para un usuario promedio.
Para instalarlo, simplemente:
Descargalo del Market.
Selecciona MultiROM y el Recovery.
Haz clic/toque en Instalar y espera a que termine de instalar
Para este proceso se requiere acceso root y para usuarios avanzados pueden cambiar el Kernel de Android (en mi caso, no sé por qué Cyanogenmod no instaló su propio kernel) por uno precompilado con varias mejoras incluídas.
Instalar Ubuntu Touch
Para instalar Ubuntu Touch, el proceso es automatizado, pues MultiROM Manager tiene una opción llamada ‘Install Ubuntu Touch’ simplemente selecciona el canal (si quieres una versión de desarrollo o estable), selecciona la versión mas alta y presiona Instalar, espera la descarga automáticamenta de los archivos necesarios y su posterior instalación en el equipo. Cuando solicite reiniciar, debes hacerlo de inmediato (no me funcionó cuando reinicie mas tarde).
Reiniciar el modo recovery (con MultiROM Manager puedes hacerlo)
Ir a Advanced -> MultiROM -> Add ROM (para agregar la imagen).
En el tipo de ROM seleccionamos ‘Android’ (El núcleo de Firefox OS es similar a Android).
Selecciona ‘Don’t share kernel’ y luego en Next (porque se va a usar un núcleo no Android)
Selecciona el archivo ZIP.
Arranque por defecto
Seleccion del sistema operativo
Nexus 4 con Android 4.4
Nexus 4 con Ubuntu Phone
Menu de Ubuntu Phone
Menu de Ubuntu Phone
Nexus 4 con Firefox OS
Firefox 1.4 en el Nexus 4
Firefox dentro de Firefox OS en un Nexus 4
Disculpen la calidad de las fotos pues fueron tomadas con un teléfono sencillo
Multi-arranque
Luego, gracias al recovery que utiliza MultiROM, podrás seleccionar cual de los 3 sistemas operativos debe arrancar al momento de encendido. Esto te permite fácilmente cambiar entre un S.O. sin estar escribiendo en la memoria flash y haciendo respaldo de tus datos, permitiendo escoger tu plataforma favorita.
Debido a estos hacks/programas, me gusta comprar teléfonos como el Nexus 4, pues dan mas libertad para realizar este tipo de cosas. Aunque creo que ya Google no los vende, se suele conseguir en algunas tiendas en línea.
Entre el 17 y 19 de abril se celebró en la ciudad de Madrid, España. El Mozilla Hispano Work Week del 2014, un encuentro de los colaboradores de Mozilla Hispano para conocer el estado de la comunidad, planificar el trabajo para el próximo año, realizar talleres, compartir momentos entre los asistentes y establecer relaciones personales, entre otros.
Este año tuve la oportunidad de ser invitado y asistir por primera vez.
Primer día
La agenda general consistía en conocer el estado actual de cada proyecto/área de Mozilla Hispano, y proponer objetivos a lograr en cada uno de ellos. Inicialmente se cada asistente escribía en notas adhesivas ideas para mejorar la comunidad o tareas que se podrían realizar en los tres días del evento, luego cada una de ellas se leía en público para que todos la conociéramos.
Posteriormente, un representante de cada proyecto daba una presentación sobre las actividades realizadas en el último año, permitiendo conocer al resto el estado actual de proyecto y sus integrantes. Luego se dictó una charla denominada «Cómo trabajar en comunidad», donde hablaba sobre el proceso de participación en la comunidad, motivos, objetivos y trato al resto de los integrantes. Me gustó porque los ponentes agregaron un toque de humor al poner fotos graciosas de eventos pasados pero sin perder el mensaje a transmitir.
Luego del almuerzo, nos reunimos en grupos por cada uno de los proyectos, la idea era proponer objetivos y metas a cumplir en el año. Al final de organizarse cada grupo, un representante se encargaba de exponer al resto de la comunidad los objetivos planteados, con el fin añadir mas o acomodar alguno que fue mal planteado.
Al final del día, se volvían a leer las notas escritas al inicio del evento para organizarlas en dos grupos: cumplidas y pendientes, ésta última para trabajar en ellas el resto de los días. Al finalizar, salimos a recorrer Madrid, cenar y compartir un rato para hablar de la comunidad, de Mozilla, acerca de desarrollo web o la política de nuestros países.
Segundo día
Éste día comenzó con la dinámica de las notas adhesivas del día anterior, para recordar las cosas por hacer y llevar el avance del evento. Luego nos volvimos a agrupar en los grupos del día anterior, pero esta vez, en como íbamos a llevar a cabo los objetivos planteados. En este punto se planteaban las tareas, fechas, asignación de trabajo y moldear mas las ideas propuestas el día anterior. Aquí fue donde me dí cuenta lo productivo que es tener conversaciones presenciales, realmente es mas fácil y opino que se avanza mas rápido que la reuniones en línea.
Cuando se acabó el tiempo, de nuevo un miembro de cada proyecto exponía las tareas a realizar, permitiendo a los demás: opinar sobre ello, brindar sugerencias, dar críticas. Como el día fue liviano, salimos de nuevo a pasear por la ciudad y visitar lugares históricos, pues estábamos ubicados en una zona con muchos sitios interesantes alrededor.
Entrada al evento
Jusai hablando sobre el estado de MozEdu
Mozilla Creative
Vista panorámica del la sala
Francisco Picollini hablando sobre la comundiad
Pablo
Paseo por la plaza mayor de Madrid
Recorriendo las calles de Madrid
Hablando en el lobby del Hotel
Maedca, Arturo y yo
Ruben «Nukeador» y Berni hablando sobre las guías de la comunidad
Guillermo Movia hablando sobre la comunicación de la comunidad Hispana con Mozilla
Gabriela explicando sobre el test day que se iba a realizar
Explicación del estado de MozBuzz
Explicación del estado de MozBuzz
Taller de Mozedu
Taller de Mozilla Creative
Taller
Taller de pruebas de Firefox Accounts
Panorámica del evento
Taller de Mozilla Labs
Taller de Mozedu
Taller de Mozedu
Discusiones en el refrigerio
Discusiones en el refrigerio
Tercer día
El último día estaba planteado ya como un día práctico. Ya los grupos se reunían para empezar a ejecutar las ideas propuestas en días anteriores. Hubo un grupo de personas participando en un Test Day, donde realizaban una serie de pruebas a Firefox Accounts, una tecnología a incorporar en Firefox 29. Los resultados fueron buenos, pues se consiguió descubrir y reportar varios bugs a acomodar para la fecha final.
El resto de personas se unían a talleres por ejemplo, los miembros de MozEdu arreglaron la documentación, página, logos, entre otras cosas. En Social Raid definieron actividades y planificaron la ruta de tareas de los suscriptores. Otro grupo se encargó de definir las normativas de la comunidad, entre otras cosas.
Uno de los talleres en que participé fue en el de Mozilla Hispano Labs, cuya misión era definir un entorno de trabajo con toda la documentación necesaria para que cualquier persona (así no sea desarrollador) pudiese participar. Además de chequear repositorios no utilizados, asignar tareas de mantenimiento, entre otras cosas.
Taller de Mozilla Labs
Al final del día, cada equipo expuso el trabajo realizado y las tareas pendientes, se realizó una retrospectiva de todo el trabajo realizado en los últimos días, se asignaron tareas en el gestor de proyectos usados en la comunidad. Para en unas horas, cerrar con unas tapas y compartir un rato con el resto de la comunidad.
Fue una gran experiencia, me dí cuenta como a pesar del avance tecnológico para trabajar remotamente con gente ubicada en otras partes del mundo, no es comparable a que todas las personas estén físicamente en el mismo sitio (creo que se incrementa la productividad). Además, este tipo de eventos te permiten conocer personas de distintas culturas, mentalidades, creas nuevas amistades, aprendes sobre Mozilla y tecnologías web (en mi caso que suelo charlar con otros programadores) y sobre todo, llegas motivado a seguir colaborando en la comunidad porque ves que no estás solo, sino que mucha gente piensa igual 🙂 .
Meses atrás, tuve la oportunidad de participar en varias videoconferencias públicas con otros miembros de Mozilla Venezuela, para la promoción del lanzamiento de Firefox OS en el país. En cada una de ellas, hablamos de como funciona Firefox OS, sus aplicaciones mas importantes, las actualizaciones del sistema, como hacer aplicaciones, novedades, entre otras cosas.
Hasta los momentos tenemos 6 episodios, probablemente en unos meses regresemos con mas, pero mientras tanto, pueden ver a continuación el primero de ellos donde dimos una introducción a Firefox OS.