La introducción al proyecto ULUland
jueves diciembre 25th, 2008 por miguelSantirsoLa memoria que tuvimos que hacer para presentar ULUland como Proyecto Fin de Carrera nos llevó un montón de tiempo, como podréis imaginar. Y, bueno, “ya que tal” aprovecharé e iré poniendo aquí las partes más interesantes.
Sabíamos que la introducción era la parte que iba a leer todo el mundo, así que nos esmeramos con ella. Debimos hacerlo más o menos bien porque mucha gente nos comentó que le había gustado mucho… A ver qué os parece:
El proyecto, de un vistazo
El Contexto
La web es el futuro.
Durante la última década, el mundo de la informática ha cambiado completamente debido a la rapidísima evolución de la mayor y más eficaz red de comunicaciones jamás creada: Internet. Esta evolución está haciendo que cada vez sea más difícil delimitar la barrera entre las clásicas aplicaciones de escritorio y las modernas aplicaciones web sociales. Hoy en día, parece tener poco sentido desarrollar software fuera de este sistema operativo global, que cuenta con casi 1500 millones de usuarios en todo el mundo y que crece a un ritmo imparable.
Es en este contexto en el que se sitúa este proyecto, con la ambiciosa pretensión de innovar y destacar entre el infinito mar de aplicaciones que pretenden lo mismo.
La Idea
Desde que el ancho de banda de las conexiones a internet lo ha permitido, los portales de juegos flash han gozado de gran éxito. Datos actuales (año 2008) indican que más del 25% de usuarios de internet en todo el mundo juegan en estos portales, lo que asciende a más de 300 millones de personas. Sin duda, se trata de un mercado amplio.
Por otro lado, durante estos dos últimos años, se han consolidado un nuevo tipo de aplicaciones web: Las redes sociales. La característica común de estas redes es que permiten a sus usuarios relacionarse entre sí, consiguiendo mantener en contacto a amplísimos grupos de personas que de otra forma apenas mantendrían una relación.
Después de que aparecieran las primeras redes sociales generalistas, recientemente han ido apareciendo algunas que prefieren centrarse en un grupo de usuarios con algo en común. Son las redes sociales verticales, y muchos afirman ya sin tapujos que acabarán imponiéndose a las ahora enormes redes sociales horizontales.
Una fusión de éxito
A la vista de esta situación, surgió la idea del proyecto, que consiste básicamente en combinar estas dos fórmulas de éxito: El proyecto consiste en un portal de juegos flash al que se dotará de todas las funcionalidades de una red social vertical para los propios jugadores.
A pesar de ser una idea novedosa, no ha sido difícil llegar a concretar la idea de forma más precisa… Todo parecía encajar perfectamente.
Características tomadas de los portales de juegos flash:
- Gran variedad de juegos que se actualizan periódicamente
- Clasificación de juegos por temáticas
- Búsqueda de juegos
Características tomadas de las redes sociales verticales:
- Relaciones de amistad entre los usuarios
- Comunicación entre los usuarios
- Creación de grupos
- Personalización de un personaje que les representa en el sistema
- Aporte de contenidos (comentarios, puntuaciones, etc…)
Además, enseguida se vio que al combinar las dos ideas se podían añadir nuevas funcionalidades que resultan muy innovadoras y atractivas para los usuarios:
- Sistema de máximas puntuaciones en los juegos asociadas a cada usuario
- Competiciones entre los jugadores
- Registro de estadísticas de juego
- Recomendaciones personalizadas de juegos según sus gustos
Todas estas características hacen por sí solas que este sea un proyecto innovador y objetivamente destacable ya que, en conjunto, consiguen crear una experiencia de juego más gratificante para los usuarios. Aún así, durante el primer mes de desarrollo, surgió una idea que ha dotado al proyecto de una característica que encaja perfectamente con la filosofía “2.0″ del proyecto y que lo sitúa entre uno de los pioneros en este campo a nivel mundial:
Los juegos pueden ser añadidos por los propios desarrolladores
Igual que en YouTube, pero con juegos.
El funcionamiento en este aspecto de todos los portales de juegos flash hasta ahora venía siendo el mismo: Los juegos eran añadidos por los administradores del sistema de forma manual. Como mucho disponían de un formulario o una dirección de email a la que enviar la información de los juegos que querías que añadieran.
Este proyecto se ha desarrollado de tal forma que permite que los propios desarrolladores del juego flash suban sus creaciones al sistema de forma sencilla, evitando así el tedioso proceso que es necesario en otros portales antiguos.
Además, se ha desarrollado una API abierta para que los desarrolladores puedan comunicarse con el sistema, accediendo a cierta información de los jugadores y enviando datos y estadísticas sobre sus partidas.
Esta funcionalidad, a pesar de no ser excesivamente compleja de implementar, solo está funcionando en unos pocos portales de juegos flash de muy reciente creación.
El Desarrollo
El desarrollo de este Proyecto Fin de Carrera ha sido muy parecido a un viaje: Comenzamos hace aproximadamente un año, con poquísima experiencia en el campo del desarrollo web, pero con muchas ganas y sabiendo que estábamos en el camino correcto, desarrollando una aplicación actual, novedosa y que podría funcionar (y de hecho está funcionando) de forma real.
La primera versión del sistema la hicimos utilizando Ruby On Rails. En aquel momento estábamos valorando las alternativas (esto se describe con más detalle en el EVS), y teníamos mucha curiosidad por este framework. Sin embargo, enseguida descubrimos que también tenía algunas pegas, y principalmente nos dimos cuenta de que el uso de esta tecnología nos iba a dificultar bastante el poner en funcionamiento real el sistema, ya que los servidores que soportan Ruby On Rails son más escasos y caros.
Con una pequeña decepción, pasamos a probar PHP sin ningún tipo de soporte tecnológico adicional. Probamos durante algunas semanas, pero nos había gustado la filosofía de Rails y, después de investigar bastante, encontramos el framework symfony, que era definido por muchos como el Rails para PHP.
Al poco tiempo nos dimos cuenta de que esta había sido una excelente decisión: La documentación era muy buena y completa, la comunidad enorme y el funcionamiento del mismo resultó ser fiable y robusto. Aún así, tardamos algún tiempo en llegar a dominar todas las características de esta tecnología.
Pasada esta fase de adaptación a symfony, el desarrollo empezó a coger mucha velocidad. Cada vez nos encontrábamos más cómodos, llegando a utilizar las funciones más avanzadas de symfony y PHP, llegando incluso a extender y modificar su funcionamiento predeterminado o a crear un plugin para el framework que ahora está en el repositorio oficial.
Trabajo en equipo
Uno de los elementos que más han influido en los métodos de trabajo utilizados durante el desarrollo es que el proyecto ha sido desarrollado entre dos personas. Como es lógico, ha añadido un grado más de dificultad en términos de organización del trabajo, planificación, coordinación, etc…
Siendo conscientes desde el principio de este riesgo, hemos realizado un gran esfuerzo para seguir siempre las mejores prácticas, aprovechándonos de las múltiples herramientas que existen en el área de gestión de equipos.
En el Estudio de Viabilidad del Sistema se describen con más detalle todas las herramientas utilizadas y sus funciones, pero en la siguiente lista se puede encontrar un resumen que ofrece una visión global de la metodología utilizada:
Control de versiones: Subversion
Dado que los dos hemos trabajado sobre el mismo código, ha sido totalmente imprescindible usar un sistema de control de versiones para el código. Subversion ha sido el sistema elegido ya que es un estándar en la actualidad, lo conocíamos de antes y, además, se integraba perfectamente con el sistema de gestión de proyectos que queríamos usar (Trac).
Gestión del proyecto: Trac
Trac es un sistema de gestión de proyectos muy sencillo, pero que ofrece una enorme flexibilidad y comodidad para gestionar proyectos de tamaño pequeño o medio. Gracias a este sistema pudimos organizar el trabajo en milestones y en tareas de más o menos prioridad.
Otro punto fuerte de este sistema es que pudimos sincronizarlo fácilmente con el servidor de Subversion, lo que supuso una gran comodidad para seguir el progreso del proyecto en tiempo real.
Sincronización de documentos: MS Office Live
Dado que hemos utilizado siempre software de la familia Microsoft Office para la creación de los documentos, la opción natural para mantenerlos sincronizados ha sido la aplicación online Office Live, de Microsoft. Gracias a ella hemos podido mantener todos los documentos sincronizados de forma cómoda y eficaz.
Un proyecto real
Desde el primer momento, una de las principales motivaciones para realizar este esfuerzo en el proyecto fue el convencimiento de que podría convertirse en un proyecto real, de relativo éxito en internet e, incluso, viable económicamente.
La confirmación de que esto no era una ilusión llegó en junio, cuando el proyecto fue seleccionado entre más de 70 proyectos a nivel europeo para participar en la iniciativa SeedRocket, un campus de emprendedores organizado por 14 empresarios de éxito dentro de la industria web española.
El evento se desarrolló en Barcelona durante unos diez días, y en ese tiempo convivimos con otros trece equipos que presentaban sus respectivos proyectos. Como experiencia ha sido algo irrepetible, y pudimos adquirir allí una experiencia y unos conocimientos que nos habría costado años obtener de otra forma.
Este hecho supuso sin duda un cambio importante en la forma en que vemos el proyecto, ya que allí nos ayudaron a ver que estábamos trabajando en una buena idea y que, con algo de suerte, podría llegar a funcionar.




sábado diciembre 27th, 2008; 09:35
Demasiada redacción marketiniana e impregnado de ego para un PFC, me parece a mí.
¿Dónde quedó la parte de investigación y el ambiente académico? Parece una memoria para presentarlo a los inversores de turno (y aún así, demasiado ego, ya digo)
domingo diciembre 28th, 2008; 01:06
Hola Mestre,
esto que has leído es solo la introducción; que debe ser de unas 10 páginas y que tiene como objetivo “vender” el proyecto al tribunal. En las otras 300 páginas hubo sitio de sobra para la investigación y el “ambiente académico”. Quizás no entendiste cuál era la finalidad de esta introducción y por eso no lo pudiste entender en su contexto, pero tanto los miembros del tribunal como nuestro director del proyecto nos felicitaron específicamente por esta introducción.
Y sobre lo del ego… Me sorprende, pero no me molesta. En todas las presentaciones que hemos hecho (ante inversores o ante académicos) nos han dicho que pecamos de modestos y sinceros. Nos han repetido muchas veces que tenemos que “vendernos más”. En cualquier caso, insisto en que me sorprende porque casi todo el texto está dedicado a explicar lo que queremos hacer, nunca lo que hemos hecho. Y espero que entiendas que cuando nos propongamos objetivos no nos limitemos a nosotros mismos, solo por no pasarnos de ego.
Nada más xD. Y, oye, no creas que parece mal que nos critiques, eh. Ojalá todo el mundo fuera así de sincero con nosotros… ¡Y gracias por leerte el texto!