design intelligence

Tag Swarms - Part I

Posted on 26th March 2006
'Tag clouds' have become very popular of late, especially with bloggers. They provide a way of summarising the content of a blog, blog entry or any other 'text heavy' web page based on one or more 'tags' that the user can assign to summarise the main text (for example, the tags for this article can be found to the right of the main headline).

A tag cloud uses these tags by determining the relative frequency of each tag (i.e. it counts the total number of times each tag appears). The text of each tag is then added to the page in a font size proportional to the number of times it appears. The viewer of the tag cloud is presented with a list of terms (tags) where the most common terms are written in larger text and the least common in smaller text - thus it provides an easy way to determine the content of a site at first glance.

The 'tag swarm' takes this technique one step further by depicting the number of times a pair of tags are found together. It does this by positioning each tag in a 2D space - tags that appear together more often are 'clumped together' into a swarm that represents a certain semantic category - for example, the tags 'PHP', 'JavaScript' and 'HTML' might be found together very often (so would be a closely clumped swarm - maybe we could define it as 'Web Programming Languages') but its very unlikely that someone would assign a 'Cooking' or 'DIY' tag to the same articles (so, if they were present at  all, these would be further away from the 'Web Programming Languages' swarm).

In the next article I'll go into detail about how I went about building the tag swarm and discuss a few of the problems I came up against as well as talk about possible modifications in the future. For now take a look at the tag swarm for this site. Because the site is quite new there aren't very many tags - but as the site matures and more content is added the tag swarm should become a lot more interesting.