For those of you interested in using Wonderland for education, the Immersive Education Initiative will be launching the "Education Grid" this Friday at 4pm EST. Several members of the Wonderland team will be hosting one of the 5 Wonderland servers being using for this event. See Kevin Roebuck’s Blog for details.
This week, Jon and I — along with Karl Haberl from Project Darkstar and Kevin Roebuck from Sun’s education group — traveled to Princeton, NJ for the 3-day summer conference of the New Media Consortium (NMC). Sun is deeply involved with NMC, and in the context of our joint Open Virtual Worlds project (read more here), Project Wonderland (along with Project Darkstar) held three events. The first was a 3-hour "pre-conference" workshop on Wednesday, June 11 and the second was a 1-hour 15-minute lecture on Thursday, June 12. In both we were also joined by our partner, CommonNeed, who offers Wonderland hosting services (read me more). The final event, on Friday, was hosted by Kevin and NMC to talk about possibilities for the Open Virtual World project itself.
In both the Wednesday and Thursday events, we went over the basics of Wonderland, and spent alot of time in-world. Everything worked great — even on Wednesday when I was running over a wireless connection. I was connected to a server located in California (I think, but honestly, I’m not really sure where it was physically located) and Nicole and Joe joined us in-world from Sun in Burlington, MA. I showed off brand new features that will appear in the upcoming v0.4 release (but are available via our source and nightly builds now), such as the enhanced applications (e.g. PDF Viewer) and telephone integration. (Favorite parts of the demo included our Cone of Silence and telephone support: I placed a call to Kevin’s cell phone from in-world, and we heard his phone ring in the audience and joined him to the world. Everyone liked how I could grab hold of the telephone orb and then drop it anywhere I like!)
The audience was composed mostly, if not entirely, of folks from education. I spoke with quite a few teachers and students; the rest of the folks are involved in technology in education.
These sorts of events are great for gathering informal feedback–and what I hear is always a surprise! (at least to me). Everyone asked about security, particularly those teachers who want to make use of virtual worlds but not expose their students to others using the virtual world for less-savory purposes. We told them, of course, with Wonderland they can set up their own instances of the server and control access by using an LDAP server for authentication. I then told them about the fine-grained security work being done by Tim Wright at Notre Dame (Note to Tim: LOTS of folks are really interested in your work!).
We fielded several questions about our switch from Java 3D to JMonkeyEngine in the v0.5 release–certainly folks were wondering what sort of porting effort would be required. We answered this question in two parts: one, for all of your artwork created in Maya/Blender, we expect that you could just re-export them as COLLADA and re-import into Wonderland. Second, for all of the custom cell types, there will be a port from Java 3D to JMonkeyEngine, but since both are based upon scene graphs, we hope that most of the porting effort will be, for example, using JME’s Sphere object instead of Java 3D’s Sphere object. I think everyone understood that the move was a good one–and its best to do it early in the stage of development of Wonderland rather than later.
Folks are starting to think about how to develop assets for Wonderland–artwork and custom cell types–and how to share and distribute them with the larger community (which we encourage, of course!). For my part, I’ve been working on a module system for the v0.5 release. (In fact, I had a great 4 hours of uninterrupted coding on the Amtrak Acela train on the way down). I’m hoping to release far more technical details in the next month or two–complete with full API documentation–but the idea is to allow folks to bundle up artwork and code (plugins) into Wonderland modules (which according to our design philosophies, the structure of the module, which is just a zip/jar file, will be entirely open) and install them on Wonderland servers. I’m planning on some basic versioning and dependency checking, simple management, and the ability to specify "master" and "mirror" repositories of artwork. Details, of course, to be worked out, with feedback from the community.
I’m blogging from a Starbucks in New York-Penn Station, so I’m gonna head to board my train back to Boston soon. I wanted to thank all of the folks who attended our sessions at the NMC Summer conference in Princeton, NJ–it was great interacting with you and gathering tremendously useful feedback.
Common Need, Inc. recently announced a virtual world creation and hosting service based on Wonderland. On their web site, they say: "Common Need, Inc. provides a full suite of services across hosting, design, and integration for virtual worlds developed using Project Wonderland, an open source technology sponsored by Sun Microsystems. Our mission is to combine the best of virtual worlds, learning technologies, and social networking to create cutting-edge learning environments on behalf of our clients."
Common Need is focused on the education market, but in talking with the Stuart Sim, their Chief Technology Officer, he told me that they are also available to work with businesses interested in doing Wonderland proof-of-concept projects.
Check out the Common Need web site for more details about their Virtual Immersive Environments services.
There’s nothing like an impending demo with the company CEO to spark innovation. Like many of you, we at Sun struggle with firewall issues. While we appreciate the benefit of a corporate firewall, the internal vs. external network can be quite problematic for those of us building and trying to use communications software. For the demo next week, the problem we are faced with is that some people attending will be Sun internal and a few will be external. That means that we can’t run the demo on our intranet, because the external people are not allowed to connect to it. We therefore set up a Wonderland server on the external internet. This works great for the external people, but unfortunately for those of us sitting behind the Sun corporate firewall, audio does not work. Our corporate IT policy prohibits us from opening the UDP ports we need to transmit the audio. We’re petitioning to have the ports open, but the chances of getting permission to do this before the demo are slim. Additionally, this approach doesn’t help anyone else with a similar firewall issue.
While we are still investigating a viable long-term solution to this firewall crossing problem, we did come up with a short-term solution that should alleviate not only this problem but also a number of others. Although you don’t necessarily think of being "in a call" when you connect to Wonderland using audio, you are, in fact, using a softphone. Since jVoiceBridge (the server-side audio component Wonderland uses for audio) supports both regular phones and softphones, we thought we might be able to allow you to connect to Wonderland using a regular telephone. Thanks to some quick work on Joe’s part, that’s exactly what you can now do. Joe added a feature in the Advanced portion of the Login dialog to enter a land-line or cell phone number.
After you fill in this dialog and log in, Wonderland calls you on the specified telephone. You’ll need to press the 1 key on your telephone keypad for the call to connect to Wonderland. This ensures that a human has answered the phone rather than someone’s voice mail or fax machine. Once connected, you can use Wonderland as you normally would. Even adjusting other people’s volumes works like a charm.
Of course you don’t have stereo audio with this scheme, but at least you have audio! What’s cool is that everyone in the world still hears your audio spatialized properly. That is, your voice sounds like it’s coming from your avatar. If you have ever used Second Life with a regular audio conference call or with Skype, you know how disconcerting it can be to have a mis-match between the audio and the visuals. It causes a real cognitive dissonance which seriously detracts from your sense of being present in the world. Additionally, with a standard conference call, you can’t walk around and have different conversations with different people. With jVoiceBridge, you can talk to other avatars connected using telephones as well as to avatars connected using the softphone.
As I mentioned, this scheme also solves another problem. If a person is having any trouble with audio – lack of a headset, difficulty configuring audio, etc. – they can simply log on using the telephone instead. If they manage to work out their audio problem, they can go to the Tools menu and select Audio –> Reconnect Softphone. Now the connection will be through the softphone and the telephone connection will terminate. And if a user realizes that audio isn’t working after logging in, there is now a menu command (Tools –> Audio –> Transfer Call) that allows you to transfer the live call to a different device:
As with the login dialog, you simply enter a telephone number, click "Dial," and Wonderland will call you. You can also use this handy feature if you’re in the middle of conversation with someone in Wonderland and have to leave your desk, for example to drive home. Transfer the call to your cell phone, and continue on with your conversation. For extra credit, Joe is thinking about automatically turning your avatar into an orb when you exit the client on your computer, but remain connected on the phone. This way, other people connected to the world will know you can no longer see the visuals or navigate on your own. If the conversation moves to a new location, someone in world will be able to carry your orb along.
For any of this to work, your Wonderland server has to be connected to a gateway to the real phone system. For intranet-only use, you can probably connect to your organization’s PBX. Many organizations already have a VoIP to PBX gateway in place. But if the Wonderland server is on the external internet, you can use a commercial service. Joe found a fairly inexpensive one called Junction Networks that has been working quite well for us so far. He’s written some preliminary documentation on the wiki about how to set up gateways, virtual phones, and the connection to Junction Networks:
Joe is now working on a security scheme for virtual in-world phones to prevent unauthorized long distance calling. I’ll update you on that when he has it all working.
Wish us luck with the demo next week. At least now we’ll be able to hear and talk to the executives if they ask us any questions!
Those of you who follow the Wonderland forum may already be familiar with Tim Wright. Tim is a PhD candidate at the University of Notre Dame in Indiana. His committee has recently approved his dissertation topic which involves adding access control mechanisms to Wonderland. In Tim’s guest blog that follows, he has included a link to his dissertation proposal for those of you who would like more details. We are looking forward to tracking the progress of Tim’s project as he starts work in earnest on WonderDAC. His work, which he and his committee have generously decided can be conducted in the Wonderland open source code base, is likely to benefit all Wonderland users in the future. Please give Tim any access control use cases and feature ideas you may have as well as your support as he undertakes this valuable research.
Guest blog contributed by Timothy Wright from University of Notre Dame:
As collaborative virtual environments (CVEs) become more functional and integrated into our computing endeavors, there is an increasing need to protect data and resources available therein. This need must address not only spatial access (i.e., who can move their avatar where), but also media access (who can view which images or hear what sounds) and object use/mutability (who can use and change which VR objects). All of this may succinctly be referred to as privacy and integrity within CVEs, and it forms the basis of research in which I’m involved.
Recently, I implemented a simple prototype, called WonderDAC, to add basic discretionary access controls to Project Wonderland’s 0.3 release. Over the next year, I will be working extensively on WonderDAC to evolve it along several lines: spatial object access, non-spatial object access, audio chat access (this may fit with the cone-of-silence feature planned for the 0.4 release), avatar cloaking (anonymizing an avatar’s image), and access to WonderDAC information through a user interface. Foremost in my approach is simplicity: I adapt the essence of traditional, UNIX-style file system controls to the Project Wonderland "cell." In so doing, a recognizable, easy-to-use access control mechanism may be derived.
These images show a sample world from two perspectives. In this example, the avatar twright is able to see more content than the avatar bench-40 based on the access control settings.