By Shaya Pourmirza
This module has been created for communication between a Facebook group and Open Wonderland as part of my masters thesis project at the University of Essex. With this module, users can post comments in a 2D Facebook group and have them dynamically show up within an Open Wonderland world. Additionally, users in the Wonderland world can start new discussions or add comments to existing Facebook discussion threads from in-world.
To support this functionality, each Facebook group integrated with Wonderland has a Facebook Application as an intermediate layer. In this example, I have created a 2D Facebook application (http://shoopi.appspot.com) and deployed it on the Google App Engine. The functionality of this application is described below.
Authentication and Authorization
Before a user can set up a Facebook viewing window in Wonderland, they must use the intermediate Facebook application to generate an Access Token.
They can then copy this Access Token from the Facebook application and paste it into a dialog box in the Wonderland world to authorize the Wonderland Facebook code to access Facebook. This step only needs to be done once by an administrator. All other Wonderland users can then see the Facebook discussions in-world. The 2D Facebook application uses Facebook’s new authentication method which is based on Access Token and OAuth 2.0. (For more information, see Facebook’s Server-Side Authentication documentation.)
Retrieving Data From a Facebook Group
Once the admin user has entered their Access Code in Wonderland, Facebook viewing windows can be opened in-world. These windows can show discussions in private Facebook groups that the authenticated admin user has access to, or they can show discussions in any public Facebook groups. The Facebook viewing windows are based on the Wonderland HTML Poster module, so all links in these windows are live. There is one Facebook viewing window per Facebook discussion group.
Creating a New Discussion
To open a new Facebook viewing window in Wonderland with an entirely new discussion thread, the user can click on the “Add a New Discussion” link in an existing Facebook viewing window. This launches a New Discussion entry form in an external web browser window.
Once this initial post is created, any in-world or 2D user can add a comment to the discussion.
Adding a New Comment
In-world users add comments to an existing discussion by clicking on the “Click here to add new Comment” link in the appropriate Facebook viewing window. This launches an external browser window. Users are taken to an Authentication Servlet web page. If they have not already logged into Facebook, they will be asked to do so. Once logged in, they are provided with an Access Token. Users must copy this token and then proceed to the next screen where they can enter their comment and paste in the token. When they click the “New Comment” button to submit their comment, it simultaneously shows up in both the 2D Facebook group and in one of the Facebook viewing windows in the 3D world.
The following video was captured from a user trial session.
It illustrates the procedure of adding two comments from the 3D world into a Facebook group. Since these comments were added at the same time, only one of them will be shown step by step. Finally, participants were asked to fill in a usability questionnaire. The results indicated that users appreciated this new Open Wonderland feature.
If you are interested in looking at the code for this module, I have made a zip bundle available on Google Drive:
Select “Download” from the File menu to download the complete bundle.