The video above (see here on YouTube) of an OpenSim integration with Facebook was posted today by Stefan Andersson of Tribal Media also see his blog here. This is the third in a series of videos that introduces Tribal’s new concept for 3D/web integration.
The picture above shows the in the left pane fetched pictures from Stefan’s Facebook photos. As Stefan explains a hybrid web app is talking to the region to change the picture accordingly and pull the photos into frames on the wall (for a more detailed technical explanation see here).
These videos (see the first here) from Stefan and his partner at Tribal Media, Darren Guard, Stefan explained, demonstrate as proof of concept how a “3D web architecture” could look and feel.
This concept has quite far reaching implications to many or our current notions of how inventory, virtual economy and content will work in virtual worlds. Stefan explained:
Sufficient to say is that Tribal One was an experiment, showing some concepts – much like realXtend is introducing some innovative new concepts. For example: Who creates your ‘inventory’ and what are you supposed to do with that? In our concept, the ‘inventory’ is a set of services that I can use to interact with the world, i.e, I have a “pictureFrame” in my inventory that, when I drag it onto a wall, the act of dragging it onto the wall instructs the region with the wall to use that url to fetch the definition of that pictureFrame, as well as showing that pictureFrames application web page to me. And, when I interact with that web page, that web page interacts with the region to change the picture in the frame. Contrast that with the notion of an ‘inventory’ that contains a set list of stored objects that I can ‘rez’.
The next video Stefan noted will demo a ‘friends’ tab and you can choose to ‘join’ or ‘visit’ them. “The point there being not having to run, fly or teleport just click. Also, the clip shows ‘snapping.’ the picture frames ‘snap’ to compatible surfaces something you’d like in Second Life.”
Interview with Stefan Andersson
Tish Shute: What are the goals of Tribal One?
Stefan Andersson: One of the central goals with the Tribal Server platform is actually about cost-efficiently adding 3D to existing communities or intranets. We did the Tribal One to:
1) show how easy it is to build what we call a “Community Provider” which basically is a connector between an OpenSim-based server and any given community or intranet – the ‘provider’ is just a small piece of code that provides authentication and profile data for the 3D region.
2) show how a hybrid web/2d interface could look, and address those very questions that we discussed would be interesting to ask Avi Bar-Zeev (see full interview here).
3) show our concept of 3D web applications, where a user works with an application trhu a seamless mix of 2D and 3D interactions, all resulting in http methods on a simple web application in the background.
We wanted to show how third-parties could create 3D-aware applications without coding anything but web services, for example in php. This has two great benefits; a) you can let web-coders (of which there are plenty) do the work of 3d-coders (of which there are few) and b) you can utilize existing web service contracts and security solutions when passing over trust boundaries, which would let a 3D-host securely interact with public web services, instead of letting a hosted region have direct database access.
Tish: Is it correct to say while your experiment here provides a nice solution to identity management between 2D and 3D spaces but it does not approach the issues that OGP and AWG (Architecture Working Group) are dealing with re trust management now, where the real meat on the table is now inventory and permissions and economy?
Stefan: That would be correct; in our model, the inventory actually consists of url references to web applicatons; for example – the picture frame that is visible in the clip I’m uploading, is in the inventory as a url to a web application that creates the xml definition for the 3D object
We are aiming for something a bit more ‘active’ than a static collection of statically stored assets.
We wanted to proof-of-concept an approach where you had an application generating the inventory and the objects in the inventory, as opposed to having a static databse listing of statically stored items.
So, the inventory is generated on-the-fly for the user, depending on what services he or she has subscribed to, and how those services are configured – not just by how stuff has been given/taken.
So, if you had an Phat wardrobe node in your inventory, for example, Phat could add items to that node depending on what you did on their web site
Tish: And that would be assuming they offered virtual clothing right?
Stefan: Yes, exactly.
Okay, take some virtual clothing company – the point is that the inventory, in this case, could be modified ‘from the outside’. Of course, in an SL-centric world view, that’s outrageous, but if you thought of this from a service-centric view, it would make sense.
Tish: But protocols could be worked out to extend this beyond Tribal to other OpenSim worlds and even Second Life assuming those other worlds wanted to participate?
Stefan:Yes, definitively – we did this to show how a 3D web architecture could look and feel.
Tish: Server centric is like Tribal where you are basically running your sim on your own PC
Stefan: Yes – we actually based all this on very simple web protocols; the ‘web viewport’ concept is just an extension of the existing OpenSim object exchange xml ‘standard’.
Tish: And while this idea would have no place in the old SL grid – would it be more feasable to integrate it in the new Linden Lab Open Grid with the agent domains?
Could agent domains say choose to opt in and opt out of these kind of web services?
Stefan: To be honest, I’m waiting for the AWG (Architecture Working Group) to solve the ‘inventory’ issue before I would venture using the term ‘agent domain’.
Tish: So when there is inventory sharing that is when the agent domain comes of age in your view?
Stefan: Well the question is: Who creates your ‘inventory’ and what are you supposed to do with that?
In our concept, the ‘inventory’ is a set of services that I can use to interact with the world.
Ie, I have a “pictureFrame” in my inventory that, when I drag it onto a wall, the act of dragging it onto the wall instructs the region with the wall to use that url to fetch the definition of that pictureFrame, as well as showing that pictureFrames application web page to me.
And, when I interact with that web page, that web page interacts with the region to change the picture in the frame.
Contrast that with the notion of an ‘inventory’ that contains a set list of stored objects that I can ‘rez’.
Tish: And at the moment in AWG discussions ideas are limited to Second Life models of inventory?
Stefan: That is my understanding
Again, Tribal One is not a ready-made product – it’s a vision of how future 3D/Web applications could function.
We just need somebody to pay us to finish it! *laughs*
Tish: Is there any reason why assuming AWG figure out how to manage the conventional notion on inventory this concept couldn’t be layered into extended protocols and options?
Stefan: I would assume the AWG solution would be able to fit our concepts – since we’ve already done this with the existing SL protocol.
Tish: Do you see this new notion of inventory offering new oppoertunities to content creators to be rewarded for their work?
Stefan: Well, with this prototype we were more looking at how the web works; we were more concerned with generating and distributing content from a service point of view.
This concept is more oriented towards users utilizing a business service, like a web site.
In our scenario, content is created by server-side services written in for example php.
imagine, if you will, if the SL model was based on scripts that were able to create objects, instead of objects having scripts.
Tish: Won’t this involve the development of lots of new tools for content creation?
Stefan: Well, yes and no; it’s like with the web you need people to do the designing, and then people to do the scripting, but you also need people to do the server side coding.
We are not addressing the current SL paradigms of content creation we are addressing what we felt was missing; a platform for organisations to make dynamically created content, like the difference between a static html page and a php page. Both can have client-side scripting on them, but the php page can pull data out of databases – any kind of databases – existing databses.
Take the example with the “where I’ve been” application in Facebook: You add that app, then you can fill in where you’ve been, and you get a nice map of where you been, and you can compare that to that of your friends
Now, that’s a database creating those images out of the data that you and your friends entered.
What we did, was an api, so that the author of that facebook app could add a set of php pages, which would let users share in inventory item, that was an url to an web app that returned the definition for a map of where I’ve been, so I could have that same map on the wall in my 3d living room.
Tish: So this implies a completely different model of content creation and economy to the one Second Life uses?
Stefan: Well, in these kinds of business scenarios, the content in itself would probably have little value, but the service that generated the customized content would have great value.
Tish: So this will raise the bar for people making a living from content creation? right?
Stefan: Most definitively. But that is how it should be.
Tish: I’m not sure everyone will agree with that!
Stefan: Oh? That’s the back side of progress; the ‘advanced’ part of ‘advancement’ if you will. That’s why it has value.
Tish: Well one of the things that made SL popular was the fact that a non professional developer, just someone with talent, could make a few Lindens creating content.
But, don’t you think the two models of content production will work together?
Stefan: They still will be able to. Most definitively in SL.
Again, it’s like with the web; in the beginning, people could make money out of just being able to notepad some html and ftp it to a server.
Today we have .NET server side database programmers doing the server bits, and educated professional graphical designers doing the ui and design bits.
Tish: Won’t the web services model have to rest in some way on a template understanding of content?
Stefan: Of course it has. You’re very right about that.
But then again, it’s not an ‘either-or’ – it’s a ‘both’.
And with that, a whole new spectrum of utility.
Tish: Perhaps, the two models will find interesting ways to interact in the end? They already do to some degree?
Stefan: Yes, you know these malls with 10 packs of skins, where the only difference is the combination of skin and makeup?
Or hair variations?
A good designer teams up with a good programmer and creates one good app that just delivers that exact combination.
There is good design and bad design, good design will always be coveted.
Tish: So do you have any summarizing remarks?
Stefan: Social games and technical innovation aside, what is needed to bring forth the 3D web revolution are good examples of business and user value – applications reaching beyond social networking bubbles and into the intranets and databases of organizations – and I believe Tribal Media has shown that we are very well suited to help bring those applications to life.