Archive for February, 2010

Web API and start of the first visualisation

February 12, 2010

After a closer look at the services available to access data from social bookmarking sites (see earlier blog post), the next step was to create a Web API and to start creating a first visualisation. The last few weeks I’ve been working on both, this blog post is a short description of the work I’ve done these last weeks.

Web API

The services I chose to start implementing were Delicious and Bibsonomy,  after a small investigation on a number of services as explained in my presentation of 17th of December. Delicious offers an API to access your own bookmarks but not other users bookmarks. So I adapted an existing web scraper in Java to retrieve bookmarks from Delicious. Bibsonomy offers a Java API which made retrieving bookmarks of the site easy. After retrieving the bookmarks using Java, I started working on the web service. I chose REST over SOAP because development for REST is easy and messages are easy to understand. I used Restlet a RESTful web framework for Java which made it easy to develop a web service. The web service will support both XML and JSON as a response format to make the web service more flexible to use.

The URL of the request to the web service currently looks like this:

http://domain:port/bookmarks/titlePaper

The only argument is the title of the paper, of course I will add other parameters like type of web service, response format, author, …  I’ll also offer more request like a request for all tags used for a certain paper on a social bookmarking service, … The response to the request previously mentioned will look like this.

Visualisation

My first visualisation of tags from a bookmark was based upon the Cluster Map of Aduna. But since this isn’t available any more without a license I started searching for a environments offering visualisation frameworks. A framework I found was the Flare framework. A demo of the framework showed a nice circle packing visualisation (check: demo -> layouts -> circle pack). I thought it would be easy to recreate the Cluster Map visualisation of Aduna, so I started recreating the nice edges of this visualisation. After creating my own edge object I was able to create the following type of edge:

But after trying to create apply the edge to a circle packing layout I ran into several problems: I’m unable to create multiple circle packs in one visualisation, creating multiple visualisations you are not able to control where a circle pack shows up on the screen, … The problem made me take a step back and only use simple circles. In stead of showing a circles within another circle (=circle pack), I’m going to use circle size to show the number of bookmarks with a certain tag. To get an idea of how I would want my visualisation to look I created the following mockup:

This mockup was created by manually drawing circles on the screen and using my own edge object using Flex. The grey circle in the middle shows the paper which the user starts from, smaller coloured nodes are connected to the center circle showing the tags used to bookmark the paper. The larger circles show groups of bookmarks, these circles are connected to the tag circles, a group of bookmarks can be tagged by multiple words like Science and Social bookmarking.

Next week

Within the next week I’ll create my own visualisation object as to create my own type of visualisation as the one’s offered by Flare don’t seem able to create the kind of visualisation I need. I will also search for other visualisation frameworks for Flex that could help me in building my visualisation. Any comments or ideas are welcome!