Nuevo producto: Minchador, sistema de reservas para restaurantes

Algunos ya lo sabéis. Aunque no le haya dado mucho bombo, no es ningún secreto que estoy trabajando en sacar un producto propio. Y a raíz de ello he pensado darle un poco más de vida al blog escribiendo sobre esta nueva aventurilla; principalmente porque me obligará a ordenar mis pensamientos, a hacer retrospectiva de aciertos y errores, vete a saber si también a alguien le puede servir de algún modo de aprendizaje (aunque las hostias propias enseñan más y mejor)... y si alguien me da algún tipo de feedback, ya perfecto :P.

El producto en cuestión se llama minchador. Y es una idea muy sencilla y poco original: un sistema de reservas para restaurantes.

Sí, sé que existe competencia, incluso creo que han habido proyectos/empresas con ideas muy similares que han cerrado... como en cualquier otro sector, supongo. Por supuesto que no se puede entrar a competir con proyectos con muchos más recursos con sus mismas armas, como pueden ser los directorios de restaurantes.com, eltenedor, pidemesa... que con mucha más financiación que la que yo puedo tener, parecen estar en una lucha por captar mucho tráfico, hacer más fuerza comercial llamando a restaurantes y hacer desarrollos más completos (¿complejos?).

Con este panorama (y que mi financiación es entre escasa e inexistente), está claro que hay que enfocarlo desde ya en aportar valor como para que clientes paguen por ello y salir a vender. Y no es por ir del palo Lean, buzzword con tanto hype en los últimos tiempos, es por pura necesidad.

La intención es que sea un producto diferenciado, a grandes rasgos y por orden de prioridad (totalmente subjetivo, por supuesto):

  • Simplicidad de uso tanto para los restaurantes como para sus clientes.
  • Widgets webs de los restaurantes y aplicación para páginas de facebook.
  • API para integraciones propias y de terceros.

Ahora mismo, son las 3 cosas en las que estoy trabajando, teniendo en cuenta también como se va a comercializar. Como podéis ver, pretende ser un servicio casi invisible para los clientes finales, y para los restaurantes un canal nuevo por el que recibir reservas, tratando de ser lo menos intrusivo posible a sus procesos actuales de gestión de reservas.
Por eso más a futuras me planteo cosas como desarrollar plugins para CMSs y demás hierbas, integraciones con servicios externos, posibilidad de crear webs tipo marca blanca para los restaurantes...

Hasta el momento tan sólo existe online una landing para registrarse a la beta, hecha con launchrock y una (mala) foto mía de una cena en un japonés hace la tira de tiempo; ya que por no tener, todavía no tengo logo, pero está de camino :).

Espero en un par de semanas tener una landing en condiciones y empezar la beta cerrada trabajando con muy pocos restaurantes, y poder ver así si el producto está correctamente enfocado o hay que cambiar ciertas cosas.

Por otro lado espero poder terminar de afinar el pricing (ya adelanto que, salvo giro inesperado, se cobrará por reserva) y empezar a hablar con algunos posibles distribuidores, porque ambas cosas están totalmente relacionadas.
Y cuando tenga estas dos cosas más cerradas, también escribiré sobre ello, por supuesto! :)

Tip: Arrancando RabbitMQ en Mac OS

He empezado a trastear con RabbitMQ, que hacía mucho que lo tenía entre ceja y ceja. La instalación en un servidor con ubuntu fue trivial, en unos minutos estaba instalado y en marcha, pero no fue así en mi Mac.

Tras instalarlo con homebrew no conseguía arrancarlo, me daba el siguiente error:

ERROR: epmd error for host "vodkalimon": address (unable to establish tcp connection)

Al parecer se intentaba conectar con mi máquina por su nombre (efectivamente se llama vodkalimon ;)), no por localhost o la ip de loopback.

La solución es muy simple, aunque a mi me costó un buen rato darme cuenta, que uno es un poco torpe para los sistemas.

Simplemente añadir en /private/etc/hosts el nombre de la máquina apuntando a la ip de loopback. Lo que a mi me ha quedado como algo así:


...
127.0.0.1 localhost
127.0.0.1 vodkalimon
255.255.255.255 broadcasthost
...

Y con esto, ya podemos arrancar normalmente RabbitMQ.

Disponible para contratación

Actualmente empiezo a tener de nuevo disponibilidad para trabajar en nuevos proyectos, por el momento únicamente de forma parcial, ya que estoy terminando mi colaboración en otro proyecto y estoy trabajando en un pequeño producto propio (del que algo escribiré próximamente).

Qué ofrezco

  • Desarrollo web, principalmente para la plataforma Java, normalmente con Groovy y Grails (en el pasado trabajé con cosas como Struts o JSF, pero comprenderéis que ya no me apetece). Puedo programar con Ruby (Rails o Sinatra), aunque debería refrescar mis conocimientos. También he hecho cosas con Python y PHP.
  • Unos 7 años desarrollando proyectos y productos web, principalmente para internet. En sectores de lo más variopinto: empleo, turismo, salud, ocio... Trabajando con equipos unas veces más multidisciplinares que otros.
  • Consultoría de producto. No me considero un product manager al uso, pero puedo ayudar a crear un mejor producto desde los puntos de vista de la tecnología, de la interfaz y del negocio.
  • Acostumbrado a trabajar con metodologías ágiles, usando buenas prácticas de programación y con orientación a los usuarios finales del producto.
  • Para los que quieran conocer con algo más de detalle mi trayectoria, tengo mi perfil en linkedin o mi CV en jobsket.

Qué busco

  • Algún proyecto/colaboración interesante a media jornada y de corta o media duración (de 1 a 6-7 meses). Me interesan especialmente los productos web dirigidos a internet.
  • Colaboración con un equipo existente al que le pueda aportar experiencia o me necesiten para un trabajo concreto. Pero con posibilidad de trabajar a distancia.
  • Desarrollo de algún prototipo de producto de nueva creación, lo que se viene nombrando en los últimos tiempo como un MVP. Pensando que en el futuro tenga continuidad y equipo propio, claro.
  • Que si hay que hacer reuniones físicas (las menos posibles), estando ya a cierta distancia, pueda desplazarme desde Zaragoza con tren (Madrid, Barcelona, Sevilla...). O bueno, si surge :), avión (Londres, Bruselas, París...)

En estos momentos, por compromisos con el proyecto que ando finiquitando, me resulta imposible trabajar físicamente en oficinas fuera de Zaragoza y/o a tiempo completo. Pero si a alguien le pudiera interesar contratarme en ese formato en el futuro, podemos hablarlo.

También tengo habladas ya posibles colaboraciones con algún proyecto que a priori no pinta mal, además con tecnologías que me gustan como son Ruby on Rails y Grails. Pero me apetecía explorar que tal escaparate es mi blog para recibir posibles proyectos.

Quien quiera contactar conmigo, mi email es:
dani (ARROBA) danilat (PUNTO) com

Y por favor, poned alguna referencia al post si contactáis conmigo :).

Resumen del Spring IO 2012 (muy resumido)

Bueno, pues os voy a contar un poco mis impresiones y las charlas a las que asistí en el Spring IO, aparte del taller que estuve impartiendo, claro :).

El primer día sólo asistí a unas pocas charlas, llegué un poco tarde y luego anduve pendiente de finiquitar el contenido de mi taller del segundo día. Deambulé por algunas charlas pero prefiero no nombrar ni valorar el contenido, principalmente porque de esas no me enteré más que de el título y quien era el ponente :D.

- El primer día asistí a:

  • Creación de plugins para Grails, con Juan Reyes. Que, aprovechando, sirvió para el que quiso como introducción teórica a mi taller del segundo día. Juan explicó como es la arquitectura de un plugin de Grails, hizo un ejemplo y remarcó las capacidades dinámicas de groovy y como utilizarlas para extender los artefactos de aplicaciones que utilicen esos plugins.
  • Vitaminas para tu proyecto Java, con Alberto Vilches. Donde se hacía uso de groovy escalonadamente en una aplicación Java a base de Servlets, JDBC... Para mostrar que hasta en esas aplicaciones se puede sacar partido al lenguaje groovy. Realmente me metí en el taller para tener una mesa cómoda donde trabajar en mi taller, pero principalmente me sirvió para darme cuenta que la wifi no tiraba y que debía reenfocar parte de mi taller por no tener wifi para descargar plugins de internet.
  • Using Grails in a Startup, con Tomás Lin. Donde nos compartió sus experiencias, problemas y recetas que les han ido surgiendo en Secret Scapes. Para mi, allí donde voy, suelen resultarme el tipo de charlas más enriquecedoras: problemas reales en un contexto y las soluciones a las que se han ido llegando.
  • Pilotando con Spock, con Ruben Eguiluz. Nos estuvo hablando del framework de testing Spock, ya le había pegado un ojo pero todavía tengo pendiente utilizarlo en algún proyecto. Por ahora sigo dándole a Groovy Unit Testing con sus extensiones para los artefactos de Grails y Groovy Mocks
  • Atlassian Party. Qué puedo decir: copazos, cervezas, sorteos y gente interesante con la que charlar, que siempre es lo mejor. Lo malo: creo que jamás me había ido tan pronto de una fiesta desde que tenía 14 años :D, de todos modos, un 10 para Atlassian.

- El segundo día, volví a llegar tarde y me quedé por los pasillos durante las charlas previas al café, pero tras mi taller y la comida asistí a:

  • Polyglot Grails, con Marcin Gryszko. Marcin expuso las posibilidades políglotas de Grails con otros lenguajes de la JVM usando sus respectivos plugins: Clojure, Scala y JRuby. Me pareció una charla interesante, pero se me hizo muy dura, cometí el error de no tomar el café después de comer y mi capacidad de atención terminó tendiendo a 0 XD.
  • Grails, opción real y escalable para sitios web de alta carga, con Domingo Suarez. Nos estuvo explicando acerca de clickonero, al parecer la plataforma ecommerce más grande de Latinoamérica, al estilo club de compras. También fue una de esas charlas en las que se explica la experiencia del trabajo y problemas dentro de una empresa de internet; tanto desarrollando nuevas funcionalidades como manteniendo un alto tráfico en sus servidores.
  • Aplicando elasticidad en la búsqueda con Grails, con Enrique Medina, el pobre de nuevo cerrando con la última charla. Que estuvo hablando de Elastic Search, que es un proyecto que desde que apareció he tenido a la vista como alternativa (aparentemente) más ligera que solr para búsquedas full-text sin tener que "bajar" a lucene. Personalmente, no me decepcionó para nada. Seguramente para el próximo proyecto que necesite búsquedas full-text, elegiré esa solución.
  • Cervezas de despedida, cortesía de Zero Turnaround. Para mi que tenía que volver a Zaragoza en el último AVE, fueron más bien pocas.

Me he perdido cantidad de charlas y talleres, me ha gustado bastante el contenido y forma de casi todo lo que pude atender. Para mi gusto, las más destacables fueron las de Tomás Lin y Domingo Suárez.

Y pienso que posiblemente vaya a ser la última vez que proponga un taller para un evento. Me lleva más o menos el mismo trabajo que preparar una presentación en condiciones. Me evito dolores de cabeza con temas logísticos del tipo a la conexión a internet, versiones de las instalaciones de los asistentes... Y también pienso que viste menos que una charla.

En fin, hasta la de 2013!

PD: Agradecimientos a Yurena, Tana y Yeray por acercarme hasta atocha desde Boadilla el viernes. Mucho más rápido que el metro y, una compañía y conversación difícilmente mejorable la del comando muyayo :).

Presentación y código: Modulariza tus aplicaciones Grails

Sobre el taller que impartí el viernes en el Spring IO, el código está en mi cuenta de github y la presentación la he subido a mi cuenta en slideshare.

En resumen, en el taller trabajamos sobre una pequeña aplicación que es un pequeño gestor de contenidos, donde se puede categorizar el contenido y asociarle varias imágenes.

El ejercicio era sacar la funcionalidad completa de subida de fotos a un plugin. Esto es: Clase de dominio, controlador y vistas.

A ver si esta semana escribo con calma sobre las charlas que asistí y el evento en general, pero no prometo nada :P.