El texto de éste post pertenece a una pseudo entrevista que le hice a Pau, de Trividuel, la cual tenía como objetivo no solo hablar del juego, sino del desarrollo del mismo, algo que resulta incluso mas interesante que el propio juego.
UPDATE: Trividuel parece haber desaparecido en el ciberespacio.
¿De qué trata Trividuel?
Trividuel es un juego de preguntas y respuestas con componentes sociales donde vas a poder jugar con tus amigos. Acertando preguntas en el menor tiempo posible te va a permitir ganar puntos y colocarte el primero en el ranking de usuarios mensual, lo cual es francamente complicado, hehe.
Logo de Trividuel
La parte técnica
Trividuel está hecho con PHP , la librería Zend Framework y bastante Javascript (con jQuery) que gestiona el juego en sí. El diseño es completamente hecho por mí (basándome en el de foursquare.com).
Fuera de Zend, también tenemos algunas partes de código algo más complejas, como por ejemplo el auto-categorizador de preguntas, que es un componente que acepta un string de texto como input y te devuelve una categoría sugerida para ese texto. El auto-categorizador implementa el algoritmo Naive Bayes, muy popular en IA y Datamining.
Nace la idea de hacer el proyecto
La idea original fue de Mike, mi mejor amigo, el cual nos conocemos y andamos juntos desde el instituto. Él desarrolló una primera versión de doonish hace muchos años y la llamó Ask and Answer. La idea a mi me encantó y siempre le decía que deberíamos volver a desarrollarlo juntos, que triunfaría, y bueno al final lo conseguí convencer y nos pusimos manos a la obra con lo que hoy es doonish. La primera versión la desarrollamos en 6 noches de trabajo. Era muy simple pero ya funcional y siempre con la idea de tener un producto al que poder ir añadiendo mejoras poco a poco.
La conformación del equipo
Inicialmente empezamos Mike y yo (como ya dije arriba), pero eventualmente se unieron nuevos socios que aportaron grandísimas ideas de mejora para la mecánica del juego y para el desarrollo del negocio. Podéis ver el listado casi completo en la página del equipo. Falta Esteve, que se ha incorporado con nosotros hace dos semanas (y que lo tenemos añadido en la página de equipo en el entorno de staging).
Cuando entró el nuevo grupo de socios decidimos cambiar el nombre del proyecto por motivos marketing. Pasamos de llamarle “doonish” a llamarlo “Trividuel”, su nombre actual.
Herramientas que usaron para el desarrollo (incluyendo lenguaje y frameworks)
De lenguajes ya hablé anteriormente, así que me centro en otras herramientas útiles que hemos usado.
Además de MySQL, usamos Redis para guardar algunos datos puntuales y de carácter más temporal (o pre-procesados). Usamos un gran conjunto de nuevas herramientas / librerías que han salido para PHP, como composer, Pimple, monolog, predis, algunos componentes de Symfony 2 como el parser de yaml, switfmailer, twig y silex.
La arquitectura de la aplicación es sencilla, pero contiene algunos componentes especializados separados de lo que es el framework principal. Seguir leyendo »