Minchador.com en beta cerrada

No es ninguna noticia, ya hace un par de meses que empecé a enviar invitaciones a los pre-registrados a minchador y a lo que le di un poquito de bombo por twitter pero sobre lo que no había escrito.

La fase alpha

Previamente a darles acceso a los primeros usuarios me dediqué a hacer algunas demos de la versión pre-alpha y más entrevistas a un par de hosteleros de confianza, para escuchar sus ideas y propuestas. Mi idea nunca ha sido hacer una aplicación a medida para un restaurante en concreto, pero algunas de esas propuestas y necesidades me hiceron pensar en soluciones algo más genéricas para resolver ciertos escenarios y problemáticas.

Pienso que es una práctica muy recomendable mostrar una versión temprana de tu producto a tus potenciales clientes y recoger su feedback, pero ojo con confundirlo con hacer una solución ad hoc a las necesidades de esos potenciales clientes.

La fase beta cerrada

Hablando ya sobre la beta cerrada, la mayoría de los usuarios que hicieron caso al email de registro (a día de hoy 24 de 94, una cuarta parte) hicieron lo que esperaba: se dieron de alta, entraron, navegaron un poco por la aplicación web, como mucho alguna reserva de prueba y se fueron.

Algunos por suerte me dejaron feedback de errores y gazapos que no tenía controlados, no hay nada mejor que gente usando tu software para darte cuenta de lo descuidado que has sido, además me ayudó a darme cuenta de un par de pequeñas funcionalidades necesarias en las que no había caído. También algunos amigos que saben mucho de esto de crear productos en internet, me dieron algunos consejos y opiniones de esos que siempre son bienvenidos.

Además, unos pocos de los usuarios dados de alta son restaurantes, de los cuales un par de ellos ya lo están usando y recibiendo reservas: Brasería Les Caves en Calella y Letras de Laurel de Logroño. Eso ha significado mucho y muy buen feedback que ha ayudado a madurar y mejorar el producto al haber surgido algunos problemas en situaciones reales con clientes reales.

La situación actual es que es un producto que ya hace su función en un contexto real, pero posiblemente la beta cerrada todavía se alargue unos meses más. Podría decir que la razón es que necesito algunos restaurantes más para ver si necesita más mejoras y terminar de cerrar el pricing, pero la realidad es que es más una cuestión de que ando con otros proyectos entre manos, y esto no me permiten darle la dedicación necesaria para terminar de lanzarlo en condiciones. Vamos, la misma razón por la que me ha costado tanto tiempo conseguir tenerlo en este punto :P.

De vuelta del Greach 2013

Este viernes 25 y sábado 26 de Enero se ha celebrado en Madrid el segundo Greach, el evento en España centrado exclusivamente en Groovy y su ecosistema, donde nos hemos juntado buena parte de la comunidad gracias al trabajo de Alberto Vilches en su organización.

[caption id="" align="aligncenter" width="340"] Asistentes al Greach 2013, foto de @jerolba[/caption]

Tuve la oportunidad de volver a participar como ponente en esta edición al aceptarme la propuesta de charla que llamé Testing en proyectos Grails del día a día, que como nombre era menos feo que Testing como lo hago yo. En la que pretendía centrarme, más que en las herramientas de testing en sí y en sus posibilidades (acerca de lo que ya se iba a hablar en otras charlas), en como practico yo el testing en mis proyectos y como les saco partido a esas herramientas.

No me veo capaz de hacer un resumen exaustivo de las charlas a las que asistí, además fueron grabadas y las podréis ver en cuanto las publiquen (pronto), pero estas fueron a las que asistí:

Al acabar las sesiones del primer día Escuela de Groovy - Salenda invitaban a cervezas en un bar cercano, y uno es educado y no rechaza una invitación así ;). Después un poco de tapeo con buena gente de la Zona Norte no muy lejos de Preciados y no muy tarde de vuelta al hotel a descansar.

En el segundo día:

[caption id="" align="aligncenter" width="306"] @jorgeuriarte en Greach 2013[/caption]

Sobre el contenido de las charlas: Aunque en ocasiones algunas me sobrepasaban por la mezcla de mi dificultad para seguir algunas charlas en inglés y el tratamiento de temas en los que no he profundizado, en otras por el contrario me quedé con las ganas de que se profundizara algo más y en unas pocas eché en falta algo más de sentido práctico; salí bastante satisfecho de casi todas a las que asistí. También me quedé con las ganas de haber asistido a otras charlas que pintaban muy bien, tocará verlas en video.

Sobre mi charla: Soy totalmente consciente de que no ha sido ni mucho menos una de las mejores charlas que haya hecho últimamente, tenía claro que mensaje quería dar desde que propuse la charla, pero no cómo hacerlo. Aún tras haberle dado muchas vueltas a la presentación, seguía sin convencerme totalmente, y eso (junto a mi archienemigo en las presentaciones: el micrófono de mano :)) me hizo empezar con unos nervios y presión que no sentía desde cuando hacía mis primeras charlas. Luego poco a poco me calmé, remonté y empecé a comunicar mejor, pero desde luego que no me quedé para nada satisfecho con el resultado; espero que algunas de ideas hicieran mella y sirviera de utilidad a los que asistieron.

Sobre el lugar: Me pareció un acierto el que fuera en el centro de Madrid, para los que venimos de fuera es mucho más atractivo y facilmente accesible en transporte público, además de la comodidad de comer en el mismo hotel. Por poner un par de pegas, los contras para mi fueron los pequeños atascos en los ascensores para cambiar de sala, aunque había bastante tiempo entre charlas que lo compensaban, y principalmente que en una de las salas, por su disposición, las líneas de abajo de algunas proyecciones no se veía bien desde el fondo (terminé de pie en varias ocasiones por ello) y que su acústica era bastante mejorable.

Algunas pequeñas impresiones que me llevo:

  • Ya hay un buen puñado de proyectos de entidad que utilizan grails en españa, para los que aún creen que no es una herramienta "seria"
  • Seguimos siendo una comunidad muy pequeñita, con 2-3 focos geográficos donde hay más desarrolladores utilizando estas tecnologías, pero muchos estamos un tanto aislados
  • Spock definitivamente está empezando a ser (o está ya siendo) el framework de testing más utilizado, de 5 charlas de testing 4 tocaron (tocamos) este framework
  • Creciente interés por arquitecturas orientadas a eventos/asíncronas (vert.x, el roadmap de grails, algunos plugins...)
  • Me pareció muy interesante que se intentara internacionalizar con la mayoría de charlas en inglés, creo que es un camino a seguir para tratar de atraer a más público europeo

Por cierto, hay un buen puñado de fotos del greach en el evento de google plus, y un resumen del movimiento en twitter, slidesahre y demás en eventifier.

Repasando mi 2012

Bueno, pues es último día del año, intentaré resumir un poco mi año y repasar los objetivos que me puse el año pasado.

  • Hablando sobre mis trabajos como freelance ya hice una reflexión hace poco, sobre las cosas que había hecho mal o no me habían salido muy bien y quería (y he empezado) a cambiar.

    Pero también han habido cosas positivas este 2012: La mayoría de clientes este año han sido de fuera de Aragón, veo positivo que vengan a buscar más clientes foranos mis servicios, sobre todo este final de año. He visto que puedo potenciar como línea de negocio mis conocimientos de scrapping, sin hacerlo me han llegado un par clientes los últimos meses; que aunque es un trabajo poco agradecido, cada vez lo hago mejor y tengo más recursos para hacerlo con éxito. Y el último par de meses está prometiendo un 2013 la mar de interesante.
  • Respecto a producto propio, he estado trabajando en Minchador. No ha llegado al nivel de madurez que esperaba a estas alturas, pero el trabajo a clientes me ha ahogado durante meses y no le he podido dedicar la atención y cariño que merecía para tenerlo en abierto. De todos modos, conseguí lanzar una beta cerrada que me dio un feedback interesante y detecté algunas mejoras que debo implementar antes de dar acceso a más posibles clientes.
  • Creo que trabajo mejor, he sido más auto-exigente conmigo mismo, y seguiré siéndolo. Pero todavía debo venderme mucho mejor.
  • He lanzado varios sideprojects como VandalArt y SpotyWhere, he hecho pequeños cambios y actualizaciones en la versión web de DNDzgz, otro par de proyectitos están a medio camino de salir al público y no he trabajado lo suficiente en tratar de evolucionar y mejorar ElDisparate (encontré varios periodistas interesados en colaborar, pero no saqué el tiempo que debería).
  • He seguido participando activamente en CachiruloValley. Ayudando a organizar eventos e intentando que la comunidad vaya madurando. Incluso me metí en un lío montando un grupo de trabajo para lanzar un proyecto en internet, que pronto haremos público. Por otro lado he seguido apoyando y participando desde segunda línea con el grupo Agile Aragón, en cosas como el AOS2012 y el Coderetreat.
  • También he participado como ponente en algunos eventos: Spring IO, previo al AOS, en un betabeers sobre ElDisparate y una charla introductoria a Agile en la Universidad de Zaragoza. Y además fui a un Open Space a Valencia sobre código como expresión
  • Apenas he viajado más allá de visitar clientes. Nunca he sido muy viajero, pero algunas escapadas siempre he hecho. Este año tuve pocas vacaciones, y en el pueblo.
  • Mi inglés sigue siendo de risa.

Mis objetivos para 2013:

  • Lanzar y hacer rentable Minchador, para poder centrarme mucho más en trabajar en productos propios y menos dar servicios de desarrollo a terceros.
  • Poder lanzar, aunque sea algo muy pequeño, un producto futbolero que tenemos hablado con Pablo Jimeno.
  • Irme unos días/semanas a trabajar mano a mano con algún equipo en alguna ciudad diferente, y quizás hacer desksurfing en alguna empresa amiga.
  • Mejorar mis habilidades en lo que tiene que ver con la parte frontend del desarrollo web. Y seguir profundizando en temas relacionados al diseño.

Tengo cosas que, sin ser objetivos, me gustaría o no descarto hacer: impartir formación sobre un par de temas que vengo un tiempo dando vueltas, hacer algo relacionado con comercio electrónico con recursos propios, lanzar algún otro pequeño proyecto personal... Y bueno, lo típico de tratar de contar más cosas aquí en el blog :P.

Nos vemos. Feliz an nou!

Facilitando en el Global Day of Coderetreat

El 8 de diciembre se celebraba el Global Day of Coderetreat, un evento a nivel mundial en el que en cada ciudad que se une se organiza un coderetreat. En Zaragoza se organizaba desde Agile Aragón, el principal responsable de ello fue Fernando Pérez. Y, de rebote, al final me tocó a mi ejercer como facilitador.

Para mi era un poco marronazo el hacerlo. Aparte de no haber facilitado nunca antes, tan sólo había asistido a uno hace ya un par de años y a 2 coding dojos. Tampoco soy muy dado a hacer katas sin hacerlo junto a otra persona.

Tuve una semana previa apretadilla, pero saqué tiempo para poder volver a practicar un poco la kata del juego de la vida y empaparme de los recursos para facilitadores para ir un poco más preparado. Yo terminé el día relativamente satisfecho (y agotado), quizás porque al final que los asistentes le saquen el máximo partido al día depende de ellos mismos, de sus iteraciones, sus parejas de baile en cada una de ellas y su actitud. Yo me limité a introducir algunas variaciones y restricciones para ir complicándolo y darles otros puntos de vista para tratar de hacerlo más ameno.

Por lo que sabía, en principio habían algo más de 30 personas apuntadas, de las cuales terminaron asistiendo un total de 25 personas (si no conté mal), lo que no está nada mal para un sábado en mitad de un puente ¿no?. Antes de empezar, acumulamos fuerzas con un desayuno patrocinado por la gente de keensoft mientras llegaban todos los asistentes al BSSC.

null

Tras ello mostré rápidamente un par de videos sobre el Global Day of Coderetreat, y posteriormente pedí que cada uno se presentara brevemente para explicar a qué se dedicaba y con qué lenguajes solía trabajar, así cada uno pudiera fichar con quien quería "aparearse" durante el día :).

Al final hicimos 6 iteraciones de 45 minutos:

  • La primera libre para familiarizarse con el problema, para calentar un poco el cerebro :)
  • En la segunda propuse que se tratara de empezar a practicar Test First, o al menos hacer Tests. En la anterior ya mucha gente empezó al menos haciendo tests, por lo que propuse que todas las parejas lo hicieran ya. Y también que se pensara en empezar a solucionar las reglas una a una y no de golpe.
  • En la tercera insistí en tratar de hacer TDD, que buscaran el hacer antes el test siguiendo el flow de rojo, verde, refactoring. Y prohibí hacer el tablero/grid en los primeros 20-30 minutos de la iteración.
  • Para la cuarta, con la modorra después de comer y viendo que la gente tenía la mecánica de hacer tests antes de la implementación, propuse que se practicara pair programming en ping pong. Eso es que: Foo escribe un test, Bar la implementación, una vez implementado (y refactorizado) Bar escribe el siguente test y Foo la implementación... y así hasta el infinito, o acabar :).
  • Para la quinta puse la restricción de que los métodos no debían tener más de 4 líneas de código. Además, justo en mitad de la iteración, hice un pequeño experimento haciendo un cambio de parejas. Alguien de la pareja se quedaba con el código la otra persona tenía que incorporarse a lo que hubiera adelantado otra pareja. Fue curioso ver que durante varios minutos las parejas hablaban para saber qué se había hecho y nadie tiraba una línea de código :P.
  • En la sexta y última iteración sólo tenía pensado poner una restricción, que no hubieran flags y así forzar a tener que usar polimorfismo. Al ser la última no quería proponer nada más, que la gente procurara aplicar lo aprendido durante el día pero forzando a darle un enfoque un poco diferente.

Entre medias de las sesiones surgieron temas como los magic numbers, la dificultad de encontrar buenos nombres a métodos o variables, la expresividad del código, las bondades del testing o el pair programming, encapsulación, orientación a objetos...

En cuanto a lenguajes, aunque había predominio de Java y C#, se utilizaron un buen puñado. Si no me dejo ninguno: Python, Groovy, Javascript, Objective-C, C++, PHP y algunos aventureros probaron TypeScript. No fue así, pero esperaba que en algún momento se hubiera animado alguien a alguna iteración con Ruby, o incluso con CoffeeScript :P.

Al final del día hicimos lo que llaman cerrar el círculo, cada persona tenía que hacerse (en alto) tres preguntas y compartirlo con el grupo: ¿qué has aprendido hoy?, ¿que te ha sorprendido hoy?, ¿que vas a hacer diferente a partir de hoy?. Personalmente, como otros también compartieron cerrando el círculo, me quedó la espinita clavada de quienes no veían posible aplicar en sus trabajos diarios las cosas de practicadas durante el día. No sé, no creo que sea fácil desde abajo imponer según que prácticas a una organización de golpe, pero hay pequeñas cosas que pienso que sí se pueden intentar para que las empresas empiecen a ser más receptivas para hacer las cosas de otra forma; pero esto es otro tema :P.

Como curiosidades, tuvimos una partida en el futbolín del BSSC lista desde primera de la mañana y ni nos acordamos de jugar al menos un par de bolas. Además en Zaragoza teníamos un bonus, Francho trajo un pequeño tirador de cerveza que fue la sensación del día, puro Beer Driven Development de la que final del día no quedó ni gota ;).

Para terminar el día, antes de recoger la sala e irnos de cañas, conectamos por hangout con el Coderetreat de Madrid; nos saludamos y estuvimos charlando un poco de como habíamos pasado el día. Fue el momento en el que se hizo patente que la estrella del día fue el tirador de cerveza :D.

En definitiva, creo que fue un buen día, yo terminé agotado del fin de semana y con mono de no poder haberme apareado para hacer la kata :P.