Towards Wonderland 0.5

Wonderland 0.5 will be the next major release of the Wonderland toolkit.  Unlike previous releases, it is a complete rewrite of the Wonderland system.  The focus for 0.5 is on improving the graphics, extensibility, and scalability of the platform. We are working hard to get this new technology to our developers as soon as possible, so they can start experimenting with the APIs and porting their applications. We plan to release the first developer version ("dev1") of Wonderland 0.5 in the next few weeks.  This early release will have very limited functionality, suitable mainly for prototyping specific virtual world features using the new APIs.  The dev1 version will be followed by a series of developer and early-access releases, and culminating with a fully functional end-user release in the first half of 2009.

For a quick preview of Wonderland 0.5, see parts 7 and 8 of the Wonderland technical overview video.  Read on for a look at how we got here, and details about our current status and future plans.


When we started the Wonderland project almost two years ago, we had a simple goal: to create the best possible virtual world for business collaboration.  While everyone agreed there was a need, at the time we had no idea what the right solution would look like (it’s OK, we work in a research lab).  But we had to start somewhere.  We were all Java programmers, so that seemed like a natural choice.  We also knew this problem was too big for our team to solve alone, so we wanted to build something open source with community support from the very beginning.

In a four-month sprint we put together the basic architecture of Wonderland: a Java3D based world, immersive audio, shared applications, and a Darkstar based server.  At JavaOne 2007 we demoed a system that had started working only two days before the show.  Then we spent the next year fleshing out our ideas and stabilizing the system for the Wonderland 0.4 release.

Wonderland 0.5 architectureFast-forward to now. We’ve been amazed by the uptake of Wonderland, in both business and education.  But we’ve been slowed down by our architecture, which was pretty much the same one we built for that first JavaOne demo.  Several months ago, we decided to make a change. Rather than try to fix the existing version, we would start over based on all the lessons we learned as well as the great feedback we’ve gotten from our community.

We knew up front this wasn’t the fastest or easiest choice.  But over the last few weeks, as we’ve started to assemble some of the major components of our new design back into a virtual world, we can confirm that it was the right choice.

As always, we are trying to be as open and transparent as possible with our development.  We will continue to do all our work in our open source community, so you will be able to follow along and contribute through the whole development process.  Just be warned that what we have now is the foundation of a virtual world, but it is still very much under construction.  Don’t be surprised if your avatar looks like a teapot, or if you run into bugs or unimplemented interfaces. To see the latest information about the release as it progresses, go to our 0.5 documentation page:

Now that we are well on our way to a 0.5 release, I wanted to answer some of the biggest questions people have about it: 

What are the goals for 0.5?

We’ve been joking that the answer to any question about Wonderland is that it will be fixed in 0.5.  While we won’t be able to do everything, we have an ambitious set of goals for our next major release:

  • Significantly improve the look of Wonderland by upgrading the core graphics engine, avatar system and HUD.
  • Redesign the Wonderland user interface to address usability problems.
  • Focus on extensibility with a new module system and stable, documented APIs.
  • Increase performance to allow significantly more people to use a single virtual space.
  • Support federation, allowing users to seamlessly move between Wonderland worlds.
  • Add management tools and interfaces to improve the setup experience for Wonderland servers.
  • Implement a full-featured and robust security system.

Wonderland 0.5 avatar

To support these goals, we’ve been working on a ton of new features.  We’ve moved our core graphics to be based on the more modern jMonkeyEngine.  We’ve reimplemented avatars from scratch.  We’ve added support for the COLLADA graphics format, which gives us access to new tools like Softimage and Sketchup.  We’ve started a new project to improve the performance of graphics and avatars (more about that soon).  We’ve built a module and server management system based on embedded Glassfish.  We’ve modularized the shared application code, to make it easier to add new kinds of applications, including Swing apps.  And we have rearchitected the server for improved scalability and reliability.

All this is just the beginning. Now that these foundation technologies are starting to come together, we can get back to our original goal: figuring out how to turn all of this into the best possible collaboration environment.

Is there a plan and a schedule?

Yes and mostly.  We have divided the development up into two phases.  The first phase, known as the "dev" releases, is focused on defining and implementing the core Wonderland APIs.  The goal is to get the new architecture and interfaces into the hands of developers as soon as possible.  The core APIs for new graphics, modules, audio, and application sharing are already defined and mostly implemented.  Others like the HUD and security APIs are coming soon.  But many of the features of the existing Wonderland world, like the PDF viewer, X11 apps, and the virtual telephone are not yet started.  The "dev1" release is targeted around early December, and we plan to have updated dev releases every few weeks after that.  You can see the full plan here.

Over the first half of next year, we will focus on turning the developer release into an end-user release.  This phase will be focused on the entire Wonderland experience, including the in-world user interface, in-world applications, and performance, as well as the tools for creating artwork, avatars and scripts.  We do not have a specific schedule for this phase yet.

Where are we today?

As I said earlier, what we have now have the building blocks for a virtual world, but not the world itself. We recently completed our first milestone, the basic ability add custom cells.  We are finishing up the dev1 release, with integrated audio, improved module support and basic tutorials. While it is not enabled by default, we also have the beginning of the new avatar system implemented.

We don’t have a whole lot for end users at this point, but there are some interesting resources for developers.  We have posted several design documents, APIs and specifications on the 0.5 technical page.  For those who like to live on the bleeding edge, we have some of the first tutorials and articles available now, which show you how build and run Wonderland as well as how to build a simple custom cell.

What can I do to help?

If you are a developer, there are lots of ways you can help us:

  • Read a document and post comments on the forum
  • Create a proposal and link to it in the proposals section of the wiki
  • Read and comment on the API javadocs
  • Try out and comment on the tutorials

Once we have the core of the system up and running, we also hope to see people developing and contributing modules to extend the Wonderland core.  We even have a small feature wishlist and a list of projects suitable for students for those who want to contribute but don’t know where to start.

If you are an end user, think about how you would want to tailor Wonderland for your specific use. Post ideas and mockups in the proposals or feature wishlist sections, or start a discussion on the forum. Of course we won’t be able to implement every idea, but you may inspire someone else in the community to try it out.

We’ll see you in Wonderland 0.5!


7 Responses to Towards Wonderland 0.5

  1. Anonymous says:

    And people wonder why Sun are losing money hand over fist… what a waste of effort! People have been working on this sort of stuff for decades, and it’s still mostly a useless gimmick.

  2. John Howard says:

    I disagree. As a telecommuter, Ihave found virtual world environments very useful for collaboration and "feels like being there" meetings with people from around the world/
    The collaboration based VW they are working on here could be a great step forward, especially as we all face cutbacks in travel budgets.

  3. AliQuantum says:

    Interesting comment by ""… Perhaps every idea that isnt immediately successful should be dumped at the first hurdle?! No, of course not. Good ideas need to be believed in and percivered with, and VR/VW is no different.
    I agree with John, the time is ripe for a good open source VW toolkit, to take VWs out of the realms of pure entertainment and into(er, out of?) the office.
    I’ve spent the last week playing around with WL 0.4 and it’s really opened my eyes and got me thinking about all sorts of possibilities. Finally, a VW that I can actually build, install and get my hands dirty with – great work, Sun.

  4. Anonymous says:

    How about releasing your Collada importer to jMonkeyEngine? Shouldn’t you give back to that project? This would be a great gift to that project.

  5. Nigel Wynne says:

    I’m really excited by this project and we are investing in building the capacity to explore this further and hopefully contribute to its development. We’ve spent 10 months exploring Virtual Worlds platforms and believe that Wonderland by far offers to most transformative solution to our serious health care, inter-agency and education needs. It may not look the prettiest right now but my philosophy, concurring with most learning theory, is that how something looks is never as important as what it enables people to do!!

  6. says:

    support of louzhu,louzhu work hard

  7. Adam says:

    Excellent work guys! I think what you are doing here is extremely worthwhile. I think many interesting things will come of this project. Keep up the great work.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: