Mapping My Plazes Network with NodeBox

I’ve been experimenting with NodeBox today: it’s a Mac OS X application with a Python engine that’s designed to make it easy to create 2D visualizations. I love network graphs and the NodeBox Graph library is an add-on for NodeBox that makes it really, really easy to create them. Here, for example, is a graph of my Plazes friends network:

NodeBox graph of my Plazes friends network

You can grab a higher resolution PDF of the graph if you want to zoom in for details. The graph shows my immediate friends, and also their friends. A connection between two users (in graphing terms, an “edge”) shows a Plazes “friendship” between those two users — i.e. one of them has “friended” the other. There are 732 individual users shown (I have 57 immediate friends).

If you’ve got a Mac and want to try this for yourself, just install NodeBox and and then grab my Python code and adapt as required (you really just need to change the line t = PlazesRelations(‘ruk’) to use your Plazes username instead of mine).

A couple of warnings: if you’ve got a lot of friends, or if some of your friends have a lot of friends, this script will tax the Graph library — it’s designed, say the docs, for “small graphs (<200 elements)”. In any case, it will take a while — 5 minutes, perhaps — to generate a decent sized friends network. And the “retrieve trustee XML from Plazes” relies on an unsupported, undocumented API method, and so is subject to disappearing at any time.

Update: just discovered, as a result of experimenting, that, like other Plazes API method, the one that I’m using to grab “trustees” only returns 50 results at a time. As such the code as it stands right now will only graph your first 50 friends (and their first 50 friends). As it turns out, that’s probably a Good Thing, as it naturally limits the number of nodes to a reasonable number.


Mark's picture
Mark on December 10, 2009 - 15:14 Permalink

Trying to look at your custom python code for nodebox, but all the links are not working. Could you shoot me a valid link or email me the files.

I would really appreciate it.