WonderBuilders Module Contributions

September 13, 2010

Today’s guest blog post was contributed by my business partner, Mike Gialis. The modules described in this post were demonstrated during last week’s Wonderland Wednesday session. See the album on the Open Wonderland Facebook site called ModuleShowcaseSept2010 for snapshots from the event.

WonderBuilders Contributes New Modules

By Michael Gialis

It’s been a busy summer at the newly formed WonderBuilders LLC partnership. This is a new consulting company doing for-profit, custom Open Wonderland development for clients. Our hope in starting this small business was that a number of us from the original Wonderland team, augmented with members of the open source community, could make a living by doing proprietary Wonderland development. We believe that by focusing on specific customer use cases, we can improve the robustness and stability of the platform for everyone. While some of the work we do in this endeavor will not be made public, we will be encouraging our clients to contribute as much as possible back to the community, either in source code form or in binary form as Wonderland Module Warehouse contributions. Our business model is to establish a win-win situation for both clients and for the community.

As you will see from the module descriptions below, so far this concept has been panning out nicely! We managed to make some money this summer, fix over 20 substantial bugs, and contribute this collection of new modules in both source code and binary format:

  • Screen Sharer – Lightweight tool for sharing a portion of your screen
  • Group Tools – Text chat and broadcast messages to groups of users
  • Admin Tools – Force Mute, Disconnect, Turn Invisible
  • Quickstart – Set of short user guides
  • Sorting Algorithms – Computer programming learning tool

The first four of these modules are described below. The Sorting Algorithm module, which requires a bit longer explanation, will be described in a subsequent article. We hope you will find these new modules useful in your own Wonderland projects, or as useful starting points for building new modules.

Screen Sharer

The Screen Sharer module is a light-weight tool for sharing a portion of your screen. Like the VNC application, you can see a remote desktop or portion of someone’s screen in-world. Unlike the VNC application, no additional software is required on the computer being shared. It’s simply a matter of selecting “Share screen” from the Tools menu. A red border will appear in the upper left corner of your screen.

Screen Sharer "share border."

Screen Sharer "share border."

You can resize or reposition this border to share any portion of your screen that you wish.

Shared screen displayed in-world.

Shared screen displayed in-world.

The tool works particularly well if you have a dual-monitor setup, but even without, you can make your main Wonderland window smaller or move it partially off the screen in order to share some other content on your desktop.

In order to keep this application light weight and conserve on bandwidth, we have pegged the screen update frame rate at 1 frame per second. This rate is sufficient for sharing terminal windows, text editors, spreadsheets, error messages, web pages, and other fairly static content. It doesn’t work as well for dynamic data that updates quickly, like video. For video, you’ll want to wait for the new Video Player module, which you can currently experiment with in source format (see the Forum thread “Video Preview 1“).

Group Tools

Group list

Group list

For some Wonderland use cases like conferences or meetings with breakout sessions, teams of people split up into groups and work in separate parts of the virtual world. The idea behind the Group Tools module is to enable group members to easily and privately communicate among themselves, and also to send messages to all the members of other groups. For example, it might be handy to broadcast a request for help to all the members of the “admin” group. Or an event organizer may want to broadcast a message to a team saying that they are needed back in the main conference area.

The Group Tools module adds a “groups” tab to the Users list window. For a group to appear in this list, you have to first set up groups using the Edit –> Groups command in world, or using the Groups section of the Server Admin console. Selecting a group name allows you to open the group chat window for that group or send a broadcast message to the members of the group.

Sending a Broadcast message.

Sending a Broadcast message.

Unlike the Text Chat All window, chat messages sent to a group persist so that a member of that group can see all messages sent to the group since the beginning of the current session.

Admin Tools

At times, it is helpful to have some “super-user” capabilities. For example, if someone has stepped away from their computer without muting their microphone, the background noise can be extremely disruptive to the rest of the virtual world participants. For reasons such as this, we created a set of Admin Tools which work only for members of the special “admin” group. These include two features, Force Mute and Disconnect, that are accessed by right-clicking on another person’s avatar. When an administrator selects “Force Mute,” the person being muted receives a message explaining what has happened:

Force Mute message.

Force Mute message.

That user may un-mute themselves at any time. If an administrator selects “Disconnect,” however, the user will immediately be disconnected from the session.

The third Admin Tool allows anyone in the “admin” group to “Turn Invisible.” This command, accessed by clicking on your own avatar, allows an administrator to walk around the world unseen by anyone not in the admin group. The administrator, plus other admins, will see an invisible avatar surrounded by animated spheres.

An invisible avatar is surrounded by shimmery spheres.

An invisible avatar is surrounded by shimmery spheres.

Right-clicking on your own avatar again will allow you to select “Turn Visible” to turn your avatar back on for others.


The Quickstart module installs a “Quickstart” item in the Help menu that launches an external browser window with this Quickstart Guide table of contents. From here, users can navigate to a selection of Quickstart Guides, covering topics such as the basic operation of the Wonderland environment to descriptions of how to use various applications.

Since the Quickstart module installs simple HTML pages on your Wonderland server, you can easily modify these guides or add a new Quickstart guide for your own Wonderland module.

[To Be Continued – The Sorting Algorithms module will be described in a subsequent post]

Michael Gialis
Partner, Business Development, WonderBuilders LLC



%d bloggers like this: