jueves, 20 de diciembre de 2012

Hackaton en BlackBerry Jam Session Madrid

El sábado 15 estuve en el hackathon que organizó RIM en Madrid para cerrar el tour de los BlackBerry Jam Sessions 2012 por España. Fue una jornada intensa al final de la cual nuestro equipo logró terminar la aplicación y ponerla a funcionar en un BlackBerry 10 Dev Alfa.

Nuestro equipo, en el hackathon del BlackBerry Jam Session en Madrid

El equipo


Teniendo en cuenta que el margen de tiempo para desarrollar la aplicación era de 10 horas, habría sido más simple que cada uno intentara hacer algo sencillo de forma individual o en parejas; pero decidimos ir en equipo e intentar hacer un sistema entre todos, a pesar de la complejidad añadida. De modo que nos apuntamos cinco personas: cuatro para el desarrollo y una para el diseño.

Debido a que el grupo era muy heterogéneo, con diferentes grados de experiencia en el desarrollo móvil, terminamos repartiéndonos las áreas de trabajo y entonces, dentro de estas, cada uno asumiría a su ritmo las tareas que más cómodas le resultaran.

La planificación


El martes, por la noche, dedicamos una hora a decidir qué producto haríamos, la tecnología de desarrollo, el sistema de control de código fuente, nomenclatura para los identificadores y el sistema de trabajo. Luego de analizarlo, acordamos que usaríamos Java con el Runtime de Android, como plataforma de desarrollo y SVN, como sistema de control de código fuente.

Al terminar, concertamos un experimento para el jueves en el que haríamos uso de las herramientas, creando un proyecto simple que se hospedaría en el hosting de SVN, al que cada uno debería integrarle un layout  vacío, con su respectiva activy, de modo que todos verificáramos que nuestros entornos estaban preparados para trabajar en equipo.

El jueves, entre las distintas versiones del SDK, las distintas versiones de Eclipse y las distintas formas de trabajar con el SVN, lo que parecía que iba a ser corto, terminó siendo una jornada nocturna de varias horas, porque comenzamos a descubrir varios detalles que, de no haberlos tratado ese día, nos habrían arruinado el hackathon. No obstante, al final del ensayo, terminamos todos con nuestros entornos a punto para el maratón de programación del sábado.

El hackathon


El sábado nos reunimos en las instalaciones de garAJE y a las 10, luego de una pequeña introducción de 30 minutos, ya estábamos comenzando nuestro producto.

Lo primero fue crear un proyecto nuevo de Android, con las 6 activities y los layouts que llevaría la aplicación para partir de una base común de estructura y nombres. Luego, creamos un proyecto en Google Code y subimos el proyecto de Android. Acto seguido, coordinamos con qué se pondría a trabajar cada cuál y nos pusimos con ello.

La jornada fue intensa. No paramos hasta que llegó la hora de las pizzas; no obstante, la pausa fue corta: comer, beber y volver al trabajo. Y no es que 10 horas sean mucho, pero si era mucho el estrés de saber que en esas 10 horas debías empezar y terminar un proyecto en el que debían coordinarse 5 personas que antes de esa semana no habían trabajado nunca juntas.

Durante el desarrollo utilizamos móviles con Android para depurar la aplicación, pero para las 7 PM ya había llegado la hora de reempaquetar y firmar la aplicación para probarla en el BlackBerry 10 Dev Alfa que me habían obsequiado en un evento anterior de BlackBerry. Un rato antes habían pasado por las mesas, ofreciendo RedBulls y, entre la cafeína y la tensión de saberse cerca de la hora límite, esa última hora fue la más absorbente de todas: no veía a nadie, no escuchaba a nadie, salvo al equipo apurando los últimos minutos, frenético, intercambiando orientaciones y reclamos.

A última hora el plugin de BlackBerry para Eclipse no se instaló, fallando el proceso de instalación en la versión del Eclipse incluida en el ADT-bundle. No obstante, pudimos firmar y empaquetar gracias a la versión online de la herramienta; y cuando faltaban un par de minutos para nuestro turno de exposición del proyecto, hicimos el deploy del .bar con el instalador reempaquetado, gracias al plugin de Chrome PlayBook App Manager. Unos segundos después, nos llamaban al frente, para exponer nuestro proyecto.

Después de la exposición y responder a las preguntas, todo pareció volver a la normalidad: otra vez se escuchaban las voces de los demás equipos y el lugar pareció llenarse de personas.

¡Habíamos terminado el software y lo habíamos echado a andar en un dispositivo con BlackBerry 10!

Qué nos quedó


Splash screen de TrafficBB
Luego de la paliza del hackathon, nos quedó la experiencia y la satisfacción de lograr lo que fuimos buscando: trabajo en equipo capaz de generar software funcional, en muy poco tiempo.

Por supuesto, también nos quedó el software, un producto muy sencillo pero que consideramos útil y que, por tanto, publicaremos en las tiendas de aplicaciones de BlackBerry y Google, luego de testearlo en profundidad y pulir los detalles que aparezcan, por supuesto.

El producto (TrafficBB) es una aplicación para el aprendizaje de las señales de tránsito con una colección de las señales oficiales, según la Dirección General de Tráfico, y un área de auto evaluación con preguntas de selección múltiple para poner a prueba nuestros conocimientos.

De modo que, además de la experiencia nos ha quedado nuestra primera aplicación para el nuevo sistema operativo de RIM: el BlackBerry 10.