Después de compartir contigo los otros dos elementos de mi herramienta GTD, MindManager, el «corazón», y ResultsManager, el «cuerpo», llegamos por fin a MindReader, el verdadero cerebro que hace funcionar todo el sistema.
MindReader es el resultado de combinar una serie de macros desarrolladas en SAX Basic, el lenguaje de programación que incorpora MindManager, con un diccionario en formato mapa mental, que es el que puedes ver en la imagen adjunta.
La idea original fue desarrollada por @ActivityOwner, un auténtico crack y autor del blog homónimo ActivityOwner, cuya lectura y relectura es absolutamente imprescindible si finalmente te decides a usar MindManager con ResultsManager como tu solución GTD.
Aunque actualmente utilizo una versión personalizada y bastante distinta de la «oficial», al principio (2007) sí que colaboré muy activamente en el desarrollo de la misma y algunas de sus funcionalidades actuales fueron idea mía. Por ese motivo todo mi sistema está en inglés.
MindReader es fundamentalmente lo que los programadores llaman un parser, es decir, un analizador sintáctico. Cada vez que añado una nueva entrada a uno de mis mapas de acciones y proyectos, la macro principal de MindReader la trocea y procesa, utilizando para ello el diccionario que aparece en el mapa de la figura adjunta.
En cada «rama» del mapa hay varias ramas adicionales a su vez (en la foto no se ven porque están colapsadas). Estas ramas adicionales contienen palabras y expresiones, cada una de las cuales va acompañada de las correspondientes instrucciones sobre qué hacer con ella.
Así, por ejemplo, si escribo (en inglés) «Llamar a Pepe a partir del lunes antes del viernes!», la macro va a encontrar la palabra «llamar» en el mapa y además en dos ramas distintas. «Llamar» aparece dentro de «verbs«, lo que va a hacer que la macro sepa que tiene que buscar un nombre [contacto] para la persona a la que hay que llamar y que además defina que esa acción debe hacerse en el contexto «@teléfono». «Llamar» aparece también en la rama «verbstockicons«, por lo que la macro añadirá a la acción un icono con un teléfono.
Lo siguiente que encontrará el parser será «Pepe». La macro identifica que es un nombre propio, así que lo buscará en el mapa diccionario. Si tengo algún «Pepe» definido en «resources«, imaginemos «Pepe Lara», la macro pondrá a «Pepe Lara» como contacto para la acción. Si no hay ningún «Pepe» definido en «resources«, la macro pondrá simplemente «Pepe» como contacto para la acción.
El próximo término que identificará la macro será «a partir del lunes». La macro encuentra la expresión «a partir del lunes» definida en «startdates» y allí hay una fórmula que indica cómo calcular el día del mes y año que corresponde al primer lunes a partir de hoy, que será la fecha de inicio de la acción.
Lo siguiente que encontrará la macro será «antes del viernes». Esa expresión se encuentra en la rama «duedates» junto con la fórmula para calcular el día del mes y año que corresponde al primer viernes a partir de hoy, que será la fecha objetivo de la acción.
Por último, la macro encuentra el signo «!», que significa «convertir fecha objetivo en fecha límite», instrucción que también es ejecutada inmediatamente por la macro, que además añadirá a la acción un icono con una exclamación para recordarnos visualmente que es una fecha límite.
Esto es simplemente una idea de la potencia de MindReader. Adicionalmente se pueden modificar (retrasar, adelantar, ampliar…) acciones en bloque, moverlas entre mapas, cambiar o añadir contextos o contactos…
Asimismo, MindReader incorpora las macros necesarias para marcar acciones como completadas, borrándolas del mapa actual y copiándolas en un «log» o registro histórico. Si la acción completada es recurrente, las macros se encargan también de calcular las fechas futuras y crear la nueva acción.
En la próxima entrada sobre GTD te contaré cómo es mi uso habitual de este sistema, y cómo los tres elementos que hemos visto actúan de forma integrada. No te lo pierdas.