I recently decided to try GTD (Getting Things Done) to make my life more organized. As I use 3 different computers, web application seemed to be a logical choice. After reading a few reviews, and briefly testing five sites, I finally settled on Nozbe, mainly because it seemed as a place which may help me to learn GTD instead of just making it possible to use it.
It is too early for any conclusions, but in general I like Nozbe while I am collecting my tasks and checking my ToDo's. But since I put noticeable number of tasks there, I find it difficult to do a solid review. No way to see the whole thing (and it is not only a Nozbe problem, other sites also do not seem to offer much help here).
So I wrote a tool which helps me to see all my projects and tasks together and at once.
What it does
The script I wrote downloads all projects and tasks (of a given user) from Nozbe and saves them as a mind map.
I picked XMind format as XMind is freely available, crossplatform and just cool (especially the drill-down feature is very handy). This way I get pleasant graphical representation of everything I have pending on my Nozbe account.
Here is how does it look like (texts are cloaked as those are my true projects):
Start marks flag next actions, checkmarks flag done actions, remaining marks signal contexts (there is e legend on the bottom which shows which mark means which context).
Projecs contain links to their pages on Nozbe, so one can easily open them while viewing the map:
In the future I hope to write the reverse part - the tool which would let me modify such a mind map, and upload to Nozbe the changes (in particular I'd like to be able to move actions between projects inside XMind). Nozbe lacks some necessary APIs, but I hope to see them implemented.
Installation
Installation is a bit geeky at the moment. If there is a noticeable interest, I may try to create the binary distribution.
Prerequisities: you must have Python2.5 (2.4 won't work, 2.6 may work but I have not tested it yet) with setuptools and lxml. I test my script on Linux and Windows but it should work everywhere if you get Python and lxml working.
If it looks like a black magic to you, just:
-
Download Python 2.5.2 from this page and install it (there is a Windows installer).
-
Download SetupTools for Python 2.5 from this page (download links are on the bottom, again there is a Windows installer).
-
Make sure both the Python installation directory and its scripts subdirectory are in your PATH (on Windows open Control Panel, pick System, visit Advanced tab and pick Environment variables, find PATH and edit it adding C:\Python25;C:\Python25\Scripts to it.
Or remember about point 5. -
Open the console (simplest Windows way: Start/Run and enter "cmd")
-
Unless you configured your PATH, type
PATH=C:\Python25;C:\Python25\Scripts;%PATH%
-
Type:
easy_install lxml==2.1.3
(this version is not strictly required, it just has binary Windows build available)
Having done this (or having those components already installed), install my script by:
easy_install http://mekk.waw.pl/download/nozbe2xmind/mekk.xmind-0.1.0-py2.5.egg
easy_install http://mekk.waw.pl/download/nozbe2xmind/mekk.nozbe2xmind-0.1.3-py2.5.egg
Finally, install XMind.
Usage
In the console, issue the following command
python -m mekk.nozbe2xmind.run --key=*your-api-key* --out=c:\mynozbe.xmind --verbose
Your api key can be found on the bottom of the Nozbe Extras page.
Note that this key is secret (it works as your password), do
not give it to anybody, do not post it to forums etc. You can omit --verbose
if you don't want to see which requests are made.
When the script finishes (it may take a minute or two if you have many
projects), open the created file (here - c:\mynozbe.xmind
) in XMind and play
with it.
That's all.
Future
Not yet determined. But I consider the following improvements:
-
fine-tuning the content of a map (maybe adding project tags, maybe using colors, maybe reorganizing the map somehow - ideas welcome, the current view is just a first attempt),
-
creating simple GUI to avoid command line,
-
writing xmind2nozbe part (so you could edit the mind map, save it, then run this script to have changes you made on the map transferred back to Nozbe).
Remarks?