Continuing with the theme of increased internet integration as outlined in my last blog post, I’m pleased to announce the addition of a Twitter Viewer module to the Wonderland Module Warehouse.
It uses Twitter4J–a Java library for the Twitter API, and relies on the existing Twitter search operators. It requires no authentication, and can be installed and used by any user logged in to Wonderland. The user is able to enter a search query and the resulting tweets are added to the virtual world in two ways: firstly in a list widget displayed in the heads up display; and secondly as animated bubbles floating up from a 3D model of a pigeon.
Here’s a brief video of the Twitter Viewer in use.
As mentioned in the video, the query is performed every 30 seconds and will continue executing even if no user is logged in to the world. All the results of the query are presented in the list widget next time a user logs in. The list widget (actually a table widget) will hold a maximum of 99 tweets, after which it discards old tweets.
The module is now in the Module Warehouse and the source code in the Positive Spaces SVN repository. If you take a look at the source, you’ll see that this module includes three features of Wonderland:
- Animation of tweets, using the Trident animation framework
- Connection from the Wonderland server to an external service provider, in this case Twitter, via the use of the Darkstar service layer
- A periodic task to execute a query, retrieve the results and forward to clients.
In my last blog posting, the instructions for checking out the source code were cropped. Here they are in full: inside a terminal window, execute each of the following command as one line (when prompted, use ‘anonymous’ as the username and a blank password):
% cd ~/src/trunk
% svn checkout http://gforge.grid.ece.ntua.gr/svn/spacespublic/trunk/
UEssex/wonderland-modules +spaces-modules
This will create a directory called +spaces-modules that is a sibling to the wonderlandand wonderland-modules directories.
This is really cool, and a great way to combine microblogging into a 3D environment.
I imagine it should be fairly easy to allow authentication and make the pigeon an embodiment of “my” twitter? (I mean, so each person can have his own twitter pigeon – it may even follow my avatar) and bringing me the tweets I follow? (this is with no relation to +Spaces).
For +Spaces, a question: can we have just one search query at a time? or a query per pigeon? (say I want to follow several twitter polls, can I do that?)
Michal
thanks for your comments. Let me address them:
1) Authentication Yes, it would be possible, but having experimented with it I chose not to implement it as it seemed to contradict the point of a shared environment. I’m waiting to be convinced of the argument for using a ‘personalised’ service in a shared space for other users to use. There’s some issues here about privacy and security. So, for example, who would be able to change the search terms? Just me or other users in my group? Would everyone be able to see the object, and so on. I think it’s more likely that such a personalised service would appear just to the user concerned, perhaps in their HUD.
2) It’s a query per pigeon (perhaps the pigeons need a way of having their appearance changed to distinguish between multiple pigeons?)
cheers
Bernard
This really cool, and very useful. Especially like the pigeons:)
[...] The source for the module is available from the positive-spaces SVN repository, described in my last post: Wonderland a Twitter. [...]
[...] also described the Twitter Viewer, a tool that allows users to display a live twitter stream in-world. Slide showing Twitter Viewer [...]
Just tried to checkout the source code today (05/12/2011) and found the repo site is down.
I have checked out the source code in previous weeks with no problems whatsoever.
Is there a alternative repo site??
Cheers
Rizwan
yes, the repo site is currently down due to an electrical fault. Unfortunately, we do not have an alternative site. I would expect the site to be back up later today (European time) or tomorrow.
Bernard