I started thinking a few days ago about tag clouds that are commonly found on web pages and realized that, given the limited nature of screen real estate, eventually standard tag clouds will become concatenated. The only other options to dropping tags with smaller entries is to continually decrease your font size (not practical, nor disability compliant), increase your screen real estate, or start thinking in more than one dimension.
I opted to do the latter. So I began the creation of my 3D tag cloud project. The project is really just a rough draft, but demonstrates the usefulness of having an unlimited area of expansion from which to interact with your tags. In this example, I just pull my data from an embedded XML document, but the concept would work the same whether you called a web service, or an external source for your tags.
One of the major issues when displaying text in 3D comes from the fact that most 3D engines are bitmap based, which makes the rendering of text difficult, and maintaining good quality text is nearly impossible. Instead, I opted to use the vectorvision library from Barcinski and JeanJean. Vectorvision allows you to convert any text string into a vector based text object. Once I created my text object, I simply add it into my Papervision 3D Flex project onto the surface of a pivot DisplayObject3D at random using the standard formula for spherical coordinates.
Here is the source code for the project so far, and there are a couple issues that have not been addressed, mainly the inversion of the vectorvision text objects as the pivot rotates, and adding click events to the tags. I want to thank Seb Lee-Delisle and his article on particle billboarding which helped so much in development of this rotating tag cloud (rotag).
See the project in action here
Here's the source