La Gaceta de Linux ...¡ haciendo a Linux un poco más divertido !

Outliners y trazadores de mente (Mind mapping)

Por Jimmy O'Regan

Traducción al español por José Manuel Pérez
el día 8 de Enero de 2005, para La Gaceta de Linux

El "outlining" y el trazado de la mente son dos maneras de representar la información. Ambos son útiles para la lluvia de ideas para tomar notas (entre otras cosas), pero, lo más importante, es que ambas representan formas excelentes de organizar la información. Debería sorprender que organizar la información es importante para los programadores, y, ya que Linux es el sistema operativo para el programador exigente, hay software abundante disponible para ayudarnos a realizar estas tareas.

Hace poco tiempo decidí poner mi vida en orden. Por una parte, como consecuencia de ello, tuve que aceptar que no todo el esfuerzo personal resultaba inútil. De todo lo que puedo recordar, mi padre ha sido un lector devoto del esfuerzo personal -- lector, no seguidor -- así que me han criado en el concepto desde mis años adolescentes). Por otra parte, simplemente debía organizarme.

Uno de las costumbres que estoy intentando cambiar es el hábito de escribir notas en trozos de papel usados o en archivos de texto aleatorios dispersados por todos lados. Los outliners y los mapas de mente son útiles para agregar contextos y relacionar estos fragmentos de información, que de otra manera estarían desordenadas, y me están resultando muy útiles hasta ahora.

Outliners

El "outlining" es un método útil tanto para tomar notas como para la lluvia de ideas. Un contorno (outline) es una lista de ideas, que son agrupadas por subtemas en una jerarquía. Al escribir un contorno, solamente se utilizan los puntos clave, que se amplían más adelante conforme se va escribiendo.

El párrafo anterior como contorno se parecería a algo como esto:

Outlining

Los outliners soun un tipo de programas que permiten al usuario escribir un documento como un contorno, para detallar cada punto, y para ocultar aquel detalles que cubrirá otro punto que pueda ser añadido más adelante.

La mayoría de los procesadores de texto modernos ofrece posibilidad de realizar contornos -- la vista "Encabezados" en el "Navegador" de OOWriter, por ejemplo. Aunque hay disponibles outliners independientes, como Think, los outlines más importantes son aquellos hecho para Emacs y Vim.

El modo Outline de Emacs

XEmacs en modo Outline

Emacs trae un modo Outline. Este usa un formato de texto muy sencillo: los encabezados comienzan con un asterisco, y cuanlquier texto que se encuentre entre los encabezados se considera que pertenece a ese encabezado. Si el texto de un sub-encabezado se contrae, esto se muestra como puntos de suspensión (...) después del título de encabezado. (ejemplo)

* Encabezado de Nivel Superior

** Sub-Encabezado

Este texto será ocultado si se contrae el sub-encabezado.

** Sub-Encabezado 2
*** Sub sub-encabezado

El Outliner de Vim

El Outliner de Vim

El Outliner de Vim es, en mi opinión, el mejor outliner disponible para Linux. (Sin embargo, esto es probablemente porque uso Vim como mi editor principal; prefiero Emacs, pero no desde que Mandrake lo dio). Al igual que el modo outline de Emacs, utiliza un formato de texto simple (ejemplo):

Nivel superior
    Sub-encabezado
    | Texto 
    Otro sub-encabezado
        Sub-sub-encabezado
        | Más texto

Como el modo outline de Emacs, TVO permite que los encabezados y sub-encabezados se contraigan. (Bueno, debería, pues en otro caso no sería un outliner propiamente dicho). Los diferentes niveles de encabezado tienen un código de color; lo mejor es nombrar un archivo de outliner con la extension .otl, para que Vim sepa qué hacer con él.

Mientras leía sobre outliners en Internet, encontré un outliner de DOS, ThinkTank, de 1987. Este usa un sencillo formato de texto que es fácilemnte convertido para ser usado con el Outliner de Vim.

Mapeado de Mente

El Mapeado de Mente es una forma de representar la información desarrollada por Tony Buzan que aventaja a los demás en varios aspectos en cuando a cómo procesa la información el cerebro. En su forma más básica, un mapeador de mente es similar a un outline en forma de árbol -- un árbol girado sobre un lado, usando raíces como ramas, pero un árbol al fin y al cabo.

Un mapeador de mente empieza en un concepto central. Los subtemas a nivel superior ramifican hacia afuera de cualquier lado, ramas de nivel inferior ramifican desde ésas, etcétera. Con un mapa de mente en papel, cuando llegas al borde de la página, simplemente pegas una nueva página en ese borde para continuar.

Así que no es muy distinto de un outline.

Un mapa de mente efectivo hace uso de colores diferentes para cada rama: esto hace que cada sub-tema principal se mantenga más, y ayuda al cerebro,y ayuda al cerebro a procesar los datos.También se recomienda que, donde sea posible, un mapa de mente tenga imágenes: "Una imagen vale más que mil palabras" puede ser un simple refrán, pero es cierto.

OPML

Mientras hablo de outliners, probablemente debería mencionar a OPML, que es más conocido como el formato estándar para intercambiar suscripciones de feed.

OPML responde a Outline Processor Markup Language. Tiene una estructura muy simple: al igual que en HTML, hay secciones "head" y "body". También, al igual que con el HTML, la sección de cabecera sirve para metainformación -- etiquetas como "title", "dateCreated", "dateModified", "ownerName" y "ownerEmail" son auto-explicativas; "expansionState" se usa para contener una lista de outlines separada por comas que son expandidos por defecto; "vertScrollState" contiene el número de la línea que debe ser mostrada (después de que los outlines hayan sido expandidos); "windowTop", "windowLeft", "windowBottom" y "windowRight" se utilizan para establecer el estado de la ventana.

En la sección del cuerpo, sólo hay una etiqueta - "outline", que puede contener otras etiquetas de outline, en los diversos niveles de cabeceras. La etiqueta de outline puede tener cualquier atributo, aunque "text" es común. Sin embargo, la mayoría de estas etiquetas son ignoradas por los lectores de feed, ya que en su mayor parte buscan un enlace y un título. He incluido ejemplo.

El outliner de Vim viene con un script Ruby que convierte OPML a su propio formato - también he incluido un ejemplo de salida: feeds.opml, sample.opml.

FreeMind

Freemind

FreeMind es un programa de mapeo de mente de código libre. Está escrito en Java, así que se ejecuta bien en Linux. Freemind tiene varias características que aquellos que estén familiarizados con los mapas de mente esperarán. Los colores del texto y de la rama pueden variarse, pueden agregarse imágenes para los nodos y hay varios iconos que pueden ser añadidos para las ramas o nodos facilitando la mnemotecnia.

Aunque los desarrolladores dicen que FreeMind no crea mapas de mente exactamente según la idea original de Tony Buzan, es lo suficientemente cercano hasta donde recuerdo. Sin embargo, añade algunas características adicionales que no son posibles con mapas de mente basados en escritos: las ramas y sus nodos pueden tener hiperenlaces adjuntos a ellos, y los mapas de mente pueden ser exportados como HTML.

Mindmap con gráficos incrustados

FreeMind es fácil de usar: para añadir un nodo a una rama, se pulsa la tecla 'Insertar',y se escribe. Para cambiar a un nodo en una rama..., se pulsa la tecla 'Insertar'. Los nodos y las ramas pueden ser cortados y pegados. Las ramas individuales pueden ser exportadas como HTML así como también el mapa de mente entero. Todas las opciones para dar formato al nodo/rama están disponibles pulsando el botón derecho del ratón encima de ellos. Al igual que con un outliner, las ramas pueden ser contraídas (o expandidas) presionando "Espacio", y los nodos pueden ser fácilmente recorridos con las teclas de dirección.

Dos cosas que convienen ser mencionadas son que insertando un gráfico (escogiendo Node->Set Graphic en el menú contextual, o tecleando Alt-K) se reemplaza cualquier texto que estuviera en el nodo. La otra es que se puede demostrar que dos nodos se relacionan, aun estando en ramas diferentes, manteniendo pulsado Ctrl-Shift y arrastrando y soltando un nodo encima del otro. Esto traza una línea entre los dos, lo cual afortunadamente no cubre el texto de cualquier nodo situado entre medias.

He incluido algunos ejemplos en los que se ve cómo he usado FreeMind -- en su mayor parte para resumir información, como cuando quise informarme sobre CIFS, o acerca de escritura de comedia (sin embargo esto, a su vez, se basaba en un outline que encontré en Internet), aunque también lo usé para representar el proceso de decisión para mi corte de pelo, para representar mi libro de "favoritos" (ver debajo), y para simplemente tener un conjunto de ridículas burbujas. También he añadido una segunda versión de escritura de comedia que muestra la diferencia que hay teniendo enlaces entre las marcas de diferentes nodos.

Delicious Mind

Delicious Mind es un script de Python, disponible aquí que convierte entradas en del.icio.us en un mapa de mente FreeMind. (He incluido una versión local que sigue las recomendaciones de del.icio.us de que los scripts sean identificados por ellos mismos, así como mi propia versión que genera rdf -- agradecimientos a Ian Oeschger por permitirme publicar mi versión).

Para aquellos que no lo sepan, del.icio.us es un sistema público de libros de "favoritos" online que ha sobrepasado las características de los "favoritos" que traen los navegadores incluidos para muchas personas. Las entradas de del.icio.us no son archivadas en carpetas como los "favoritos" tradicionales. En lugar de eso, cada entrada es etiquetada con palabras claves, a partir de las cuales del.icio.us genera una lista de carpetas.

Del.icio.us también permite a los usuarios ver qué otra persona tiene como "favorito" cada entrada, así como facilitar carpetas de "favoritos" populares, que contienen items de cada usuario que usa esa etiqueta. Del.icio.us también permite que la gente pueda suscribirse a los "favoritos" de otras personas.Los items también pueden ser ordenados por fecha, para un usuario particular, o para todos los usuarios, y la página principal contiene una lista de los "favoritos" añadidos recientemente.

Del.icio.us provee una API pública, por lo que la gente fácilmente puede acceder y manipular sus propios "favoritos" a través de scripts. Delicious mind se aprovecha de esto; toma una lista de etiquetas, que son definidas entonces como ramas de segundo nivel, y las rellenan con nodos de cada "favorito" en esa categoría.(Los fanáticos de XML se alegrarán: del.icio.us envía su información como un sencillo formato XML que puede ser procesado fácilmente con un sencillo xsl).

Así como ofrecer una forma de visualizar tus "favoritos", esto puede ser acoplado con el exportador HTML de FreeMind para mantener una copia local de tus "favoritos" de del.icio.us -- como todos los sitios Web populares, del.icio.us tiende a sufrir períodos ocasionales de paralización del trabajo. (Echar un vistazo al exportador HTML de este archivo comparado con la versión del.icio.us).

 


[BIO] Jimmy lleva usando ordenadores desde los siete años, cuando su padre le dejó un Amstrad PCW8256. Después de unos pocos flirteos breves con un Atari ST y versiones numerosas de DOS y Windows, Jimmy se introdujo en Linux en 1998 y no ha ha vuelto atrás.

Jimmy es padre de un tecnoadicto llamado Mark de siete años de edad. Cuando no se está dejando la piel en el trabajo, le gusta tocar la guitarra y leer -- normalmente no al mismo tiempo, pero los trucos hacen manejables los libros de favoritos.

A Jimmy le gusta recoger los hilos de fuera de tema que aparecen en la lista de correo de Respuesta Gang, principalmente porque es una buena excusa para mantener esos hilos.

Jimmy está buscando empleo en la actualidad.

Copyright © 2004, Jimmy O'Regan. Publicado bajo los términos de la Open Publication license

Publicado en el Número 108 de la Gaceta de Linux, Noviembre de 2004