Crystal Reversi, gratis para iPhone & iPod Touch

Gestores de proyectos

En la serie de artículos dedicados al tema de organización de grupos de desarrollo, hemos hablado mucho sobre la importancia de gestionar los proyectos, de coordinarse, de delegar tareas concretas y repartir el trabajo… pero no analizamos las herramientas concretas para realizar todos estos procesos. En este artículo, comentaremos unas cuantas…

  • Bonita. Desarrollado en Java, software libre, orientado de un modo especial a conceptos de la ingeniería de software.
  • DotProject. Un sistema bastante completo, actualmente el que usamos en nuestra intranet. La organización de tareas, calendario, proyectos.. está bastante pulido… pero en temas de permisos, grupos de usuarios… aún potente, queda algo flojo, entre otras cosas porque resulta algo complicado de manejar. Tiene detalles importantes, pero también alguna que otra lagunilla. Aún así, una buena elección.
  • PHProjekt. Un proyecto de los más extendidos. Foros, tareas, perfiles y skins o temas, pero nada del otro mundo.
  • Trac. Una opción muy interesante, a pesar de tener una interfaz algo simple. Trae un cliente de subversion, sistema de tickets, wiki, tareas y milestones
  • ProyectPier. Manejo de tareas, proyectos, grupos y ficheros. Simple, pero eficaz y amigable.
  • EGroupware. Otra aplicación que integra muy bien diferentes funcionalidades: gestor de tareas, archivos y tracker, wiki, contactos…
  • OpenACS. Una herramienta completa: gestión de proyectos, sistema de tracking, tareas, CMS, foros, calendario… Corre bajo bases de datos Oracle / PostgreSQL, es open source y está enfocado a sitios con mucha información y tráfico.
  • Acollab. Sencilla aplicación que incorpora chat, foros, gestor de archivos, grupos y miembros, además de contar con un espacio para editar documentación de forma colaborativa.

Y otros dos proyectos comerciales, que también nos parecen curiosos…

  • Project.net. Gestor de proyectos comercial, de código abierto. Parece también muy completo
  • Assembla. Se trata de un servicio online, que ofrece muchas posibilidades de gestión. Espacio gratuito para proyectos públicos / libres (con opción de pago que amplía características, como privatizar el entorno), subversion, tracs, wiki…. todas las herramientas básicas.
  • BaseCamp. Del estilo de Assembla, quizás más pulido, pero de mayor coste, tiene varios planes para adaptarse a la necesidad del usuario.
  • MetoCube. Aunque se trata de un sistema de documentación de procesos, puede servir como gestor de proyectos, pues está bastante depurado, pudiendo probar una demo online.

En la página Open Source CMS, en la sección de groupware, se relacionan estos y varios gestores más, para seguir teniendo donde elegir. Y tú, ¿cuál recomiendas?

Artículos recientes relacionados:


Cuando el servidor falla…

… el caos impera. El pasado Domingo, a primera hora, nuestro servidor dejaba de funcionar. Concretamente, por el fallo en los discos duros, que impedía tanto el acceso a los datos, como el arranque tras el reinicio. Y el incidente, que un principio no pasaría de una mañana, se fue alargando, hasta esta misma madrugrada, cuando conseguimos que todas las páginas volviesen a quedar operativas. Aunque estuvimos en contacto con los principales afectados (los bloggers de la iniciativa Undead Blogs) y con los usuarios vía twitter), aprovechamos este post para hacer públicas nuestras disculpas. Que un servidor se caiga, suele ser frecuente, pero ya estamos trabajando y viendo posibilidades para evitar tantas horas de corte de servicio.

Por otro lado, gracias al sistema de back ups y al servicio técnico, hemos podido recuperar el 99,9% de los datos (contenido de las bases de datos) y el 100% de los ficheros. En cuanto a la configuración, debido al cambio de máquina, tuvimos algún problemilla más, pero todo se resuelto de forma correcta. Migrar toda esa información resultó costosa en tiempo, pues la cantidad de datos que vamos alojando es algo importante, para tratarse de un servidor compartido.

En breve publicaremos un artículo contando nuestra experiencia con varias empresas de hosting, valorando su servicio, sus planes… ¿dónde te alojas tú?

Artículos recientes relacionados:


El análisis técnico de WoD

Comentado el aspecto lógico del juego en artículos anteriores de este post – mortem, toca revisar la parte técnica de Win or Defeat. Tecnologías, bases de datos, fundamentos técnicos… La base siempre ha sido la misma, pero según fue evolucionando la lógica, fue necesario optar por implementaciones más potentes. Así…

En la primera etapa del proyecto, todo el código fue desarrollado desde cero, con PHP, sin utilizar ningún tipo de framework o entorno. Puesto que urgía tenerlo cuanto antes, nos dividimos el trabajo en dos partes, haciendo reportes diarios de todo aquello que ibamos modificando. Al dar por finalizada esa parte, la estructura de la aplicación no era la adecuada, al menos para afrontar un proyecto de las dimensiones que tiene ahora. Al retomarlo y darle ese nuevo enfoque, nos dimos cuenta que habría que rehacer muchas cosas, desde el código de la parte front end, hasta las relaciones y tablas de la base de datos. ¿Cómo reestructurar entonces?

En este punto, comenzamos a analizar el futuro. Es decir, no se trataba simplemente de hacer algo funcional bien organizado, sino que esa organización, tanto de código como de datos, fuese muy flexible, reduciendo los costes de mantenimiento posterior lo más posible. Y, además, que las funcionalidades pudiesen ampliarse sin resultar una experiencia traumática. El resultado de la deliberación y, con vistas a que fuera un software corporativo, nació Earwyn. Ya no teníamos una prisa especial para terminar el juego, así que decidimos sacrificar varios meses (que se convirtieron en bastantes) ganando un mayor control sobre la aplicación… y la verdad es que a nivel de productividad, se nota mucho que un framework te de tantas facilidades: código más limpio, más ordenado, control de errores, logs… fue un trabajo impresionante, pero ha merecido la pena.

De php4 pasamos a php5 (entre otras cosas, por que Earwyn se diseñó para la versión 5 del lenguaje); de unas 20 tablas mySQL hemos pasado a 46 (y aumentando); de html usando tablas y embebido en los ficheros .php hemos evolucionado a diseño y datos separados, con plantillas xhtml / css2 sin código php; y nos hemos metido con AJAX.

Back end. La parte de los cron, jobs… también corre bajo PHP, aunque en determinados procesos hemos experimentado con algo de PERL y Python.

¿Por qué PHP? Tanto Thani como yo, teníamos una base sólida en esta tecnología… así que, simplemente, por el hecho de sentirnos más cómodos desarrollando. En cuanto al uso de mySQL, porque suele ser un complemento muy habitual de PHP (muy fácil de encontrar en las características de cualquier servidor) y es eficiente para el volumen de datos que pretendemos manejar. Si en unos años la cosa adquiere mucha más carga de datos… puesto que las operaciones se hacen a través de Earwyn, cambiando esa parte del framework, no tendríamos que tocar muchas cosas para que fuera compatible, por ejemplo, con Postgre. Sobre hacer uso de técnicas AJAX, vimos que era necesario actualizarse a las nuevas tendencias, además de dotar de espectacularidad, mejorando la experiencia de usuario en ciertas operaciones. Earwyn trae un motor de AJAX, pero también hemos utilizado librerías como jQuery o Prototype.

¿Flash? Tenemos en mente, para desarrollar más adelante, hacer un simulador virtual en flash de los partidos. De tal forma que además del resultado en texto (ambientado con CSS2) haya una animación que lo escenifique. Pero a falta de creativo web

Servidor. Desde hace varios meses, el juego se aloja en un servidor compartido, alquilado a una compañía americana. Imaginamos que después de la beta abierta… habrá que plantearse migrar a un servidor dedicado, debido a que el volumen de datos (y la carga que conlleve al equipo) ya puede ser más que importante.

Y con esto y muchas horas…

Artículos recientes relacionados:


Novedades en Undead Blogs

En Septiembre comenzamos con la iniciativa llamada “Undead Blogs“, una especie de división dentro del grupo que brinda apoyo al blogger. A modo de consultoría 2.0 y patrocinio de bitácoras, ponemos a punto todos los detalles técnicos para que sólo quede escribir en el blog. Estos días atrás, ha habido un par de novedades…

  • Home relanzada: undeadblogs.net, ha mejorado su diseño, ha sido migrada también a wordpress y ha actualizado parte de su información y diseño.
  • Nuevo blog: El hacha de guerra, un blog de corte intimista y personal, se incorpora a nuestra red.

Estos meses daremos más impulso a este área, agregando nuevos blogs de interesante lectura y mucho potencial. Si deseas proponernos el tuyo… pásate por la web y… ¡escríbenos!

Artículos recientes relacionados:


La dimensión social de WoD

En los post anteriores (lógica del juego y su continuación) relacionados con la lógica de Win or Defeat, dejamos pendiente hablar sobre la dimensión social del juego, una dimensión que no se planteó en un principio, pero que ahora es parte esencial del proyecto. Así…

Cuando comenzamos a diseñar la lógica del juego, no se nos pasó por la cabeza añadir posibilidades sociales al sistema, aunque sí veíamos que el proyecto debía tener un aspecto que lo diferenciara de otros juegos web, algún detalle que hiciera WoD único (o, al menos, que enganchara por tiempo indefinido). Como usuario de juegos web, como ogame o ikariam, siempre he echado en falta algunos puntos que en WoD estamos tratando de evitar,

  • Tras el registro, te pones manos a la obra y creas los primeros edificios, vas aumentándolos de nivel, generas tropas, infraestructuras, atacas, te atacan…. pero llega un punto en que tu única opción se reduce a dedicar tiempo, tiempo y más tiempo (conectado, aunque no hagas mucho). Y si tienes algún despiste, todo aquello creado habrá sido destruido… quitándote las ganas de construir todo de nuevo… dejando el juego.
  • Cuando vas adquiriendo más nivel, subiendo en los rankings llega otro punto en el que te preguntas.. ¿y ahora qué? Soy demasiado grande para seguir progresando a buen ritmo.. y demasiado pequeño para enfrentarme en un guerra abierta…. en ese momento, sigues jugando, pero esperando a ver que vá pasando… y con un punto de desánimo… el vicio ha perdido tirón…
  • Si quieres dejarlo por un tiempo, puedes congelar la cuenta, pero no puedes tomarte vacaciones por tiempo indefinido.
  • Creas alianzas, pactos… pero más allá de los mensajes privados no puedes interactuar con otros usuarios.

Pensando en cómo solucionar estos puntos flojos que veníamos observando, se nos ocurrió la idea de embeber una red social, de tal forma que

  • El usuario se registra, pero no crea ningún equipo ni establece ningún paso que le obligue a jugar. Una vez dentro, puede crear sus clanes para competir en el juego, o utilizar sólo el ámbito social de la web. Del mismo modo, se puede dejar de competir… sin repercusiones en el sistema.
  • Los usuarios pueden definir amigos, enemigos… En función de esas relaciones, los efectos en el juego serán unos u otros. (Por ejemplo, los partidos ganados a enemigos puntúan más).
  • Sistema de microblogging: al margen de los mensajes privados, se puede compartir un mensaje con todos tus amigos, de tal forma que estos lo vean en su panel, desde su cuenta.
  • En el perfil se pueden indicar muchos datos, como parte de esa dimensión social. También se puede enlazar a tus perfiles en otras redes a través de un sistema de iconos….
  • Los usuarios tienen la posibilidad de modificar su avatar, de subir fotos, de organizar eventos… de crear comunidad.

Conseguir que un usuario entre y esté enganchado un par de meses… no es demasiado difícil. Lo complicado es hacer que se encuentre tan agusto que no desee marcharse, que adopte la plataforma como una más en su vida digital. La idea de socializar el juego fue esa, dotar al proyecto de una característica que lo hiciese algo más que un juego, una comunidad en donde se juega online. El tiempo y los primeros testers dirán si lo vamos consiguiendo… :P

Artículos recientes relacionados: