Dev4 Testing and the Sistine Whiteboard

March 30, 2009

Michelangelo doesn’t have much to worry about yet, but in today’s testing of the "dev4" developer release of Wonderland 0.5, we discovered that yes, you can rotate and move shared applications just like any other object in the world. When someone moved the whiteboard over our heads, we dubbed this the Sistine Whiteboard.

Dev4 Sistine Whiteboard

Perhaps more interesting to note is that the whiteboard control panel can now be moved on and off the HUD. In this illustration, you can see that I’ve moved the Sistine Whiteboard control panel onto the HUD, but the second whiteboard in the image has the control panel in-world at the base of the whiteboard. The magnifier icon on the far left of the control panel toggles the panel on and off the HUD.

With the whiteboard up in the air like that, we couldn’t resist standing on top of it. At the moment, you have to use the "+" and "-" keys on your numeric keypad to get your avatar to go up and down (don’t ask why they sit when moving up and down).

Dev4 - standing on whiteboard

While we were just having some fun with this, there are many potential uses for horizontal application surfaces. You can create war-room-style map tables or sketch out a floor plan that you can walk on. You can also create surfaces for voting such that each avatar moves to stand on their choice:

While it can be handy to use your whole avatar to indicate something like a voting choice, this is not the most effective way to point to 3D objects. Paul has put in some preliminary 3D telepointers. Here you can see that I’m pointing to the little robot:

Dev4 telepointer

Perhaps my favorite new dev4 feature is the ability to drag-and-drop .png or .jpg images from either your desktop or a web browser directly into Wonderland. Here we see a Wonderland window on the left and a web browser on the right which is displaying one of my whale photos stored on the Flickr photo sharing site.

Dev4 - preparing to drag image

I simply grab the photo in the Flickr window and drag it on to the Wonderland window:

Dev4 - dragging image

And then drop it. This automatically uploads the photo to the server for everyone to see.

Dev4 - dropping image

In less than a minute, I was able to grab a few more photos from the same Flickr collection and use the in-world editing tools to arrange them. Voila, a little whale photo exhibit:

Dev4 - whale photo exhibit

In addition to images, you can also drag-and-drop .svg documents into the world. This will automatically spawn an instance of the whiteboard.


New tutorial available: Wonderland Release 0.5 3D GUI Development: Button Box Tutorial – Part 1

March 26, 2009

I’ve just posted a new tutorial on the Wonderland 0.5 wiki site. It explains how to program
interactive 3D objects in Wonderland 0.5. The URL is:

A logo for Wonderland

March 20, 2009

It’s hard to believe that we don’t have a Wonderland logo. Well, not one we’re particular proud of. Way back in July 2007 (has it really been that long?), Nicole created this 3D "W" logo in SketchUp:

Our first Wonderland logo
This was only intended to be a placeholder until we could hire a designer to create a real logo. Well, I’m happy to say that we’ve finally hired a graphic designer, Gary Ritchie, to work on 2D and 3D art assets for our forthcoming 0.5 release. If you’ve seen the HUD for the new whiteboard, that’s his work.

So, we put Gary to work on designing a real logo for Wonderland. We wanted a logo design that conveyed the collaborative focus of Wonderland and established a strong identity. We also wanted something that couldn’t be confused with a hotel chain, a certain ex-president or other virtual worlds. Since Wonderland is an open source project, not a product, we’re also free to not be constrained by Sun’s product branding (and who knows what might happen to that!)

The logo will be used in our web content, as a desktop logo, and on the Wonderland login dialog. Gary is also creating a 3D version of the logo that we can bring in world as a sculpture, which will be cool. 

We’re really excited by the designs that Gary has produced for us and we wanted to share them with you, so you can help us decide which of several alternatives we should choose. I’m including the top contenders below. Let us know which you prefer. If you don’t like any of them, explain why but also give us some constructive feedback. Also, if the logo reminds you of someone else’s logo, please tell us. We obviously don’t want to confuse people.

First, here are three different color schemes:

A. Blue/Green

Blue/Green logo

B. Purple/Blue

Purple/Blue logo

C. Yellow/Blue

Next, there are three variations on the logo orientation. I’ve chosen the Purple/Blue color scheme to show the different options:

1. Left orientation

2. Right orientation

3. Vertical orientation

Tell us which you prefer by picking a color scheme from A, B or C and a logo orientation from 1, 2, or 3. So, if you liked the left orientation of the yellow/blue color scheme, that would be C1.

Hmmm…maybe we should get some t-shirts printed with the logo on them for our 0.5 release celebration!

Update March 25, 2009: 10:15am PT:

Wow! We’re amazed by the voter turnout and excited that so many of you are reading the Wonderblog. We really appreciate the design critiques too. The voting isn’t over, we’ll leave it open for a few more days, but here are the votes so far in graphical form:


A1 is currently leading with 24 votes, followed by C1 with 18. Layout "1" is the clear favorite. It’s interesting to read the comments about "eco burnout". We hope that Wonderland will have an eco-impact by reducing the need for people to travel, but Wonderland is more about collaboration and bringing people closer together, it’s not just an eco project.

I produced this graph in OpenOffice, but it would have been much more fun to visualize it in Wonderland with Glasshouse by greenphosphor, our earliest early-adopters!

Great suggestion about the t-shirt/hoodie store, by the way!

Taxonomy of Virtual Worlds for Education Workshop

March 18, 2009

I participated in the Taxonomy of Virtual Worlds for Education workshop on Thursday of last week (I was supposed to be there on Friday as well, but unfortunately I got sick and could not attend the 2nd day). You can find a complete agenda of the workshop on the Taxonomy of Virtual Worlds for Education Workshop web site and can read about the Friday sessions, focused on educational applications, on this excellent blog by Erin Murphy.

Thursday was devoted to virtual world technology for K-12 educational applications. I gave a short Wonderland presentation followed by a 2-hour live demo. As you can see from the photo, I had Wonderland v0.4 running on one of the University of Pennsylvania’s classroom machines, and Wonderland v0.5-dev3 running on my laptop. This allowed me to show features from both versions.

Demo'ing Wonderland

As an aside, in the photo near my hands you’ll notice a Solo USB echo-canceling microphone. I highly recommend investing in one of these if you’re going to be doing Wonderland demos. You simply plug in a set of powered stereo speakers to the back of the device and everyone in the room can hear the in-world audio clearly and no echo is introduced for the remote participants.

Reflections on Developing Wonderland for K-12 Education

In reflecting on what I heard in my informal conversations with the mainly K-12 educators who were attending the workshop, I came to a new understanding of what it will take to make Wonderland a viable platform for this audience. They certainly liked many of the features of Wonderland. In particular, the educators appreciated the security aspects, the ability to run live applications in the world, and the fact that the software is free and open source. For some reason, they particularly loved the Cone of Silence. That said, almost all of the people I talked to were intimidated by the technology, feeling that the barrier-to-entry was too high.

Given where Wonderland is in its evolution, this reaction is not too surprising. The two worlds they cited most often as being easily accessible to educators were Whyville and especially Active Worlds, which was by far the most beloved platform. I found this Whyville demo video and this Active Worlds demo video on YouTube in case you’re not familiar with these systems. Some of the features people said they liked in these systems were the strong focus on educational content in the case of Whyville, and the ease of building with pre-fab components in Active Worlds. In addition, both environments have strong child safety controls.

I think the key is that the Wonderland toolkit is not appropriate for most K-12 educators. What they need is an educational environment that someone else builds using the toolkit. These environments can range from what I think of as "produced" activities in the form of pre-scripted, slick educational games, to much more open-ended, teacher-directed worlds. While teachers like the produced content if it fits exactly into their curriculum, many of them would like to create their own educational spaces.

Some Examples

Our job as developers is to figure out what primitives teachers need for building worlds. For example, could we create a history bundle with libraries of historic building models and period avatar costumes? Teachers could then set up a scene from ancient Rome or the Wild West, have students dress up their avatars, and re-enact scenes. Students re-enacting the US Revolutionary War period, for example, could use in-world tools to write and share "broadsides" or pretend to be wax museum figures that come to life and recite their biography when another avatar approaches.

What about a 5th grade science kit? Perhaps it includes a few different, simple eco-systems of "living," interdependent plants and animals, life-like weather systems based on real data, flowing bodies of water, and so forth? The teacher could then send teams of students on missions to observe various aspects of the eco-system and use in-world data collection tools to record findings that could be reported back to the class. Perhaps the teacher could introduce disease or natural disasters or pollution into the system, or have the students build a simple town and see the impact the construction has on the animal population, the waterways, and the pollution levels.

Assessment was another large area of concern for these educators. I told them that one of the great advantages we have with Wonderland is that the system is still under construction. This means that educators can have an important voice in the development of the tools and features that are created by the open source community.  Even if the Wonderland platform is not ideal for K-12 educators in its current form, I strongly believe it has the potential to be a powerful educational tool. We’re already seeing some interesting work in this area, including the iSocial project at the University of Missouri. I look forward to seeing more work in the K-12 space once Wonderland v0.5 is released.

Fix for 0.4 release of Wonderland

March 9, 2009

A recent update to the Java JDK (java6 update 12) has brought to light a bug in the 0.4 release of Wonderland. The bug only occurs on Microsoft Windows platforms and manifests itself as a grey rectangle in the upper left quadrant of the client window:

Grey quadrant bug

(Thanks to Ian Dunwell at the SGI for this image.)

At first we thought the problem was something to do with an incompatibility between the Java update and Java3D, causing complex issues with clipping rectangles. However, it turned out to be much more straightforward: thanks to one of our forum members–midavi10–we learned that it was the result of a leftover, unused widget in the Wonderland client.

The bug meant that Windows users who had updated their installation of Java were no longer able to use a Wonderland client. We felt that this would have such an impact that we have created new 0.4.1 release of Wonderland to correct the bug.

The Windows binary executable and Web WAR files for the 0.4.1 release are now available from the Project Wonderland Binary Downloads web page. In addition we have committed the source code change to the lg3d-wonderland CVS source code repository and tagged it with a new tag named ‘rel-0_4_1’, along with a tag of the same name in the wonderland-modules SVN repository. Finally, we have also committed the change to the CVS HEAD of the lg3d-wonderland repository.

Version 0.5 Developer Release 3

March 4, 2009

Developer Release 3 of Project Wonderland v0.5 (aka dev3) has been released by the Wonderland team today. This is the third in a series of early, psuedo-monthly "releases" for developers to work with the new platform, leading up to a user release this summer. For the nitty-gritty on getting started, have a look at the 0.5 web page.

Disclaimer: Before we get onto the new and cool things available in dev3, we wanted to briefly mention the standard disclaimers: Project Wonderland is experimental, free, open-source software. It is not a product. The Sun Labs team working on it is relatively small. We are focused on delivering the core platform features so that the community can build interesting and dynamic worlds with the toolkit. Because of the team’s size, we do not have a QA or a documentation group. Particularly in this early-access developer release, there are a substantial number of bugs and missing features. Okay, so now that you’ve been adequately warned, onto the cool stuff.

What’s New in Developer Release 3

There have been a whole slew of new features and architectural improvements to the software since the last developer release. In some cases, this may require you to do some different things in your module code. Here’s a brief list of what is new:

  1. Persistence in Wonderland 0.5: As Jonathan eloquently described in his blog post, we have turned on features to make the worlds you create persistent across server restarts (short-term persistence), so that the state of the world is as you left it. For longer-term persistence, we added the ability to take "snapshots" of the world. (Note: The short-term persistence mechanism is not yet fully-implemented so please read the blog for further details. It is also important to distinguish between stopping and restarting the "ant run-server" process, and the Darkstar server via the web administration UI. If you kill the "ant run-server" process and restart, the world is not persisted.)
  2. Avatars: Our brand-new avatar system is making its first appearance in dev3. All of the avatars will appear the same for now, but you can test out how they work on your system and play around with some of the new gestures.
  3. Optional Modules: In this developer release, there are also two optional modules that you can compile and deploy to a Wonderland server: an audio recorder and an SVG-based whiteboard. The whiteboard also features some early peaks at the new HUD (heads-up display): a HUD is designed using Embedded Swing components, like any other Java Swing application, and can appear on the glass or in-world.
  4. World Assembly: Also appearing in dev3 are a new set of in-world "assembly" tools to assemble your worlds. We call this world "assembly" rather than world "building" since you are creating the art work in external tools, importing them into Wonderland, and using these assembly tools to arrange them alongside other components. Currently, the assembly tools consist of a Cell Palette, to create instances of new cells in your world, a Cell Properties menu to move a cell, rotate a cell, or resize a cell via text fields, and a Context Menu to bring up visual affordances (or manipulators) to move a cell, rotate a cell, or resize a cell.
  5. API Changes: We also made some core API changes that will impact cell developers. In many cases, the changes were simply naming changes to clarify the concepts involved. In other instances, we simplified the code developers need to write by making use of Java annotations. If you are working based on the Extending Wonderland tutorial series, refer to the porting guide for an overview of the changes that affect you.

And Now for Some Pictures…

What would be a blog post from our team without pictures from our testing sessions?

Sitting avatars

Avatars taking a rest before the start of our testing session.

Avatars flying

We even figured out how to move our avatars up and down in the vertical direction (the ‘+’ and ‘-‘ keys on your numerical keypad) 

Big Boat

A nice big boat we imported from Google 3D Warehouse 


Help, I’m drowning! 


Doing a little sailing… (ok, we are really just standing in the boat, and not really sailing, which is a good thing since it’s taking on some water).

Avatar foot

See the avatar’s foot sticking out of the boat? Despite the foot, Nicole is proud of this boat model – her first home-made SketchUp model brought into Wonderland.

%d bloggers like this: