2. 2Copyright 2010, Open Wonderland Foundation
What is Open Wonderland?
100% Java, free, open-source toolkit for
creating 3D immersive virtual worlds
0
3. 3Copyright 2010, Open Wonderland Foundation
Brief History
• Started in 2007 in Sun Labs
• Challenge from VP of
Eco Responsibility
> “Let's build our next building in
the virtual world”
> MPK20 – Sun's Virtual Workplace
• Darkstar needed a demo
• Lots of interest in behind-the-firewall, app sharing
• Major reimplementation, Dec 2008 (v04 → v05)
• January 2010 – Oracle acquisition of Sun
4. 4Copyright 2010, Open Wonderland Foundation
Open Wonderland Foundation
• Mission
> Govern open source project
> Set direction
> Community management
> Documentation
> Education & Training
> Technical support
> Bug fixing
> Software updates that benefit community
• Not a service organization
> No work for hire
5. 5Copyright 2010, Open Wonderland Foundation
Use the Toolkit to Build Worlds for...
Collaboration with Live DocsCollaboration with Live Docs
3D Data Visualization and Analysis3D Data Visualization and Analysis
SimulationSimulation
Mixed-Reality InteractionsMixed-Reality Interactions
Integrating with Real WorldIntegrating with Real World
6. 6Copyright 2010, Open Wonderland Foundation
Vision
• 3D Web
> Federated, specialized
virtual worlds
> Common way to express
behavior across platforms
(Java mobile code)
7. 7Copyright 2010, Open Wonderland Foundation
Wonderland Core Features
• Application Sharing
> Unmodified X11 application and
collaboration-aware Java applications
• Immersive Audio
> Includes mix of recorded and live audio,
range of audio fidelities, individual volume
control, audio recording, and audio
applications such as the virtual
microphone and cone-of-silence
• Telephone Integration
> Includes dial-in, dial out, and connecting
avatars with telephone audio
8. 8Copyright 2010, Open Wonderland Foundation
3D World Assembly
• Open art path for 3D
> Import Collada 3D models
> Uses industry-standard tools
• Photoshop, GIMP
• SketchUp, Maya, Blender
> Direct import of .kmz models
created with Google SketchUp
• Move and resize objects using
in-world tools
9. 9Copyright 2010, Open Wonderland Foundation
Content Creation
• Drag-and-Drop
> Mime-type scheme
• .gif, .jpg, .png, .pdf, .kmz, .svg, ...
> Application launches on drop
• Dynamically add interactive
content using insert dialog
10. 10Copyright 2010, Open Wonderland Foundation
Modules for Extensibility
• Modules akin to “plug-ins”
• Mechanism for packaging & sharing
Wonderland extensions
> Can contain code, artwork, audio,
scripts, web management and web services
> Also world configurations for sharing whole worlds
> Deliver art assets via embedded HTTP server
> Packaged as archive (jar) files
• Modules can depend on other modules
ModuleModule
Code
Artwork
Scripts
Assembled worlds
Other resources
11. 11Copyright 2010, Open Wonderland Foundation
Web-based Admin Console
• Add / remove modules from web UI
12. 12Copyright 2010, Open Wonderland Foundation
Module Warehouse
• Browse
• Share
• Comment
• Rate
13. 13Copyright 2010, Open Wonderland Foundation
In-world Access to Modules
• Three primary places
modules appear to
end users
• Modules can add
functionality to Insert
Object palette
• Allows users to create
multiple instances
14. 14Copyright 2010, Open Wonderland Foundation
Modules can add Menu items
• New functionality appears in menu hierarchy
15. 15Copyright 2010, Open Wonderland Foundation
Also Through Capabilities Dialog
• Capabilities are functionality that can
be applied to any in-world object
• Each can optionally include a property
sheet
16. 16Copyright 2010, Open Wonderland Foundation
Capability Examples
• Audio
> Add recorded audio or audio stream
• Container
> Group objects; contained objects inherit properties
2
17. 17Copyright 2010, Open Wonderland Foundation
Security Capability
• Object-level security
• Combines nicely with
> Container
> Cone of Silence
Team member's view Visitor's view
18. 18Copyright 2010, Open Wonderland Foundation
Benefits of Modular Architecture
• Tailor functionality
> Program new features without changing core of system
> Integrate with real back-end systems, external data, or
real product user interfaces
• Refine customer experience
> Easily add and remove modules from configuration
> Simplify UI or add additional functionality
• Use the appropriate license
> Modules can be open source
> Or can be proprietary
• Enables ecosystem
19. 19Copyright 2010, Open Wonderland Foundation
Open Wonderland Resources
• Open Source Project Site
> http://OpenWonderland.org
> Download: binary, source code, examples
> Learning: architecture, roadmap, FAQ
> Community: latest news/blogs, forums, mailing lists
> Tutorials, technical articles, troubleshooting
> Suggestions for student projects
• WonderBlog - Official Wonderland Blog
> http://blogs.openwonderland.org
• Facebook and Twitter
> http://facebook.com/openwonderland
> http://twitter.com/openwonderland - use hashtag: #openwonderland
Editor's Notes
Java
* Platform independence
* Java Web Start launching from a URL
Toolkit
* Strong focus on extensibility via Java programming
* More flexibility than scripting alone
* Makes integration with web services, enterprise systems, and data sources easier
Open source
* Both client and server are open source
* Both client and server can be extended
Wonderland was designed specifically with business and education collaboration in mind
Highly extensible - The Wonderland toolkit can be used to build almost any kind of interactive 3D virtual world. It is extensible using Java programming, rather than scripting alone.
The following slides show examples of virtual worlds that others have created using the Wonderland toolkit.
The most common activity people want to use a virtual world for is collaborating with live documents. The image here shows avatars interacting with an in-world whiteboard as well as a Firefox window.
The Wonderland vision is that organizations will run their own virtual world servers, just the way they currently run their own web servers. These servers can exist both inside and outside of firewalls. Rather than having one gigantic world where everyone goes, the Wonderland vision involves many, small, special purpose virtual worlds federated together. The newest version of the Wonderland client includes a URL field so that users can easily navigate from a virtual world on one server to a virtual world on a different server. Portals can be placed in the world as well, just as links are currently placed on web pages in the 2D world.
Java is also a great benefit when it comes to federation. The mobile code feature allows means that functionality needed when navigating to a different virtual world will automatically be downloaded when needed. For example, I move from a mixed-reality classroom to the Force on a Dipole world, the Java code needed to run the 3D physics simulation will be downloaded, but if the two worlds share other artwork, that shared artwork will be cached on my computer with no need to re-download.
Drag and drop
- Currently support jpg, png, svg (for whiteboard), kmz and dae (3D collada models)
- Soon to support PDF
Wonderland 0.5 is released under a GPL v2 with classpath exception license. This means that 3rd parties can create modules with any license they wish, open source or proprietary. Almost all extensions to Wonderland can be created as a module.
Around the same time as the 0.5 User Preview at the end of the summer, we will also be releasing a Wonderland Module Warehouse for people to find and share Wonderland extensions. A simple web-based UI allows Wonderland administrators to add or delete modules from a server installation.