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.<br/>
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?
I am a non-techie user that is comfortable following instructions - but can't troubleshoot when something isn't working. I would love to use Nozbe2XMind but am getting the following error when trying to install the "easy_install http://mekk.waw.pl/download/nozbe2xmind/mekk.nozbe2xmind-0.1.3-py2.5.egg" script.
This is the error: error: Setup script exited with error: Python was built with Visual Studio 2003 extensions must be built with a compiler than can generate compatible binaries. Visual Studio 2003 was not found on this system. If you have Cygwin installed, you can try compiling with MingW32, by passing "-c mingw32" to setup.py.
Any suggestions?
Thanks,
Brian
It looks like you failed to install binary lxml distribution and the setup script is trying to compile lxml library - and fails to find the compiler (logically, you don't have it installed)
Did you try
PS I am to work on preparing some 'non-techie' distribution, just wanted to release for testing for those who can manage techie stuff.
Here are both installs: 1) easy_install lxml==2.1.3 install and 2) easy_install http://mekk.waw.pl/download/nozbe2xmind/mekk.nozbe2xmind-0.1.3-py2.5.egg
It seems to be realted to Twisted Matrix web client. Main package is dependant upon this one and installation fails. I've been able to download it as an standalone package from:
http://twistedmatrix.com/trac/wiki/Downloads
Hope it helps!
P.D I couldn't make it work even with this package installed as some dependencies failed too. I'll try tomorrow to troubleshoot it ;)
I came to the Nozbe specifically to look for Nozbe and Xmind integration, so really appreciate your work on this. However, I am not technical enough that I want to be working with code.
Are you still working on this?
Thank you!
I am currently polishing the source to properly publish it on bitbucket in case somebody would like to help (in particular, python library to generate and parse xmind mindmaps is already published).
As far as my own work is considered, well...
I haven't clarified my opinion about Nozbe 2.0 yet. To say the true, I am not very happy with the direction it took, also - my needs changed a bit. It does not yet mean that I will switch to some other tool, but I plan to take a look at the alternatives and I am not 100% commited to staying with Nozbe, so I hesitate to spend time on this project.
I do not have up to date API documentation for all the changes which happened there (current code still works but I have no way to handle - say - multicontexts). Michael promised to publish those docs, so I wait for them to appear. Note: this API does not provide all information needed, what is needed is the sync api (the same which is used by iphone app).
After some preliminary attempts I decided that I am not really interested in developing GUI interface, that's the kind of programming I am not very proficient at. Also, I do not use Microsoft Windows anymore, so I won't be able to prepare binary builds for this platform.
To summarize:
a) All project sources will be properly published and project organised so other developers could help if interested. It is to happen soon.
b) In case sync api is published, I will strongly consider getting back to the the application and extending it at least a little bit (I strongly consider exporting the view which would make it easier to reorganize context assignments, I also think about filtered view showing only projects marked by some tag)
c) I won't develop GUI (I could help if somebody wanted to do it)
d) I won't prepare binary windows installer.