Facebook Group Integration Module

September 24, 2012

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.

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.

Create a New Discussion

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.

Demo Video

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.

Source Code

If you are interested in looking at the code for this module, I have made a zip bundle available on Google Drive:

Facebook Integration Module Source (.zip)

Select “Download” from the File menu to download the complete bundle.

Advertisements

Fall Meeting Schedule, etc.

September 18, 2012

By Nicole Yankelovich

As many of you know, we held a series of Open Wonderland meetings recently to discuss the future of community meetings along with a number of other topics.

September 5, 2012 Community Meeting
September 5, 2012 Community Meeting

Fall Meeting and “Code-a-thon” Schedule

The major new idea we discussed was holding longer weekend “code-a-thons” approximately once a month rather than weekly one-hour coding sessions. A code-a-thon is where developers come together and work on a project from start to finish in one day.

Instead of coding during the weekly meetings, we talked about cycling through a number of other types of meetings. First, we’ll move the monthly release meetings into a regular meeting time slot. The other weekly meeting slots will include planning for the code-a-thon sessions, hosting community showcase events, and having discussions on topics of interest to the community. The showcase events will involve a person or team providing a presentation and / or a tour of their Open Wonderland virtual world. The discussion topics will primarily be non-technical, but we may occasionally include developer-oriented content.

Open Wonderland Fall Schedule

All Wednesday meetings start at 1pm US Eastern time and run for 1 hour and all Sunday code-a-thons start at 1pm US Eastern and run for 5-7 hours.

Wed Sep 19 Monthly Release Meeting
Wed Sep 26 Discussion: Business Case for OWL
Wed Oct 03 Code-a-thon Planning Meeting
Wed Oct 10 Showcase: Ryan’s Builder Project
Sun Oct 14 Code-a-thon

Wed Oct 24 Monthly Release meeting
Wed Oct 31 Discussion: Wishlist for Data Collection
Wed Nov 07 Code-a-thon Planning Meeting
Sun Nov 11 Code-a-thon

Wed Nov 28 Monthly Release Meeting
Wed Dec 05 Showcase: STCC ESL World
Wed Dec 12 Code-a-thon Planning Meeting
Sun Dec 16 Code-a-thon

Holiday Break

Everyone in the community is encouraged to submit discussion topic ideas and volunteer to showcase their project.

The Open Wonderland Meeting Calendar is now available as a public Google Calendar with the calendar ID:

openwonderlandfoundation@gmail.com.

You can add it to an iCal application using this URL:

https://www.google.com/calendar/ical/openwonderlandfoundation%40gmail.com/public/basic.ics

Webcasting and Recording Meetings

Over the past year we have gotten quite a few requests to webcast and record meetings. After brainstorming about this topic, someone suggested we try Livestream. Since this costs $45 a month, I decided to experiment with the free version of UStream first. We now have a UStream Open Wonderland Community Meeting channel. It has a few drawbacks, but I would like to try it for a few meetings and see how we like it. The drawbacks include advertisements and what may be an inability to capture both microphone and computer audio. I don’t think either of these are show stoppers. We can capture in-world audio, so someone will have to set up the capture computer as a “camera,” but do any talking on another computer.

Priorities

An additional topic we covered was listing priorities. Different people had different opinions about importance, but most people agreed that these items were significant areas to focus on:

  • Avatar improvements or a whole new avatar system
  • Audio improvements
  • Updating OWL graphics
  • Addressing firewall issues and tunneling
  • Creating additional developer APIs to make development easier
  • Improving stability

Recruiting New Developers and Other Community Members

Another topic we discussed was how to grow the community in terms of both developers and non-technical community members. For the more technical people, we discussed coming up with a preliminary code-a-thon project that was glitzy enough to make a demo video and post it on developer sites to inspire interest in Open Wonderland. We also talked about putting time estimates in the issue tracker so that new developers could find small projects to volunteer to tackle.

For both technical and non-technical people, we should do a better job of publicizing our meetings in places like Hacker News, the agile software development community, and LinkedIn groups related to virtual worlds, distance education, serious gaming, collaboration, or software development. In addition, we should get people already in the OWL community to publicize the event to their local colleagues as well as to their social networks. For that purpose, it would be great to have a PDF flyer that people could either email to friends or print out and post on a physical bulletin board.

To attract more students, it would be helpful to update our student project list and then send the list to as many Computer Science departments as possible.

For a general audience, we talked about launching a “Do it in Wonderland” campaign.

All of these publicity ideas require some additional volunteer help. We’re hoping to get a work/study student volunteer from St. Paul College to help out during the semester, but it would be great if community members would volunteer to take the lead on some of these publicity items.


%d bloggers like this: