In-world Building Tool

February 7, 2012

By Morris Ford

I am working on a new module that is for building in-world. It differs from the standard Wonderland content creation flow since this module is used to construct complex models without the use of external modeling tools.

The use of this tool to create structures in Wonderland is not intended to replace the current workflow but to add a new way to create content. The workflow of this new module is to insert an instance of the module in world and then build up the desired structure starting from the cube that is initially created. The desired model is made up of many individual shapes that are created by clicking on a surface of an existing shape. For instance, one of the current shapes is a cube. A click on one of the six surfaces of the cube causes the module to add a new shape. The location of the new shape is attached to the shape that was clicked. Exactly where it is attached depends on what new shape is desired. If the click is on the surface of a cube and the new shape is a cube, the new cube will be attached to the clicked surface.

The module allows for the selection of the properties of the module in a HUD-based control panel. Properties such as the shape, texture and relative location among a number of others are configurable from the control panel.

The structure of the model is stored in an external database that is updated at the point of creation of each new shape. A structure stored in the database can be retrieved and created in world from the HUD control panel. Since the data stored in the database is in a form that describes the shape, texture(s), location, etc., any system that can access the database and create the 3D shapes could use the structures.


Singapore Games Village

January 18, 2012

By Michael Gialis, WonderBuilders, Inc.

WonderBuilders recently completed the Singapore Games Village project for the Media Development Authority of Singapore’s new Games Solution Center. In addition to constructing the world in collaboration with a 3D artist from Singapore, we created a custom Wonderland module for the project to support Game Kiosks.

As you can see from the video, Game Kiosks are made up of two posters on either side of a central application area. This area allows visitors to watch a recorded video, display web content such as games created with Flash or Unity, or share content from their local screen. To use a kiosk, users simply click anywhere on the kiosk. Their camera is set to Best View for kiosk and a control panel opens.

Example of a Game Kiosk

Example of a Game Kiosk

The kiosks are configurable using a custom property sheet that allows an administrator to specify links to splash screens, demo videos, and playable games.

You can read more details about the Singapore Games Village project on the WonderBuilders web site.


Telepointer Project Starting

January 10, 2012

By Nicole Yankelovich

Happy New Year! Just a quick reminder that the new Wonderland Wednesday telepointer project is starting this Wednesday. The details are here:

Wonderland Wednesday: Improving Telepointers
http://www.facebook.com/events/270055686389943/

During the break, we made some good progress thinking through the performance issues with Sticky Notes and other apps. This work will continue in the background, with various community members volunteering to take on small investigations each week and reporting back their results at the end of each Telepointer session.


Open Wonderland on a Tablet

December 23, 2011

By Roland Sassen

With the availability of numerous tablets, it is a natural step to use these devices for all kinds of applications. But what to do when your applications need a lot of graphical power? Most virtual world toolkits have a heavy client, which uses the local graphics card for rendering.

The good news is that it is possible now to run your client in the cloud and enjoy your 3D application on your tablet. WonderSchool is an example of a virtual world service provider that allows you to access your virtual world from a PC client or from a handheld. Technically this is possible by using remote desktop software installed as an app on your handheld. The app receives the images and forwards these to your tablet screen. As an example, look at this video where you can see how to use the Open Wonderland virtual world on an iPad.

How it Works

The Sun Ray device, a stateless device, has been emulated by Oracle, and this emulation is available as OVDC  (Oracle Virtual Display Client). This small software component is also available as an iPad app (Oracle Virtual Desktop Client App for iPad) and can be seen demonstrated in this Oracle Virtual Desktop on iPad in Action video.

Our company, THINSIA, enhances this functionality with access to a server with the Open Wonderland client. This client connects to an Open Wonderland server and to a video server for the rendering of the images. The rendered images are sent directly to the Sun Ray server and are forwarded to your device, in this case an iPad.

WonderSchool offers hosted Open Wonderland servers and hosted OWL clients. It will be an interesting project to make these technologies available in a huge grid for many thousands of schools and universities. As all the components used here are scalable, the sky is the limit.

For more information, contact me at:

sassen@thinsia.com


Up Next: Telepointers and Improved Stickies

December 20, 2011

By Nicole Yankelovich

With the EZMove project complete, it’s time to move on to the next Wonderland Wednesday project. Instead of focusing entirely on a single project, we decided to research one project while implementing another. Join us tomorrow for the first Wonderland Wednesday session in this new series.

About the Projects

Improved Telepointers
While telepointers may not sound tremendously exciting, we believe a good telepointer implementation will dramatically enhance collaboration. Here are examples of what telepointers look like in a 2D environment:

Telepointer examples

Telepointer examples

They allow remote collaborators to point and gesture at specific items. The current telepointers in Wonderland do allow you to point to 3D objects, but they suffer from two major problems. First, they look horrible!

Current OWL telepointer

Current OWL telepointer

More importantly, they don’t work when a user has control of a 2D application, which is the time when you most want to be able to point to 2D items. The aim of this project is to improve telepointers such that they work well in both the 2D and the 3D cases, which will also involve improving their appearance.

Enhanced Sticky Notes
Sticky Notes are one of the most heavily used 2D apps in Wonderland.

Example of sticky note usage

Example of sticky notes used for brainstorming

While they are quite useful as is, they suffer from a host of problems. The worst of these is that if there are too many of them in world at the same time, they cause performance to degrade. The reason for this is that each note is a full-blown shared application. Other problems are that they are not resizable, the standard notes don’t support multiple fonts, you can’t add images or drawings to them, and they’re only a single “page.”

The major effort in this project is figuring out a way to redesign the notes such that each note is not such a “heavy weight” application. The exact way to do this, however, is not immediately obvious. It is for this reason that we decided to spend some time experimenting and researching the different possible ways to approach solving this problem.

How the Projects are Selected

A number of factors go into selecting these project ideas. The project has to be small enough to accomplish in a reasonable amount of time given that the group only meets an hour a week. We also want each project to focus on a different aspect of the system for maximum learning benefit. Finally, we want the functionality to be as useful as possible to the greatest number of people.

The Plan

In this selection process, quite a few people liked the “Enhanced Sticky Note” project idea. This project, however, is rather large and, as mentioned above, we don’t at this time know exactly what it will take to accomplish it. The Telepointer project, on the other hand, should be relatively quick and we have a pretty good sense of how to implement it.

So here’s the plan. Between now and January 11th, anyone who is available for the Wednesday sessions will focus on exploring the code and doing background research necessary to scope out the Enhanced Sticky Notes project. That research will continue in the background through January and February. In the mean time, starting on January 11th, the Wonderland Wednesday group will begin the implementation of Telepointers.

When the Telepointer project is complete or near complete, we will evaluate the Enhanced Sticky Note research and decide if it will be feasible to take on that project as the next Wonderland Wednesday project. Since it’s quite a large project, we are also considering having volunteers spend an extra hour or two a week working independently or with a single partner to write code or do testing between Wednesday sessions.

Why Participate?

If you are a Wonderland developer, Wonderland Wednesday sessions are about the best way to learn the intricacies of Wonderland programming. As with the Subsnapshot and EZMove projects, the sessions were an opportunity to learn about the development environment in a highly collaborative setting. Not only do developers learn coding practices from one another, but they also discuss best practices for testing multi-user, multi-platform software.

Even non-developers can benefit from participation. All of these projects involve end-user functionality. The more end-users who contribute to the design and testing, the better the outcome of the effort will be. Particularly at the beginning and near the end of each project, there are opportunities for non-developers to contribute. At the beginning, we focus on what functionality to include and we design the user interface – the way the feature will operate. Even for something seemingly simple like Telepointers, there are a lot of decisions to make about how the feature should work. Towards the end of the project, the group tests the new code. This is the fun part! You can watch the feature evolve from something primitive that barely works to a feature you don’t know how you managed to live without.


EZMove Now Available

December 16, 2011

By Nicole Yankelovich

We have now completed our second successful Wonderland Wednesday project. EZMove, a tool that makes it easier to move objects than the standard edit tools, is now available for download in the Module Warehouse. Here’s a quick video that shows how the feature works.

The primary thing to remember is that all EZMove functions are available when the ALT key (OPTION key on a Mac) is pressed.

For specific details on how to use EZMove, refer to the EZMove documentation.


NSF Funds Wonderland ESL Project at STCC

December 15, 2011

By Nicole Yankelovich

As I announced at the recent European Immersive Education Summit, the US National Science Foundation (NSF) has awarded a grant to Springfield Technical Community College (STCC) to create an immersive environment for teaching English as a Second Language. You can read more about the project in these two press releases:

STCC Press Release

WonderBuilders Press Release

The project is currently in the design phase. One of the particularly nice aspects of this project is that it involves multiple departments at the school. I am currently working with students in the photography department coaching them on how to take and edit photographs for use in 3D modeling. In January, I will be working with graphic arts students to show them how to build models of buildings on their campus and apply the photographs as textures. In addition, I’ll be helping to train staff from various departments such as Financial Aid and Student Affairs on how to staff office hours in Wonderland so that ESL students can practice their conversational skills with actual college staff volunteers.

By the end of the project, STCC plans to have curriculum for four levels of ESL instruction in Wonderland.


Wonderland Session at E-iED Conference

November 28, 2011

By Nicole Yankelovich

Today a number of Open Wonderland community members gathered to do a (mostly) remote presentation at the European Immersive Education Summit in Madrid. Presenters, connecting remotely from 6 countries, described 9 different Wonderland projects. Four community members donated portions of their virtual worlds for the presentation. They have all generously agreed to leave these spaces on the Open Wonderland Community Meeting Server for others to visit. You can find them using the placemarks “Gran Via,” “iSocial Garden World,” “Entrepreneur Space,” and “Cockpit 3D.”

Michael Gardner from the University of Essex moderated the session from Madrid, projecting Open Wonderland from his computer for the live audience to view. Carlos Delgado Kloos, one of the local hosts, did the first presentation, also live from Madrid. He talked about the Gran Via world created at University Carlos III de Madrid designed for Spanish language learning.

Gran Via world for Spanish language learning

Gran Via world for Spanish language learning

Next the group moved to the iSocial Garden World space where Krista Galyen from the University of Missouri provided an overview of the iSocial project. She explained how this sample space, as well as many others they have developed, are used to teach social competence skills to children diagnosed with Autism Spectrum Disorders.

iSocial project overview in the Garden World space

iSocial project overview in the Garden World space

Following Krista, iSocial’s lead developer, Ryan Babiuch, described a key module used in the iSocial project called the Sheet Suite. He played a Sheet Suite demo video in-world to illustrate how the system works. The Sheet Suite allows instructors to create multiple choice questions, open-ended questions, and other types of sheets that display in-world on the heads-up display. There is also a web tool for creating and managing sheets, as well as a reporting tool that aggregates sheet results and provides the ability to export the data to a spreadsheet. The University of Missouri has made the decision to open source this valuable tool for educators. When available, we will ask the team to write a detailed blog post on how to create and use sheets.

Next on the tour was Johanna Pirker’s Environment for Startup Entrepreneurs. Johanna, a graduate student at the University of Graz in Austria, took us to visit the informal café space where entrepreneurs can get to know one another informally. She also showed us a space for creativity and brainstorming, and another for more formal presentations.

Environment for Startup Entrepreneurs

Environment for Startup Entrepreneurs

The final space we visited was the Cockpit 3D, introduced by Michel Denis from Internet 3 Solutions in France. In this room without doors, decision makers are immersed in data that can help them in the decision-making process. The attractive room design includes many different applications on the walls as well as a table that accommodates 10 seated avatars.

Cockpit 3D space designed for decion-making

Cockpit 3D space designed for decision-making

We used this space to demonstrate a number of other projects. Bernard Horan from the University of Essex talked about two tools he has developed for the EU-funded +Spaces project. To show off the Office Converter, he asked Michael Gardner to drop a PowerPoint presentation into the world. This was converted, on the fly, to a PDF document that appeared in front of us.

Example of a PowerPoint presentation appearing in world as a PDF

Example of a PowerPoint presentation appearing in world as a PDF

Bernard also described the Twitter Viewer, a tool that allows users to display a live twitter stream in-world.

Slide showing Twitter Viewer in use

Slide showing Twitter Viewer in use

Next, Bob Potter, an agile programming enthusiast from Canada, demonstrated the Cardwall tool he developed initially to support the agile programming methodology. Based on people’s interest in using the tool for general brainstorming, he modified the Cardwall to make it more general. Now users can configure the wall with their own column headings and even pop sticky notes off the wall into the world. He has made his Cardwall presentation slides available for those wanting more information about the project.

Cardwall presentation next to an example cardwall

Cardwall presentation next to an example cardwall

José Dominguez from Trinity College Dublin demonstrated two Wonderland Wednesday community projects. He had Michael Gardner demonstrate the Subsnapshot importer/exporter by dropping a basket of toys into the world that had been previously exported from a different Wonderland world. Opening the Object Editor window, Michael showed how the objects in the basket were children of the basket. By exporting the parent object, it is possible to make a backup copy of the items and save them on your own computer.

Basket of toys shown in-world and in the Object Editor

Basket of toys shown in-world and in the Object Editor

Each of the four spaces demonstrated in this session were created using Subsnapshots. The world builders each exported their space and emailed me the resulting .wlexport file. I then dragged and dropped each .wlexport file onto the Community Server. This produced the four spaces, complete with applications and object properties.

José also demonstrated EZMove, a tool for easily moving objects around in-world by holding down the ALT key and dragging. This project is still a work in progress, but should be available in the Module Warehouse as soon as the Wonderland Wednesday developers have a chance to polish up the code. The current version is installed on the Community Meeting Server for anyone who would like to try out the new functionality.

We ended the session seated around the conference table for a Q&A session.

Question and answer session around the Cockpit 3D conference table

Question and answer session around the Cockpit 3D conference table


Backing Up Your Wonderland World

November 7, 2011

By Nicole Yankelovich

Something must be in the air. In the past week, I have received three separate reports of lost Wonderland data. I highly recommend that everyone who is running a Wonderland server on which people are building original content institute a regular backup routine. Relying on your internet server provider to do this for you is a formula for disaster. The rest of this post describes three ways to create Wonderland backups.

Back up the Wonderland Server Directory

In the user directory where you set up your Wonderland server, there is a dot file called:

.wonderland-server

Using your favorite standard backup technique, back up this entire directory on a computer other than your Wonderland server. You can do this nightly, weekly, or monthly depending on how often changes are made on your server. This will back up absolutely everything you need to restore all your Wonderland data. If disaster strikes, as it did with one community member whose ISP was attacked by a hacker, you will be able to do a clean Wonderland install and then copy your backed up server directory to replace the default one. All your snapshots, user directories, artwork, custom modules and configuration modifications will be restored.

Create and Save Snapshots

Snapshots are a mechanism for saving the state of your Wonderland world. Instructions for creating and restoring snapshots is provided in the Manage Worlds section of the Open Wonderland Server Admin Console Guide. The snapshots themselves are small XML files that contain references to artwork and other data stored in the various user directories. These are handy for restoring the state of the world under normal conditions. Saving snapshots alone, however, is not enough to restore a world if you lose the data in the user directories.

Whenever you have a snapshot that’s important to you or that you want to move to another server, you can create a zip bundle that includes all the artwork, apps, and object properties by using a utility script called save-region.sh. The script is available here:

https://sites.google.com/site/openwonderland/source

When you create a zip bundle using this technique, be sure to save it on a computer other than the Wonderland server machine.

Create and Save Subsnapshots

As described in a recent blog post, subsnapshots allow you to save portions of Wonderland worlds. The advantage of subsnapshots is that content developers without system administration access can create these backups. A subsnapshot creates a .wlcontent zip file that bundles all the artwork, apps, and object properties included in a “container” or parent object. Assuming you have the Subsnapshot module installed, creating a subsnapshot simply involves right clicking on a container object and selecting “export” from the context menu. The resulting .wlcontent file can be stored on your client machine.

Unlike snapshots, which allow you to save your entire world no matter how much you have spread out the content, you can only make a subsnapshot of a single area. For example, to back up the default combined world, you would have to create six subsnapshots, one for each space.

Put a Plan in Place Today

Please do not wait for the worst to happen. If you don’t already have a backup plan in place, create one right now. This could be as simple as putting a monthly reminder in your calendar to create subsnapshots of all your new work. If you have system administration skills, then write a script to back up your .wonderland-server directory on a regular schedule.


Producing Charts in Open Wonderland

November 1, 2011

One of the challenges of the +Spaces project is to provide our users with charts of the results from their participation in polls, debates and so on. In Wonderland, one way of doing this would be to create from scratch a new 2D Swing Cell that employs an existing open source Java library such as JFreeChart. This library seems to provide all the charts we need, including pie charts and bar charts.

However, instead of starting from scratch it’s always easier to steal someone else’s ideas ”stand on the shoulders of giants.” The “giants” in this case are Google, and their Chart API. The API returns a chart image in response to a URL GET or POST request, where the URL contains all the information about the chart you want, including its data, size and colours. By using such a URL in the HTML of a Poster cell, we can now easily create charts in Wonderland.

For example, here is a very brief video of creating a poster to display the example chart that Google provides.

The advantage of this approach over the Swing approach is flexibility: using a Poster means that we can embed a Chart in other text, and update the Poster programmatically or from the web.

(The modules employed in the video were the new Poster and the Web-based Poster Manager.)


Follow

Get every new post delivered to your Inbox.

Join 27 other followers