Printscreen Plugin with a Photo Gallery

August 21, 2013

By Dominik Alessandri & Christian Wietlisbach
Hochschule Luzern Technik & Architektur

As part of our bachelor thesis, along with our Kinect module described last month, we developed a printscreen plugin for Open Wonderland. When the plugin is installed on a server, all connected users can choose if screenshots should be saved locally or on the server. If saved on the server, the pictures can be displayed in an automatically updated photo gallery. The update of the picture gallery is made with a shell script which is running as task in the background on the server. We had to implement it this way, as we did not find a way to save directly in the ‘docRoot’ folder in the ‘run’ directory. The shell script uses rsync to keep these two folders in sync.

When a user is connected to a server with the printscreen plugin installed, he can display the controls of the plugin by selecting ‘Window -> Printscreen Folder’:


The Printscreen Folder dialog allows the user to choose where to save the images:


When pressing the ‘o’ key, a new screenshot will be taken and either saved locally or on the server. The reason why the key binding was done with ‘o’ is very simple: The printscreen key is not forwarded from the client to the module. The capture of the key event is done on a level before the module gets the event. On this higher level, the “Print Screen” key is filtered and the module doesn’t get any event. Instead the message “Key is not allowed” appears. Version 3 of jMonkey will support taking screenshots by default, making it easier to capture the screen.

On the server-side, the screenshots are saved in /.wonderland-server/0.5/run/content/images/screenshot/. This folder should be created by an administrator when installing the plugin.

To run the photogallery, the content of the file ‘’ needs to be extracted to /.wonderland-server/0.5/run/docRoot/lightbox/. This photo gallery shows all images stored in /.wonderland-server/0.5/run/docRoot/screenshot/. To update the photo gallery, we need a background task which copies the files from /.wonderland-server/0.5/run/content/images/screenshot/ to /.wonderland-server/0.5/run/docRoot/screenshot/. For example, the shell-script ‘’ can do the job.

An example of this photo gallery can be seen here:


You will need the following files to get the printscreen plugin running:


Effect of Supraliminal Priming on Team Brainstorming

August 14, 2013

By Nicole Yankelovich

Anne Massey, a professor at Indiana University’s Kelley School of Business wrote to me to tell me about a recent article she co-authored with Akshay Bhagwatwar and Alan Dennis. In the paper, they describe their fascinating research on using Open Wonderland to enhance brainstorming. Here’s a pointer to their paper (PDF version) along with one of the images from the paper and the abstract.

Creative Virtual Environments: Effect of Supraliminal Priming on Team Brainstorming

Bhagwatwar, A., Massey, A., & Dennis, A. R. (2013, January). In System Sciences (HICSS), 2013 46th Hawaii International Conference on (pp. 215-224). IEEE.


Three Dimensional Virtual Environments (VEs) have potential as platforms for collaboration. VEs enable members of teams, represented as avatars, to interact in a simulated world that can be designed in a variety of different ways. Research from cognitive psychology has shown that it is possible to manipulate non-conscious cognition and behavior through “priming”, a well-known phenomenon in which words and images are used to activate desired concepts in participants’ minds. In the context of team brainstorming, we posit that VEs can improve performance when specifically designed with visual objects intended to prime team members and enhance their creativity. Using Open Wonderland, an open source toolkit for creating 3D collaborative environments, we designed two VEs to support virtual team brainstorming: one looked like a generic conference hall while the other was visually designed to prime team members. Results show that when teams generated ideas in the creative VE, they generated significantly more and better quality ideas than when they worked in the generic one. In terms of key contributions, our study (1) demonstrates the efficacy of 3D VEs as collaboration spaces for facilitating team creativity, and (2) shows that the design of the VE itself can influence team performance.

Cyramix – Commercially Supported Open Wonderland

August 7, 2013

By Carlos Rafael Ramirez

Open Wonderland is easy to install and run on your local machine. But when you want your virtual world be accessible by many people from the Internet, things become more complicated. Anyone who needs to have their virtual world on the Internet needs to do the following:

  • Configure a virtual server in the cloud or configure their router to point to a local machine.
  • Manage a domain name or deal with fixed IPs or dynamic DNS.
  • Correctly dimension the server in order to accommodate the necessary number of participants
  • Install the necessary Open Wonderland modules and plugins and configure them.
  • Deal with the fact that not everyone has Java correctly installed or Java Web Start working properly.

More than a half of the posts on the Open Wonderland forum are regarding server configuration issues. People who only want a virtual world running must deal with many technical barriers that are not part of their business.

By providing Open Wonderland as a product, this is the gap that the Cyramix team is aiming to fill. We are offering Open Wonderland virtual world hosting combined with technical support so that virtual world owners only have to focus on building, using, and sharing their worlds while we take care of the rest.

We provide a client installer for Windows that comes with Java embedded as well as a launcher. For other platforms, we offer the standard web-based launch button. With the client installer, the user only has to download and install this one package and then type a world code. That’s all. The Open Wonderland client will launch faster than it does from a web-based launch page since a lot of code will already be downloaded and will not need to be verified each time the client is launched.


With our service, the customer will get a pre-configured island on a shared server in the cloud, ready to be prepared for users. The customer can choose if the world is completely private or if guests will be allowed. We are offering three different plans targeted at different types of users:

Basic (complete experience without video playback, webcams and applications)

  • For painters or photographers who want a virtual gallery as an extension of their website.
  • For 3D artists who want visitors to experience their work in 3D.
  • For presenters and educators who only need slideshows and limited document sharing.

Plus (basic experience plus video playback and public webcams)

  • Multimedia presentations with slides and videos.
  • Rich virtual galleries with biography.
  • Education environment with full multimedia.

Premium (plus experience with fully collaborative application support)

  • Supports developer team meetings with real-time browser and code editing.
  • Real-time document and spreadsheet collaboration using Google Docs or Libre Office.
  • VNC client for desktop sharing

With time, we hope to be the top Open Wonderland contributor, making the platform more and more user friendly and bug free.

We invite everyone to check out our web page and test the trial world. We are just beginning and your comments would be much appreciated.

Here you have the Cyramix video.

Avatar Control with Microsoft Kinect

August 1, 2013

By Dominik Alessandri & Christian Wietlisbach
Hochschule Luzern Technik & Architektur

As part of our bachelor thesis, we developed a module called ‘kinect-control’. This module lets you control your avatar by using your body doing gestures.

This module mainly runs on the client but necessary information will be transferred from the server to the client as needed. All the user needs to have is a connected Kinect device and the Kinect SDK Beta 2 installed. This means the module is only available for Windows x86/x64 clients. All other requirements will be shipped from server to client when logging in. This makes it easy for interested parties to use.

To set up a Wonderland server to use the kinect-control module, the administrator needs to change two files on the server:


These two files must be replaced. The extended files can be downloaded from

These new files contain the DLL ‘KinectDLL.dll’ which is necessary for the connection between Open Wonderland and the Kinect.

If you are running this module on the client-side, the first thing you need to do is to connect the Kinect device to your Open Wonderland client. This can be done using the kinect-controller dialog. After installing the kinect-control module, in Wonderland, click on ‘Window -> Kinect Controller’:


The dialog contains two buttons: ‘Start Kinect’ and ‘Stop Kinect’:

If you have a Kinect device connected to your PC, you can click the button ‘Start Kinect’. After a while, your Kinect Device moves to the initial position and the window displays ‘Connection Works’:


You can adjust the angle of your Kinect device by sliding the slider to the desired position:


Now you are ready to move your avatar by using your body. Place yourself in front of the Kinect device and control your avatar as follows:

  • Walk: Just move your legs up and down
  • Turn right: Hold right arm to the right side
  • Turn left: Hold left arm to the left side
  • Fly up: Hold right arm up
  • Fly down: Hold left arm up

It is possible to extend the gestures recognized by this module. For this, you need to modify the file ‘gesturesBDA.txt’ located in ‘kinect-control-client.jar’ inside ‘kinect-control.jar’ using the software ‘KinectDTW‘. After this file contains your new gesture, you need to map this gesture to a keyboard-input.

The file ‘keyMapping.txt’ contains the allocations from gestures to keyboard-inputs. It is located on server in /.wonderland-server/0.5/run/content/modules/installed/kinect-control/client/. The structure of the file is as follows:

[Name of gesture]=[isMouse[0/1]];[keyCode1[decimal]];[keyCode2[decimal]];[time[millis]]

Example 1:

When gesture @Run is recognized, press key 16 (shift) and 87 (w) 2.5 seconds long.

Example 2:

When gesture @Walk is recognized, press key 87 (w) for 3 seconds long.

For a list of all keycodes you can consult

You will need the following files to get the kinect module running:

A video of the running module can be seen on YouTube:

Enhancing Creativity Among Design Students Using a VRLE

July 24, 2013

By Newton D’Souza and Tilanka Chandrasekera

Newton D’Souza, PhD. is an Assistant Professor in the Department of Architectural Studies at the University of Missouri-Coulumbia and is the Primary Investigator on this project. Tilanka Chandrasekera is Doctoral Student and Research Assistant in the same department. 

Project Description and Procedure:

The project was developed in three phases:

  • Phase 1: Creation of an exploratory virtual reality interface that allows working on multiple skills in design.
  • Phase 2: Pilot testing the interface by incorporating students.
  • Phase 3: Exploring the validity of the tool in fostering multiple skills.

In phase 1 of the project, a storyboard of design exercises relevant to specific skills was developed. The collaborative virtual environment, Open Wonderland was then used to translate the storyboard into a design exercise. The Wonderland virtual environment is a distributed, persistent, virtual space in which people can interact with each other using an avatar controlled by the mouse or keyboard. A designer can chose to design three dimensional forms and directly import them to the Wonderland environment. One student from the Department of Architectural Studies and one from the Department of Textile and Apparel Management were invited to participate in design exercises. These students were self-selected based on an announcement by the researcher to participate. The students participated voluntarily and both were female in the age range of 18-25.

Mixed methods were used in this study. First we used the Torrents Test of Creative Thinking to measure overall skills prior to the design problem. We then conducted a qualitative virtual reality interface interview to measure skills that would be needed to solve the design problem. Later, the results of the two tests were compared to see which skills were reinforced and which skills were diminished.

Design Problem:
Shop window re-arrangement in a shopping mall

The design problem involved re-arranging a shop window display in a shopping mall. We wanted the design problem to simulate a physical studio design problem, but at a decreased level of difficulty. This was to avoid making the design problem a formal logic test (eg, puzzle solving or missing object identification) that architecture schools administer in admissions testing that may not reflect the reality of university-based architectural education. Instead, the design problem emphasis was on context, user-behavior, material, and spatial and logical iterations.

View of the mall in Open Wonderland

View of the mall in Open Wonderland

The subjects were to design a display window for a shop within a mall using five types of platonic solids (see illustration below) and virtual mannequins. They needed to consider factors such as visual appeal, location of the shop, different exits and entrances, other stores, and so forth.

Specific details were provided to subjects to narrow the scope of design. For the purpose of storyline, the shop was named 37 North and the subjects were informed that it was a unisex jeans store.

Layout of  the shops inside the mall

Layout of the shops inside the mall

The subjects were further informed that the shop was flanked by a gent’s shoe store and a women’s apparel store. There were two exits from the lobby: one to the east which exits to the east wing of the building, and one to the west which  exits to the west wing of the building, both eventually leading to two parking lots. There were also exits to the outside (parking lots) from the JC Penny store and the Rocky store located on the two ends of the corridor. An additional exit to the parking lot was located in front of shop number 03.

Although the subjects were to take into consideration the context, they were instructed to only use the show window display area (19’X 3’) for the design and not focus on the interior of the shop.

Layout and location of the Jeans store

Layout and location of the Jeans store

The subjects were instructed about the design process and told that it would span across different software:

  1. Design Environment in Open Wonderland
  2. Platonic solid manipulation in SketchUp
  3. Mannequin manipulation in Poser
Sequence of procedures

Sequence of procedures

Design Process

Inside the collaborative virtual environment of Wonderland, the subjects were provided with instructions on how to use the environment through video tutorials which provided information on  how to move around the Wonderland environment and how to manipulate solid objects inside Wonderland. They were also provided with  training sessions where they try moving, rotating, and resizing solid objects.

Entry to the Open Wonderland environment

Entry to the Open Wonderland environment

Video tutorial area

Video tutorial area

Training area

Training area

The subjects were only allowed to enter the virtual mall after completing the tutorials and training sessions.

Main corridor of the mall

Main corridor of the mall

Once the subjects were familiar and comfortable with the Wonderland environment, they made their way to the SketchUp software which they used to manipulate the platonic solid objects.

Platonic solids

Platonic solids

We modified the SketchUp interface to limit the options available to the subjects. The main purpose of doing this was to narrow the design space and limit the number of design decisions that the subjects had to make. This helped to frame the design solution more clearly.

Sketchup interface

SketchUp interface

The subjects were provided with only three types of material: a rigid material with a grid and solid forms, a material with organic patterns, and a solid color patch. They were allowed to change the color hues, opacity, and scale of the material. Once they were satisfied with the material and the overall look of their 3D object, they were instructed to export the file as a .KMZ (Google earth format) and drag and drop it into the Wonderland window where they wanted the object to appear. Once the object was inside Wonderland, they were able to move, rotate and re-size it.

The next phase involved using the Poser software to manipulate a mannequin. The subjects were provided with a basic male mannequin model which they could use to portray different poses.

Poser interface

Poser interface

After they manipulated the model within the Poser software, they were instructed to export it as a .DAE file and then drag and drop it in to the Wonderland window where they wanted the mannequin to appear. Once the mannequin was inside Wonderland, they were then able to move, rotate and re-size it.


As mentioned above, the students were instructed to create a window display for a jeans store. They came up with the concept “hanging out in out jeans.” In keeping with this theme, they hung the mannequins from the ceiling of the mall. Given that there was also a seasonal dimension, they added geometric objects with Christmas colors to create a 3D pattern in between the mannequins.

We have not yet analyzed the data completely yet, however, we did find it interesting that Wonderland provided a fertile ground for collaboration between students in two different fields. In general, student feedback was very positive. They loved working in such an environment and they mentioned that it might be even more useful if we tested it out with them being in different locations. When they were asked what they thought should be improved, they mentioned the displacement in the models when the models were imported.
There was one major hiccup that we encountered. Our screen capture software crashed and we were not able to get the screen capture data. Since we separately were recording the screen through additional video cameras, however, we were able to code the actions of the subjects. There were no issues with the Wonderland interface, since we gave our subjects ample training before starting. As mentioned earlier, imported objects did not appear in the place that students expected them to, so that was a cause of frustration. We’re not sure of the root cause of this problem. It may have had something to do with the Sketchup and Poser models that we used.
Going forward, we will complete the data analysis and we will use Wonderland again for phase II of the same project. In this phase, we plan to conduct the same study but increase the number of subjects. In the future, we plan to explore the possibility of  using Wonderland as a tool for virtual architectural critiques.

Building Software Together in Open Wonderland

March 18, 2013

By Nicole Yankelovich

Yesterday I gave a talk at the Northeast GNU/Linux Fest in Cambridge, MA. The theme of my talk was using Open Wonderland as a collaborative software development environment. I used the Subsnapshots project and the Postcards code-a-thon as two case studies to show people how we use Open Wonderland throughout the software development process. One thing that struck me when I put this presentation together was how many collaboration tools we actually have to support this rather complex and multidisciplinary process.

I published my slides on Slideshare in case others are interested.

New Collaborative Text Editor App

December 12, 2012

By Bob Potter

Multi-user text editor iconDisplaying and editing text can be accomplished with several tools in Open Wonderland.  These include Sticky Notes, the PDF Viewer and via the Shared Applications server using Open Office or web-based editors such as Google Docs. Each of these, however, comes with significant limitations.  Sticky Notes are best used for short pieces of text.  The PDF Viewer will show text documents but not permit them to be edited.  Open Office editing is limited to documents managed on the application server, and due to the nature of shared applications, does not support cut and paste from the user’s computer. The cut and paste limitation also applies to web-based apps. In addition to the cut and paste limitation, the usability of the web-based editors is not optimal because of the large overhead of editing text in a web browser on the application server. Additionally, given the nature of shared apps, there can be lags in viewing text updates in Open Office or other Xll apps. Finally, shared applications place a significant overhead on the application server, especially when the user is navigating and editing text.

Frequently in our Wonderland community meetings, we have experienced the need for a text editor that can:

  1. Display a large amount of text,
  2. Be edited concurrently by multiple users,
  3. Support cut and paste from the user’s system,
  4. Import selected file types using drag-and-drop; and
  5. Export the edited text back to the user’s computer.

The new Collaborative Text Editor module recently uploaded to the Module Warehouse meets these needs for routine text editing.

Collaborative Text Editor

Using the Collaborative Text Editor for note-taking in an Open Wonderland community meeting.

Once the module has been installed, a text editor can been inserted into the world using the Insert –> Object dialog.  To edit text, one or more users can take control of the editor, move the cursor to the desired location, and start typing.  The editor is limited to plain text and does not yet support any formatting such as bold and italic. There are two buttons in the lower right of the frame.  The “Sync” button can be used to refresh the display with the master copy of the document stored on the server.  This function is only required if the text appears to get out of sync when multiple people are typing or editing at the same time.  The second button, labelled “Export,” will bring up the Save File dialog, permitting the user to save a copy of the file to their own computer.

The Collaborative Text Editor supports drag and drop of text files. If a user drops in a file with the .txt, .log, .html, .java or .xml extension, the editor will automatically open and display the document. Note that since this is a text editor, it will display the Java, html, or xml source, complete with all the code and markup information. Files dropped into the world can be edited and saved back to the user’s system via the export capability.

This editor is based on the work Jonathan Kaplan (Chief Architect of the Open Wonderland Foundation) had done for the programming demo module called “Sorting Algorithms.”   Within that module, Jon had developed a code editor that permitted concurrent editing by users.  This current collaborative editor was developed by extracting and enhancing this code to create a generic text editor application.

Technical Details

The module contains both client and server code to manage the concurrent insertion and deletion of text.  Since users are actually editing slightly different copies of the same document, both the clients and the server need to adjust the position of each insertion (or deletion) based on the current state of the document in their space.  The server’s responsibility is more complex. It is receiving messages from multiple clients, each possibly being a different version from what is in the server’s master copy.  The server transforms each of these changes into the most recent version and forwards these on to the clients.  The clients have to ensure that any local modifications that have occurred since their last update has been applied are considered when determining the target position of the changes received from the server.

The code for this module is presently hosted on GitHub. (  The standard Open Wonderland license applies to this module. This is still a work in progress. I would appreciate your feedback.

%d bloggers like this: