Tag Clouds Two Point Oh?

Tag clouds bore me. They’re a relatively effective way of indicating quickly what topics are popular but that’s it. From del.icio.us’ cloud I can see that the site is for nerds – web nerds specifically. Flickr’s tag cloud tells me that people tag events and place names but that’s about it. My personal tag clouds on these sites tell me even less. My del.icio.us tag cloud tells me almost nothing – its a huge block of dark-blue and light-blue text. The Flickr one isn’t much better – it tells me mostly that I took a bunch of photos kayaking in the Queen Charlotte Islands, or perhaps more specifically, I got around to tagging my kayaking photos.

I’m more interested in seeing what’s going on right now and seeing how these topics are related. Since this is a graph visualization exercize I threw graphviz at the problem. After a bit of preliminary experimentation I ended up defining a graph based on recent tags pulled from an RSS feed. Each tag is represented as a node and any tags which appear together on the same post have arcs between them. Tag text gets scaled up a little with frequency. The effect isn’t perfect. Its pretty boring when there isn’t much data like on this site:

With a bit more data, like from my recent delicious feed things can get cluttered but we can see what I’m interested in right now:

This idea isn’t fully developed. The complexity of laying these graphs out in a sensible manner increases pretty rapidly as the number of nodes and arcs increases and so does the visual clutter. I’d like to experiment with client-side graph layout (ie: implementing graphviz in JavaScript) and doing something more sensible with synonym tags – ie: tags which always appear together. Synonym tags are somewhat interesting, but can distract from the relationships between concepts. Treating all tags that are coincident over a small number of posts as synonyms may often result in false synonyms, and collapsing synonyms will make it easier to scale to more posts, so I expect that that may be a productive path to go down in scaling these visualizations up to encompass more posts.

Oh, and the final demonstration – my friend Dan is looking for and apartment and is a Ruby on Rails web application developer:

4 thoughts on “Tag Clouds Two Point Oh?

  1. I worked on something like this Back when Firefox 1.5 was just about to be released, there was an “Extend Firefox” contest. I worked on an extension that used SVG to draw graphs somewhat like these. I stopped working on it because I never got my code to perform well and the contest deadline came and went. I would be willing to share my code and perhaps revive the project if you are interested. Contact me if you want to discuss, I will have to dig up the code and dust it off, I think I can make a demo version that loads as a normal html page in Firefox.

  2. For extra credit… If you have the spare time on your hands, why not make a rendering engine which will do a graphviz-type layout in GWT-friendly Java, then use GWT to turn it into JavaScript… perhaps more easy to add features like dragging nodes around, pan and zoom.

  3. Any chance you might share this code? Your idea is fascinating, and although I’ve never worked with Graphviz, I would like to experiment with writing RSS fed graphs this way – could you share the specific code you used in Graphviz to produce the graphs you displayed in your post?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>