Archive

Posts Tagged ‘mxp’

Glasshouse injects 3D representation of data into a virtual world

March 14th, 2009

Glasshouse by Green Phosphor is a gateway which can take a database query or a spreadsheet and place a 3D representation of it into a virtual world. Users can see data, and drill into it; re-sort it; explore it interactively – all from within a virtual world. Glasshouse produces graphs which are avatars of the data itself. 

glasshouse_sl_scatter

Virtual worlds are environments where avatars can observe and interact with eachother. This is a wonderful advance for human to human interaction; and it is also a wonderful advance for human to program interaction. Imagine a useful program residing somewhere on the Internet… and to interact with it, all you need to do is invite its avatar into a virtual world with you. The avatar of the program is its 3D user interface. 

Imagine the program is architectural software and it can generate into the environment anything you are designing. Suppose you have it put a house into the virtual space, and all the components of the house are interactive – you can click on a door and change the type of door; you can click on the floor and choose a new kind of tile from an actual inventory database out there on the net. Imagine interacting with a molecular model of a protein and when you click on various amino acids and ligands they present menu options for modifying the model or cross-referencing with others.

Imagine a program which searches the web for you. The program’s avatar looks like a librarian and follows you around, and when you say “find me the most authoritative website on bodybuilding” it injects a web page into the virtual environment. Imagine interacting with software as you would with a personal assistant.

All this is possible through the use of protocols such as CICP and MXP, which allow external entities to place interactive content into virtual worlds. All the logic and machinery stays outside the world and just the user interfaces (objects) go inside the world for you to interact with. This is the vision that led me to create CICP – and the particular way Green Phosphor is using CICP is to create interactive representations of data.

Green Phosphor’s product is called Glasshouse, and it is a gateway which can take a database query or a spreadsheet and place a 3D representation of it into a virtual world. Users can see data, and drill into it; re-sort it; explore it interactively – all from within a virtual world. Glasshouse produces graphs which are avatars of the data itself. We’ve tailored the system for the use of biotech companies, specifically for drug discovery and development. Dr. David Resuehr, a molecular biologist, recently joined Green Phosphor as our Chief Scientist. We’ve just now entered our marketing phase – for more information please visit http://greenphosphor.com/?location=Biotech.

glasshouse_oil_net_with_avatars

The power of interacting with data in 3D has to be experienced to be believed. Some day soon many people will have jobs which require SQL skills and virtual world skills; these ”data wizards” will turn information into intelligence within the 3D environment. They’ll facilitate a data-driven decision-making process which will hopefully reduce some of the short-sightedness and stupidity we’ve seen lately in many of our critical institutions.

Jani: What do you refer to when you say: “…will hopefully reduce some of the shortsightedness and stupidity we’ve seen lately in many of our critical institutions.”? Could you give an example?

Ben: I have a couple examples which I’m sure won’t offend anyone and a third which may. First off I believe that visualization of money in/money out could have turned authorities on to the fishy accounting Enron was up to, and caught them earlier. Perhaps better visualization would have revealed Madoff’s ponzi scheme as well. It’s a matter of seeing the big picture; money must come from somewhere and be tied to intrinsic value at some point. My third example is similar, but rather than money in/money out it is about energy in/energy out. I believe proper visualization of the process for producing ethanol fuel, including energy cost of fertilizer, would reveal the uselessness of subsidizing cornbased ethanol as an alternative to fossil fuels. Much of the value of looking at data has to do with getting in touch with history rather than trying to look at realtime feeds with everfiner granularity. There is tremendous value in looking at the past in objective ways – and the best objectivity comes from hard, unadulterated data. Combine data visualization and visible process simulation with massive collaboration – crowdsourcing, masterminds formed by teams – and the human race can be more intelligent.

Jani: I’d like to get a quote from Dr. David Resuehr.

DrDavid: For science, the 3-D environment may really have a very prosperous future. We know that the discovery of many drugs was more or less coincidental like for instance when Fleming discovered Penicillin. Others were specifically and tediously designed, tested and created. Insufficient testing can – as it happened with Thalidomide – have terrible consequences. During the 50’s and early 60’s thousands of children in Africa and Europe were born with severe malformations because their mothers had been given this drug against morning sickness.
What does all this have to do with virtual worlds and 3D environments? The connection lies in the fact that molecules are not flat but have a (sometimes very elaborate) three dimensional structure. Here is the anecdote: Thalidomide exists in two  isomers (enantiomers), which are mirror images of each other, like your right and left hand. The problem was (as was found out later) that one of the versions, the ‘S’ enantiomer, was teratogenic [causes malformations]; but the ‘R’ enantiomer was an effective sedative. I like to refer to the ‘S’ enantiomer as the ”evil twin”. Had the developing scientists been able to display and most of all discuss this and its possible implications with their peers, maybe they would have been more diligent and could have prevented the release of this cocktail and its devastating effects for thousands of people. Clearly it is impossible to recognize and tell apart a “bad” molecule from a good one by just looking at it, but having it dangling right in front of your nose in cyberspace may make you think about it a little more thoroughly and prime discussions about it.

DrDavid: Virtual worlds like Wonderland and OpenSimulator offer never before available possibilities for researchers from all fields to interact with each other and display and scrutinize their data in new and more intuitive ways. This platform also offers a link from the people in the lab to the people at the desks and enables everyone to give their input, from wherever in the world they are – many brains are better than one and sometimes it may take a non-scientist to come up with a great idea; after all it’s about collaboration and working as one strong team.

DrDavid: A long-term goal is, in collaboration with bioinformatics and cell biology specialists, to create a complete virtual cell. If we can accurately display and simulate cellular pathways, we may be able to better understand drugs’ molecular actions, explain adverse effects, predict risks, and discover potential therapeutical targets for the development of new drugs.

Ben: I believe one of the keys to intelligence is the elimination of bias and preconceptions. This elimination opens the door to truth. One of the great features of looking at raw data in a virtual world is you can start without any labels or explanations of what the data is. You simply see the patterns, the outliers… then click in and see what the actual datapoints are, and be prepared to accept what is revealed. I’d like to close by mentioning a pilot project in Second Life which is using the free version of Glasshouse to show the effects of various companies’ customer loyalty efforts on revenue. The data was provided by Leslie Pagel and the graphs are on display at Gronstedt Group’s Train for Success2 region. Here’s a slurl: http://slurl.com/secondlife/Business%201/211/48/33.

Darkstar, OpenSim, realXtend , , , , , , , , , , , ,

Metaverse Exchange Protocol (MXP) – Enabling default bone structures and real time gesturing for OpenSimulator

March 7th, 2009

OpenSimulator community controlled protocol extensions like Open Metaverse Structured Data (OMSD) extension for Metaverse Exchange Protocol (MXP) and custom viewers enable long lived dreams to be realized.  One of these dreams is real time recorded and played gestures. This vision is fast becoming reality as dependencies to 3rd party protocols and viewers are not blocking innovation anymore. Traditional input devices or full blown motion tracking devices can be integrated to viewers for real time recording of gestures.

OpenSimulator is currently in process of adopting Metaverse Exchange Protocol (MXP) as alternative protocol for Client to Server communication. The ideas and design principles for MXP originate from Internet (see: MXP Background Reading) and two protocols specifications: SETP and CICP (Ben Lindquist / Green Phosphor). The modular architecture of OpenSimulator allows for multiple protocols to be supported simultaneously.  In other words SecondLife breed of clients and MXP enabled clients (IdealistViewer) can interact in the same simulation.

Open Metaverse Structured Data (OMSD) schema contains required MXP extension fragments for transmitting poses for default biped bone structures and custom bone structures. Smooth gesturing is achieved by interpolating frames between different poses (key frames) with simple well known algorithms. Tomorrow you can greet you friend with improvised moves and bone driven facial expressions are not far behind.  Open source virtual world systems are now taking a step ahead of their commercial game counterparts.

Figure 1. Illustration of Open Metaverse default biped bone structure. (Nathan Vegdahl's public domain biped.)

Figure 1. Illustration of Open Metaverse default biped bone structure. (Nathan Vegdahl's public domain biped.)

Open Metaverse default skeleton originates from realXtend project which was first OpenSimulator compliant platform to support custom character meshes. RealXtend extensions are available as OpenSimulator module (Modrex) and OpenSimulator extensions to MXP are compliant with realXtend character skeletons.

As OpenSimulator technology advances other areas affecting end user experience gain momentum. Avatar model quality is an immersion factor and modeling humans requires both time and talent. Community effort has been initiated to create creative commons licensed male and female archetype avatars for OpenSimulator and compliant systems. We are inviting all open collaboration spirited modeling artists to join this push towards next level of Metaverse experience.

OpenSim, realXtend , , , , , , , , ,

Opensim compatibility and MXP

February 22nd, 2009
Comments Off

So, I have a small announcement to make.

OpenSim has had the capability to run multiple different clients connected to the same world since version 0.3. We translate a large number of our internal programming into a somewhat vendor neutral interface; the big catch has been – in the 21 releases since 0.3, we’ve never actually implemented a true second protocol. As of today that has changed, OpenSim now supports two client protocols that can be used simultaneously at the same time to display the same world with the same updates, avatars and interactivity. This means right now you can use either the LLUDP transport used by Second Life™, OpenSim and realXtend, or the new MXP transport developed by the Tommi over at Bubblecloud.org.

We also have some good news from the guys over at VastPark – over the next few days, I will be working with their team to try write another client transport which allows you to use the VastPark viewer to connect to OpenSim. Watch this space for some information about that.
MX Deck and Second Life in a single Region (Click to Enlarge) MX Deck and Second Life connected to the same region (Click to Enlarge)

Why MXP?

The simple answer here is the protocol is reasonably well thought out (it’s very refreshing compared to LLUDP), it’s also pretty simple and easy to understand. There’s a good reference implementation on their website which we were able to utilize extensively. To users, there’s potentially some big advantages in how you can route packets from a region simulator to viewers – possibly eliminating some of the issues people see when trying to host from behind firewalls and routers. This is however conceptual – a decent client will still need to be written to utilize the MXP protocol (right now the only clients using it are for demonstration purposes).

The big reasons were however that it’s appropriately licensed, there’s good reference code out there and the protocol is straight forward. It was also in the right place at the right time — while it gets the crown for first additional protocol, we’re hoping to have quite a few more now the infrastructure is in place and tested to properly support alternate client libraries.

How complete is this implementation?

Not very – we implement at the moment about 5 of 250 “functions” the Second Life viewer can present to us, ontop of the basic connection management. Mostly these are relating to display of primitives, updating their positions and chat. We still need to do a good deal towards displaying avatars correctly (and assigning a ‘ruth’ for each clients display of the other). Given the adapter is however less than 48 hours old – I expect to see some rapid progress here in adding features and capabilities to it. To give some idea of what’s working however below is some screenshots of the same region connected to in each client.

How do I connect a MXP client to OpenSim?

Grab a copy of the Demo Client from Bubblecloud.org (see Downloads -> MXP Demo Client.zip) and a copy of the latest release of OpenSim from the OpenSim Trunk SVN.

In your OpenSim.ini, add the following settings to the end

[MXP]
Enabled = true
Port = 1253

Start up your OpenSim and create a region if you havent already – now go into your OpenSim Region’s directory and open your default.xml – cut and paste the sim UUID (looks like this: b18ddeb1-f3d4-4c05-aa55-f1ca55532220 )

Install the MXP Client and edit the MX Deck.exe.config file – you need to paste your region UUID into the “BubbleID” field, and edit the “ServerAddress” to read “127.0.0.1″

Start MX Deck.exe and you should be connected to your OpenSim region.

Voila!

Note from CTN editor: Check CTN post about MXP, and also about CICP (MXP is based on CICP), and how CICP is now Public Domain

OpenSim , , , , , ,

Green Phosphor gives CICP to Public Domain

February 16th, 2009
Comments Off

The purpose of this article is to publish a provisional patent application I filed back in March 2008. The provisional covers Content Injection and Control Protocol, which I created to allow Green Phosphor’s data visualization application to interface with virtual world platforms (see previous article on CICP here).

I recently asked the Slashdot readership whether I should fork out the additional $10k it would take to properly complete the app, since I am releasing CICP to the public domain anyway. Despite a large number of trolls saying I was stupid to ask such a question on Slashdot, I received a lot of very good advice; and it sums up to this: publish the work, and as prior art it protects the protocol. I think this is important. Not only is CICP useful for business applications to produce 3D user interfaces within virtual worlds; it is a predecessor to MXP (see previous article on MXP here). MXP has the potential to tie together many worlds and programs into one metaverse. The MXP project is seeking developers… go to http://www.bubblecloud.org.

Without further ado, here’s the publishing of the provisional patent application for CICP. CICP is for all.

Darkstar, OpenSim, realXtend , , , , , , , , ,