In many "Web 2.0" sites (e.g. Flickr and Last.fm), the main classification of content are user-defined tags. While tag clouds already provide an intuitive overview over their respective frequency and also an rudimentary way to browse the tagged objects, this browsing could be improved using more appropriate visualizations and interactivity. A wide variety of techniques have been proposed for improving the rendering of tag clouds, however, little research appears to focus on how tags can be used as information retrieval systems. So far, "browsing" is restricted to searching for objects (e.g. artists or photos) with a certain tag, or at best a certain combination of tags, and listing these. This method is limited in its usefulness because of its binary nature - an object either contains a tag or it does not. Furthermore, the strict order of query and result does not lend itself well to an iterative search process.
For this scenario of enhanced browsing using tags, we propose to use an approach inspired by Dust and Magnet by Yi et al
, but changed to adress some design choices we perceive as drawbacks. In the main window, the user can place "tag-poles" that attract objects which are tagged with this same tag (like a magnet attracts iron dust). Objects are automatically retrieved from the back-end and placed according to the forces of the magnets (also trying not to overlap one another, if possibly). In a sidebar the information for the currently selected pole or object is displayed. In case of an object, this also includes a list of tags, from which the user can drag and drop onto the main window to create new poles.
We enhanced this concept further by introducing a second step: Any object previously retrieved can be transformed into a pole, which will then attract similar objects. Alternatively, an object can be transformed into a set of poles, from which some can be deleted, which enables the user to find objects similar to the selected one only in certain aspects
. For example, after the user found an object she likes, she can transform it into poles. Now she can order these poles so that those she feels are not necessary are further away from the necessary ones. This way, objects having the wanted tags are displayed closer to the latter group.
Potentially, further types of poles could be added: Examples include negative poles, repelling any object containing a given tag, or pole groups which combine several poles using either "and" or "or" relations. These extensions would allow the user to formulate complex compound queries in a playful manner, without having to use an explicit textual notation.
of the TagPoles
user interface can be found here
. A working demo of TagPoles
is available at http://tagpoles.paranoidsoftware.de/
Changes to Dust and Magnet
Dust and Magnet visualizes data as points ("dust"), which is attracted by user defined filters ("magnets"). The attracting force proportional to the conformance of a data point to a given filter, but not from the distance to the magnet. Because of this, an actual physical simulation would never reach a stable state or (if damping were applied) all data points would flock to their strongest attracting magnet. Therefore, there can be no constantly running simulation, but instead the the simulation is only run if the user is dragging a magnet with the mouse cursor. Furthermore, the magnets can be moved arbitrarily or removed altogether in the process of filtering the data. This however means that the results generated with Dust and Magnet can only be verified by reviewing the entire interaction process which has led the user to a given distribution of data points.
We believe the metaphor of Dust and Magnets is a very good and strong one, but would benefit from a different implementation: We propose to apply spring forces between magnets and data points and have a constantly running physics simulation. This simulation will reach a stable state in a relatively short amount of time (assuming a number of magnets not higher than 10). In this state, data points will be closer to the magnets they are most attracted by, making this static representation immediately interpretable. Of course, there can be ambiguous cases, however these can be solved by moving the magnets and seeing the effect on the data points.
| Performance evaluation
|| Simple, browser-run prototype, able to simulate a dozen magnets and tens of items, preliminary user interface
| Data acquisition
|| Application is able to load images and tags from flickr, users can create magnets from tags and photos
| User interface refinement
|| Application is stable, potential new magnet types are added, project is ready to be published
An evaluation prototype can be tested on http://tagpoles.paranoidsoftware.de/test.php?magnets=5&dust=30
The test application creates dust particles with random colors which are attracted to the magnets depending on the similarity of their hues. The framerate achieved is displayed and the number of magnets and dust particles can be manipulated through the request url.
On the test machine (Core2Duo
E6600, Firefox 3.5.6) still runs with an acceptable framerate of around 30 fps with 10 magnets and 80 dust particles.
All basic functionality is implemented, however in-depth testing is still necessary. A test version can be viewed on http://tagpoles.paranoidsoftware.de/
All request to flickr are redirected to a local server, to hide the flickr api key, perform caching of results and because XmlHttpRequest
to foreign are problematic in some browsers.
Magnets can be merged and redivided. The sidepanel uses jQuery UI tabs to display information about Magnets and Images.
Deviations from original schedule
Due to the roughness of our original schedule, no major deviations occured in terms of time-management. In terms of features, the only thing dropped from our initial plan are special magnet types. While implementing the functionality would have been easy, adding it to the user interface would have been more difficult and could potentially threaten the simplicity of the user interaction.
Other relevant previous work
Source code and demo
A working demo of IVTagPoles
is available at http://tagpoles.paranoidsoftware.de/
The current source code can be downloaded from https://wiki.medien.ifi.lmu.de/pub/Main/IVTagPoles/tagpoles_source_rev34.zip