Desde hace unos días vengo probando lis.to. Es un gestor de tareas sencillo, que permite crear tareas y organizarlas por carpeta que pueden ser de proyectos, contextos, o lo que quieras. A cada tarea le puedes asignar una fecha y una hora de finalización y poner un recordatorio de manera que te avise antes de la finalización.
Cuando se edita una tarea se puede rellenar toda la información en una ‘entrada rápida’, indicando la fecha de finalización y la carpeta mediante los símbolos = y @. Además se puede añadir un texto libre a la tarea y el programa lo resalta con un icono en la lista de tareas.
No es una aplicación compleja, sino que te haces con ella en cinco minutos, pero que más allá de su uso me ha llamado la atención la manera en que está hecho. En primer lugar lis.to está hecha con Java y el interfaz gráfico con Swing. Es multiplataforma y funciona perfectamente en Windows y en Mac. En Windows la interfaz parece más nativa que en Mac, sobre todo por dos cosas: la barra de iconos deja bastante que desear y el panel lateral tipo iTunes tampoco está muy logrado. Sin embargo hay otras muchas cosas muy bien hechas y que quiero aprender cómo están hechas. La primera es que las tareas no se guardan en ninguna base de datos, sino en un archivo XML. También me ha gustado la manera de hacer el autocompletado cuando se asigna una carpeta en la entrada rápida. Lo último que me ha llamado la atención es la manera de desplegar/replegar parte del formulario de edición de tareas cuando se pulsan los triángulos azules. Como se puede descargar un jar y se puede descomprimir, se puede curiosear las clases que se han usado el programa y, con un poco de suerte y un mucho de google, encontrarlas y estudiarlas.
Actualización 15/Mar/2010: Lis.to está alojado en Google code y se puede descargar su código en este enlace: http://code.google.com/p/listo/. Pulsando el la pestaña código y haciendo checkout con un cliente subversion podemos descargar todo el código fuente.