Archive for August, 2008

Meet the Rising Stars of the Open Metaverse at Virtual Worlds 2008, LA

Friday, August 29th, 2008

OpenSim developers will be explaining OpenSim to Virtual Worlds Conference and Expo,LA, 2008, attendees from a “very-spacious booth being sponsored by DeepThink, Genkii, RealXtend, SineWave and ISID.” The booth will be an important place to meet some of the key innovators in virtual worlds.

While OpenSim is still alpha there are already some pretty advanced projects on the OpenSim platform including some truly game changing innovation from realXtend, and Tribal Media (more on RealXtend here and Tribal here), IBM’s 60 sim behind their firewall OpenSim Grid, the Microsoft Developer community’s OpenSim grid, Project Manhattan, and the awesome immersive education Greenbush Grid, the collaboration between IBM and the Fashion Research Institute to develop new technologies for the $1.7 trillion apparel industry, Genkii’s work with astrophysicists Piet Hut and Junichiro Makino on N-body simulation in OpenSim, and an extensive list of virtual world providers, and much more!

Thanks Lynn Cullens (Bjorlyn Loon in SL), Director of Communications for Metanomics for the picture of Adam above.

DeepThink has sponsored a screenshot competition so many OpenSim projects will be on display in the booth. Also, Adam a will be unveiling a new OpenSim demo from DeepThink (the screenshot above is a sneak peak). OSGrid (the OpenSim test grid) guru and organizer Charles Krinke (avatar Charles Krinkeb) will be in LA also, so this is a great opportunity to find out how to get involved with OpenSim development.

Three from RealXtend will be in LA!

RealXtend will have three team members in LA - you can look for them at the OpenSim booth. In the picture from the left - Hannu Hollström (ADMINO technologies), Tomi Kujanpää (LudoCraft/realXtend Art Director & Avatar Specialist), Antti Ilomäki (realXtend Communications/ADMINO technologies Project Manager).

ADMINO technologies and LudoCraft, the two main contributors of the realXtend project, are pioneers in virtual world development and interactive experience design. LudoCraft Ltd. is a game studio specializing in the design and development of collaborative multiplayer 3D games and simulations. ADMINO technologies develop unique, scalable virtual world server solutions.

Novamente’s virtual pets coming to RealXtend soon!

Recently, Ben Goertzel, Novamente, visited realXtend in Oulu, Finland and his visit made the local newspaper. Novamente will have their own booth so stop by to learn more. Ben Goertzel explained:

This summer a collaboration between RealXTend, Novamente LLC, and the open-source AI project OpenCog was established. The initial focus of the collaboration is on creating open-source virtual dogs using the OpenCog software, similar to the Novamente LLC virtual pets which are currently being developed mainly in the Multiverse platform (see screenshot below), and have also previously been prototyped in Second Life, and to launch these pets in the RealXTend platform.

At first the dogs will be used for research and experimentation purposes; then afterwards there is the potential of offering them freely to RealXTend users to use in their own RealXTend worlds or publicly-provided worlds. The Novamente/OpenCog virtual pets differ from other existing virtual pets in that they possess powerful, open-ended learning ability: they can learn an endless variety of behaviors, not just a handful of behaviors provided in advance by the programmers. And the pets are just the start: the plan is to roll out a series of progressively more and more intelligent, learning-capable virtual agents in RealXTend, Multiverse and other virtual worlds, including talking parrots and humanoids that can carry out various practical tasks as well as providing entertainment.


Genkii Goes to Hollywood

Virtual Worlds 2008, LA will be a unique opportunity to meet the Genkii team and see their work with Piet Hut and Jun Makino on N-body simulation in OpenSim.

In the picture above, Jeff Ames, CTO, Genkii, is coding up  the N-body algorithms in a meeting/dinner with astrophysicist Piet Hut in Tokyo. The pictures below are the CCO of Genkii, Yuki Saeki’s portraits of Ken Brady (CEO), herself, and Adam Johnson (COO).

CEO Ken Brady will be leading a panel in the Enterprise Track called “Using Virtual Worlds to Streamline and Augment the Film-Making Process.”

ISID -  business value in open source virtual worlds

On the left is Yuhei Shinada, and on the right, Takashi Shima of ISID.

ISID is one of the sponsors of the OpenSim booth at VW2008.

What ISID wants to do with OpenSim:

- Analyze the platform to search for possible business applications
- Develop intraverse environments in order to find new ways for companies to communicate internally
- Develop a closed environment to provide a place for information exchange and experimentation within the companies with the same interest

ISID’S outlook:

In the future, several open source virtual worlds will emerge. However, given OpenSim’s prevalence and level of sophistication, it will be the most successful.

Fashion Research Institute creating enterprise solutions in OpenSim

The image above is the Shenlei Winkler’s, avatar (Shenlei is CEO of Fashion Research Institute, Inc.), photographed in the OpenSim Shengri La region in the Shengri La Bliss sim, part of FRI’s 9 sim grid. Shenlei Winkler (Shenlei Flasheart in Second Life) is leading the way with IBM in making OpenSim fit for business and in using OpenSim to develop new technologies for the $1.7 trillion apparel industry, (see my upcoming interview with Shenlei to learn more about her work and vision).

We’re working with IBM to harden Opensim as an enterprise-ready solution for a number of different reasons not the least of which is the fact that IBM can handle issues of scalability, interoperability, and data security. Right now, we’re testing the IBM OpenSim installation ShengriLa Spirit so that we can really stress the platform in a controlled environment. This offers feedback to our development team in a codified way. The fatc that I insist that it be beautiful just aligns with the Fashion Research Institute’s overall vision.
FRI is a business partner and customer of IBM, plus, we have a research agreement with them to develop new technologies for the apparel industry, a $1.7 trillion industry.


Justin Clark-Casey formerly of IBM is now working full time with the Fashion Research Institute on OpenSim development. Justin will be in LA, so look out for him at the OpenSim booth or catch him speaking on the last day of the conference with Adam Frisby, DeepThink, Mic Bowman, Intel, and myself, Thursday, September, 4th, 4pm to 5pm on our panel, “Open-Source, Interoperable Virtual Worlds,” which will be part of the Future of Virtual Worlds track.

Eolus - “The Path to Sustainable Real Estate”

Oliver Goh, Implenia, will be at VW2008 demoing the latest work from Eolus on “The Path to Sustainable Real Estate,” (see my earlier posts here, and here on Oliver’s work with with IBM on prototyping Virtual Operation Centers and building automation in OpenSim).

The Eolus 3D Virtual Operations Centers represents the next level of innovation and green technology offered by the Eolus solution.   The 3D environment is customized according to unique requirements, and can be delivered as classic command centers, control rooms, datacenters, or hybrids or custom solutions.  The versatile virtual world environment ensures a platform for innovation for scalability, performance, and growth as the business value it brings is expanded to other areas.

Michael Osias, IBM, Chief 3D Architect, Grid Operator, IT Optimization

You will be able to find Michael at the IBM booth.  And don’t worry, he is not always as serious as in this photo!  So my advice is to grab this chance to meet the developer of some of the most advanced OpenSim enterprise applications.

I have blogged a lot about Michael’s work with Oliver Goh on Eolus in the past year.  They recently got a lot of main stream press attention including being written up in the Guardian (also see my posts: The Archeology and Future of Software Design: Interview with Grady Booch, Interoperability for Virtual Worlds in 2008, Eolus Goes OpenSim, Next Generation of Software Design: 3D Command/Service Centers in Second Life, Eolus Makes Leap to 3D Internet in Second Life).

Michael’s pioneering integrations of “virtual” and “real” worlds give us, perhaps, our first glimpse of how virtual worlds will play a vital role in management, optimization and control of energy, data, business processes and more, changing the way we relate to the software infrastructure of our technology driven world.

As the architect and grid operator of IBM’s fast growing ‘behind the firewall’ OpenSim grid  - it now has sixty regions and 123 users - Michael has been doing some interesting work. Most recently he has been integrating xen an open source virtualization product by Citrix with OpenSim to do dynamic provisioning of new region servers, move the region servers among nodes, resize virtual CPU and memory allocation, and more.

Doug Thompson - CEO, Remedy Communciations

And, look out for Doug Thompson! He is also known as the great blogger Dusan Writer who sponsored the Second Life (TM) User Interface competition.

Second Life Ui Contest July 3 2008

Tom Hoff - OpenSim Core Developer

“Tom Hoff is an independent software developer and digital artist. He is contributing to the OpenSimulator project as a core developer, currently specializing in geometry issues. His prior experiences include a 23 year career as a technical staff member at Hewlett-Packard Company, where he spent much of his time developing digital halftoning and printing algorithms for ink jet printers and robotic machine vision systems for automated print quality evaluation. His interests include digital image processing, 3D geometry, and computational behavioral models. He is also an avid fitness enthusiast despite his higher than normal consumption of diet cola.”

“OpenSource, Interoperable Virtual Worlds” at VW 2008, LA

Wednesday, August 27th, 2008

OpenSim is designed for interoperability innovation. Adam Frisby explains:

By allowing easy customization and extension, we can test and refine interoperability protocols very quickly and efficiently. The interconnect with Second Life (TM) was developed by David Levine, IBM, in only a number of days (David Levine on the right, Adam Frisby, left).

Please join us on Thursday, September, 4th, 4pm to 5pm at the Virtual Worlds Conference and Expo, LA for our panel, “Open-Source, Interoperable Virtual Worlds,” which will be part of the Future of Virtual Worlds track.


Support for standardisation in Virtual World technologies has been growing steadily in recent times, join the developers of OpenSim and industry commentators as they discuss where open-source virtual worlds are heading and the progress made towards standard protocols for interoperability.


- Adam Frisby, Director, DeepThink (and OpenSim Developer)
- Tish Shute, Writer/Virtual World Evangelist, Ugotrade.com
- Mic Bowman, Principal Engineer, Intel
- Justin Clark-Casey, OpenSim Developer, IBM

Also, special panel guest Mike Mazur, OpenSim Developer, 3Di. We hope David Levine, IBM, will be back from Europe and join us too!

Adam Frisby, Deep Think, is one of the founders and leading developers of OpenSim. Adam has been behind so many important steps forward in the open metaverse that I cannot list them all here. But a notable recent project of Adam’s is a new “Lively style” viewer for OpenSim and Second Life (TM), Xenki (see Adam’s blog for more).

Mic Bowman, Intel

Mic Bowman presented at the Intel Developer’s Forum earlier this month. He outlined a road map for how virtual worlds will move into the fabric of everyday computing with open source software playing a key role (the slide of OpenSim architecture above is from this presentation). Virtual Worlds are an important part of Intel’s strategy for developing connected visual computing experiences. For more about Intel’s CVC initiative (see this press coverage of IDF, The Inquirer, bit-tech.net, hexus, Trusted Reviews).

Basically… my message for the panel is this: To achieve a thriving, growing, broadly adopted CVC ecosystem, we believe the industry must come to some agreement on common building block technologies. Open source technologies represent a critical element in the discovery and development of these technologies, and foster innovative usages that drive adoption.

Justin Clark-Casey, Fashion Research Institute, Inc.

Another interesting member of our panel and important OpenSim developer is Justin Clark-Casey. Justin, formerly of IBM, is now with the Fashion Reasearch Institute, Inc as a full time OpenSim developer/architect. Fashion Research Institute is considered by many one of the most advanced business cases on OpenSim (more about Shenlei Winkler, CEO of FRI, in my next post, “Meet the Rising Stars of the Open Metaverse at VW 2008.”

Recently Justin has been working on something called a region archive in OpenSim.

Basically, this is a way of saving a sim to a single file (currently a tar.gz) and reloading it into another OpenSimulator. This file contains all the necessary data (prim xml and assets such as textures and scripts) necessary to restore the entire region.

It’s currently experimental so still has some bugs. But, it can be used via the load-oar/save-oar commands on the OpenSim region console.

The ability to save and load archives is something that people developing whole applications using OpenSim will be very interested in, and will contribute to the business value of OpenSim.


OpenSim and Linden Lab are at the Center of Interoperability Innovation

Since the launch of Open Grid (beta) the interoperability initiative from OpenSim and Linden Lab (for more see here), cross world interoperability has begun with avatar hopping. Now the thorny issues of trust management, economy, and IP that are the major part of asset interoperability are on the table.

The picture above of Gridnaut, Lawson English, (Saijanai Kuhn in SL) is from Lynn Cullens (Bjorlyn Loon in SL), Director of Communications for Metanomics.
Open Grid has expanded to 31 regions in less than a month and there is now OGP support in OpenSim trunk. Vivaty has expressed interest in joining interoperability efforts so we may see some of the new browser based worlds become part of this initiative soon

Hamilton Linden, who is leading the Open Platform Product Group (OPPG) as Director, Engineering for Linden Lab, and, Tess Linden, Technical Director, leading design and Implementation for the OPPG (Open Platform Product Group), will be holding office hours at the Linden Lab booth at VW2008, LA to discuss Open Grid. We hope that both Hamilton and Tess will special guests at the panel also!

Tribal One Integrates OpenSim and Facebook

Tuesday, August 12th, 2008

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.

,

Will the future of virtual world’s be in the browser? Interview with Avi Bar-Zeev

Friday, August 8th, 2008


So here it is, as promised in my previous post, my interview with Avi Bar-Zeev! Avi is a key virtual world thinker, now with Microsoft, who has put time and energy “into trying to figure out where the real value is with 3D.”

Avi was co-founder of Keyhole, maker of Earthviewer (which later became Google Earth). Also, Avi developed technologies for Second Life, including the procedural 3D object rendering code.” The pictures above are from his portfolio (from left to right, Linden Lab’s Second Life, World Design’s Virtual Environment Theater, Disney Imagineering).

I requested an interview with Avi because it seems in the recent “cambrian explosion” of browser based virtual worlds there is a lot of confusion about what “in your browser” virtual worlds really bring to the table.

Are they a step backward into little more than 3D chat or a harbinger of a future seamless integration of fully immersive, user generated virtual worlds like Second Life into the web?

After reading Avi’s post, “Volumes of Reading,” where he points out some of the confusions about browser based virtual worlds in this TechCrunch post, notably an elision of the difference between “in-browser-window” and truly “hosted in a browser,” I became convinced that if anyone had a clear view of what was actually going on, and what the future might hold for virtual worlds, it might be Avi.

If you have read Ugotrade before you know I am a tireless promoter of open source virtual worlds, in particular OpenSim. Why OpenSim? Because, as key OpenSim player, Stefan Andersson, Tribal Media AB, puts it, “OpenSim was thought to be a rapid prototyping testbench for wannabe paradigm shifters. That is really the heart of OpenSim.”

And yes, “open and distributed will win!” IMHO.

In his post Avi made some interesting comments about Adam Frisby’s “firestarter” XBAP based in your browser viewer for OpenSim and Second Life, Xenki. So my interview started, with the questions about the significance of Adam’s work, “Creating An In Your Browser Viewer For OpenSim/Second Life.” But Avi’s eloquent answers quickly made for a wider discussion about the future of virtual worlds.

Thank you Avi for being so generous with your time!

Will the future of Virtual World’s be in the browser: Interview with Avi Bar-Zeev


1) Could you explain more of your thoughts on a truly “hosted in the browser” open viewer and what the potential and limitations for such a project are? Have you since your blog post examined further the potential of Adam’s Xenki project in this regard? Are there other truly hosted in the browser projects that you know about that have potential?


There are a number of embedded 3D viewers out there now, without naming any names (one of the caveats of working at Microsoft now is that I should generally try to avoid openly praising or criticizing specific companies, though I’ll make it clear that all opinions offered here are my own and do not represent my employer in any way). Most of those viewers are deployed as ActiveX controls, which means they are essentially compiled OpenGL or DirectX applications with their 3D output windows and input events glued to the browser window, and with an added ability to invoke some of their functions via Javascript.

The adoption rate for those sorts of approaches have been pretty low, it turns out, mostly due to “effort to install” and the issue of “trust.” ActiveX controls can do just about anything on your computer that you can, and even well meaning ActiveX controls could potentially be exploited by malicious websites via bugs, which is coincidentally why they require so much pain to install. You should really be careful about which plugins you let on your computer, because I guarantee not all of them have been thoroughly secured.

Now, any one of those plugins could take off the way Flash has. But it’s a chicken and egg problem — a critical mass is needed to attract a critical mass. Flash broke through largely because of one killer app: web video. Prior to that, it was common to hear that Flash-based websites were over-designed, pretentious and annoying. Along came YouTube and others and now everyone has Flash installed almost by default.

Being “hosted in the browser” implies a few things that ActiveX can’t handle. First, the 3D viewer should run in a sandbox, with prohibitions against accessing or writing to other parts of your computer. That’s a benefit of the XBAP method Adam picked. But “hosted” also typically implies more cross-platform portability, much like Javascript, which his chosen method doesn’t provide. XBAP does work equally well in IE and Firefox on the PC with .Net installed, so that’s a plus. But a Mac version, for example, will be more difficult to come by. To be fair, even Javascript, incl. AJAX apps, often require a few platform-unique code paths, but hopefully only for low-level logic, not the whole app.

The real “hosted” in browser projects out there right now all use either Flash, which isn’t really part of browsers but is so ubiquitous that it might as well be, or Java, which was designed to handle the sandboxing and cross-platform issues right out of the box. Flash is unfortunately still quite slow for any serious real-time 3D. And Java has some lingering problems, like startup time, which I’m still hoping to see resolved someday.

The best hope for true “hosted” 3D viewers though is for 3D to become a native element of existing browsers — OR — for someone to write a new class of browser that’s built to handle 3D and 2D equally well. It’s the best hope, simply because 3D is a superset of 2D — anything you can do in 2D can be done in 3D with some degrees of freedom left blank. 3D elements should be able to be mixed effortlessly with traditional 2D markup and vice versa, selecting, cut, paste, flow, and so on. And that’s never going to happen in a simple plug-in.


2) While Adam explained to me his viewer Xenki will have a tighter coupling than say Adobe Acrobat which opens solely in a new tab, it will not be a truly hosted in the browser and not be using javascript or canvases or anything like that since it lacks the ability to do things like access UDP network stacks, etc. So it seems cross platformness is still an illusive goal!

Is a truly hosted in a browser viewer feasible right now considering the feature sets of browsers aren’t sufficient yet to do 3D graphics or advanced networking. And do you think the latter will ever be the case?


Alas, I don’t see enough 3D support in browsers or even Flash for the very robust and performing hosted viewers just yet, but maybe soon. The best approaches for 3D from a technological perspective are still ye-old stand-alone application, where you simply have more ability to control the variables. The main impetus for hosting or at least plugging these 3D viewers into browsers is a business one — trying to break the adoption limits we’ve seen and make it a seamless web-like experience (assuming the web ever is). Why should anyone care if 3D is implemented differently from text and video when they’re just bopping around the web? But right now, they should, because 3D in a browser window just doesn’t work as well.

On the other hand, one thing the web is very good at is enabling mashups to find opportunities the original application makers never found or had time to explore. And so for the truly visionary companies who are willing to open up their 3D viewers to external mashing, they may find a more organic path to Flash-like ubiquity that no mortal marketing budget can afford.


3) Adam’s work towards a “hosted in your browser viewer” for OpenSim and SL is a separate project to a full scale Open Viewer project. (With Xenki he is aiming for a more lightweight browser-oriented client which will be more useful for people just casually visiting.)

But while doing a from scratch Open Viewer is an enormous and very difficult task, most advocates for open source virtual worlds and interoperability seem to agree an Open Viewer project is very necessary. But at the moment I think Open Viewer is in a very rudimentary stage (unlike OpenSim which is really moving along at a fast pace). What are you thoughts on possible directions for a full on Open Viewer project? How and where might energy be best directed in this regard?


I’m not convinced an Open Viewer will be any more or less successful than other 3D browser plugins, as long as it takes a similar approach. I think you could in this case try something more unique to open source — the main advantage you can exploit is to leverage other open source projects, like, say, Mozilla, with your code to either enhance Mozilla under the hood or produce some new combination, say, using the nice layout engine, JS interpeter/compiler, and network support from Moz with some new 3D rendering layers.

The main problem with getting any 3D viewer adopted by the mainstream isn’t the openness of the code, IMO, but the suitability of the technology, UI, etc..

For example, Real Video was around for a long time. Philip Rosedale in fact was a pioneer in that regard. But Web Video didn’t really explode into UCC until the quality of the experience increased to at least YouTube levels. That meant better compression and bandwidth to avoid the “buffering…” delays, better resolution, more viewable window sizes, and much simpler installation than Real Video offered (i.e., no registration and those annoying ads on my desktop every day — ymmv).

Whoever solves those problems for 3D can become the viewer of choice. And thus far, I’d say Google and Microsoft have the biggest advantages in that regard, if for no other reason than they have market and mindshare to attract lots of people at once and see what sticks.


4) You mentioned that when/if “one of the “3D chat” clients pushes into that territory” it could be a game changer? Could you elaborate more on what you think might be the magic ingredients for this?


Lively could add some real user created content, for example. They haven’t shown much interest in making SketchUp a more vital part of that experience, except maybe at the file level (i.e., create something and then publish it, unlike SL’s instantaneous collaborative editing — I’m referring more to Google Earth now, but I expect this for Lively too). Caligari has been collaborative for a while now, and it’ll be interesting to see what direction they want to go next. Vivaty just announced some more UCC tools, which I haven’t yet tried out, so I won’t comment, except to say that VRML/X3D still feels more like Real Video than YouTube.

That’s all to say that SL is still fairly alone in the degree to which it lets people craft and control the world without direct corporate control. The closest analogs for SL are actually the lego-like worlds like Roblox and, well, the Lego MMO, not other social worlds.


5) Considering your depth of experience in networked 3D environments and, that you have generously offered to work up a blog entry on LLVolume and a procedural geometry primer, do you see yourself becoming more involved with the community effort that is beginning to gather around OpenSim?

I’m a big fan of open source. I’m not as big an advocate of SL’s gridded approach to building the Metaverse, though it works well for them. I’m happy help document the open sourced LLVolume because I had a big hand in it originally and you shouldn’t have to work so hard to reverse engineer it at this point. I’m sure even Linden Lab would want you making better use of that code.

6) I totally agree with you, the future should hold richer, smarter object formats. But at the moment the thorny issue of trust management in virtual worlds seems to be the first hurdle to get over? Do you have any thoughts on this? I am not sure if this is an issue you are interested in? But, just in case, here is the chat on this issue from the AWG to show u the stage this discussion seems to be at in the recent Open Grid Beta between LL and OpenSim.


http://wiki.secondlife.com/wiki/User:Zero_Linden/Office_Hours/2008_August_05).


It’s a huge topic to cover, but I’ll take on a few aspects. One is basic security. A procedural language like Java or Javascript needs to be sandboxed to avoid compromising your PC, as would any system that delivered 3D objects along with procedural methods. But a simple declarative language might be the way to go. I’m guessing that’s one reason why the XAML stuff Adam is working with works as well as it does. Turns out, a simple declarative language could be extremely expressive in terms of 3D shapes as well, and even the term “procedural geometry” may be a misnomer, unless of course actual code or script is being delivered for each new object.

Another aspect of trust is transactional security — maintaining the integrity of who owns what. And on that front, my views might be a bit out the mainstream. Since I believe that no electronic system can ever truly prevent digital copying, we should actually be thinking about how to reward authors in a “post-scarcity” environment, where any object can be freely copied without restriction — it’s the original designs, unique patterns in the universe that we should try to reward (but again, not restrict).

For example, I’d rather see the system track uniqueness in objects, and have the ability to determine which objects are “derived” from which (and by what percentage) to create a sort of “tree of authorship.” People could copy and modify designs at will. But when any derived object makes any actual money, the system, knowing the derivation chain, could flow proportionate revenues back to each partial author. If objects don’t make money, there’s nothing to fight about. But authors never need to worry about who’s copying them — in fact, they’d actually want people to copy them.

In such a system, authors are encouraged to maximize originality and usefulness of their objects because anyone who uses or derives from your object even indirectly could potentially be a revenue source down the road — in fact, the farther down the road, the broader the base in general. Imagine I’m the original author of “the basic sphere” and see how often that would be used or modified by others.

In this case, the algorithm is the final arbiter of how similar two objects are and which came first, so as to handle cases of two people independently creating similar forms. The right kind of modeling system for this approach would work “by example,” encouraging reuse vs. reinvention. But that part is a much longer discussion.


7) Leaving the tech stuff aside for a moment, what about the user experience in a new browser hosted viewer? How should the user ‘be’ in several places at the same time, the way he is on a web site? How would you have a shared-space continuum like SL operate over several ‘pages’?

No one has really solved this yet, and it’s probably the biggest hole in virtual worlds right now. Some people take the literal shot at an answer, saying a “room” is an analog to a website. In that sense, multiple connected rooms (using, say, portals as the analog to href links) makes some sense.

But one of the advantages of 2D web pages is that they can lay out a good deal of information in a simple static (1D scrollable) format. When you start plastering content across multiple walls like some art gallery, many people get lost or frustrated that it’s not all in one easy place. The benefit of 3D should be to add spatial context, not make things harder.

And it turns out, by introducing some cute navigational constraint like walking, flying, etc.., you may actually detract from the user experience as compared to 2D. You’ve added a handicap of having to move at a reasonable pace by real-world or perceptual metrics. vs. the near instantaneous click of a mouse on your 2D screen. You’ve actually lost something in translation.

One experiment I tried for a company tried to work around that by expanding your field of view to a full 360 perceptual space using some rendering tricks. I wouldn’t call it successful, but there were some interesting notions that grew out of it for being able to simply click on what you want vs. having to walk or fly to get close enough or to move around to see something without distortion. I think that’s probably why Lively makes every thing in the world clickable/dragable, which leaves MMO users scratching their head over why you have to drag your avatar around too.

Frankly, right now, I’d be happy to see a mostly 2D web page with 3D elements popping out as needed. We can gradually build up a working vocabulary of 3D concepts in the way we built up a vocabulary of cinematography for understanding emotion in movies and of web browsing too. We tend to rely on those shortcuts without realizing. This will take some time to work out, so any standards we espouse must have the flexibility to experiment built in.


8) Do we need to ‘divide the protocol cake’ - ie, that stuff like the SL protocol, simply is too much for one protocol and a layer model is needed where several standards and protocols can coexist like the web?

Note: This question and the one above come from a chat I had with Stefan Andersson of Tribal Media. Stefan also added: “I mean, that a 3D world shouldn’t be seen as _one_ application, up in the application layer. I believe we need the “http 3.D” and the “vrhtml” which is what prompted this question.

I don’t think one protocol is ever the answer. I think it will be important to fold SL support into any attempted standard. But not everyone wants to build their world out of prims.

On the other hand, I think the other flavors of virtual world protocols could benefit from more procedural support for world-building. One of the reasons they don’t work as well IMO is that they force the client to download way too much data, especially geometry. Download times for 3D worlds need to be comparable to websites or faster (given the real-time rendering), though many currently require several orders of magnitude more data before they grant the user some navigational control. One of the best things about SL’s protocols is how the world is progressively streamed in. That’s the most important part to keep.


Anyway these questions are just for starters. Any thoughts you may have on the development of an open interoperable metaverse/VWs are interesting to me! So please feel free to give me pointers to directions you think are of interest.

You might want to look over some older blog posts of mine about Web 3D, semantics, and even scenegraphs, as they all apply to this discussion. I believe I had a post on post-DRM authorship as well.




Xenki: An “In Your Browser Viewer” for OpenSim and Second life

Thursday, August 7th, 2008

The story of Xenki, an in your browser viewer for OpenSim and Second Life (you can download the source on Forge.OpenSimulator), began with a stream of tweets from Dr_Manhattan (Kyle Gomboy, avatar G2 Proto) - power house of the Microsoft Developer Community in OpenSim (see Project Manhattan), and Second Life (see here) - announcing the merging of DirectX and WPF in the .NET 3.51 SP1 release.

I was not the only one to notice these tweets, and the links were soon in the OpenSim IRC channels, and my friend Peter Quirk, EMC, quickly circulated them in the realXtend developers’ Google discussion group. And most importantly, perhaps, almost immediately the phenom developer of OpenSim, Adam Frisby, started coding up an in your browser viewer for OpenSim and Second Life, called Xenki (see Adam’s blog for a series of posts) that show just how fast Xenki is progressing. The picture above is of Wright’s Plaza, OSGrid. As I have been there many times, I can testify it is beginning to become recognizable as Wright’s Plaza in Xenki.

Now Zain Naboulsi, Microsoft’s Virtual Worlds Evangelist, has introduced Adam to David and Gerhard, the Project Manager and Lead Programmer respectively on the WPF Graphics Team, who Adam writes: “have graciously offered me their time to help answer some performance related questions with regards to the Xenki viewer I have been developing.”

Here are some quotes from Dr Manhattan’s first tweets:
“Why is SP1 for Visual Studio 2008 and .NET 3.5 a potential virtual
world shocker? WPF + Direct 3D love! Can you say powerhouse 3D
client?”
“You will be able to treat Direct3D content just like an image within
an application”
“A little bit of grid math translation from OpenSim, some MSSQL 2008
database coding, mix in a little .NET 3.5SP1 WPF goodness=Virtual
Viewer”
“.NET 3.5 SP1 in WPF=new shader effects architecture/API that allows
visual effects to be created & applied to any control/element in WPF.
Read about SP1 here.”

Avi Bar-Zeev, Reality Prime, comments on Xenki

Avi Bar-Zeev was one of the first people to pick up on what Adam is doing with his in your browser viewer - see this post (also see Avi’s blog Reality Prime for a lot of important posts for virtual worlds). Avi is a key virtual world thinker who has put time and energy “into trying to figure out where the real value is with 3D.” He was co-founder of Keyhole, maker of Earthviewer (which later became Google Earth ). Also, Avi developed technologies for Second Life, including the procedural 3D object rendering code.” In this post, “Volumes of Reading,” Avi begins with pointing out some of the confusions about browser based virtual worlds in this TechCrunch post, notably an elision of the difference between “in-browser-window” and truly “hosted in a browser.” Anyway Avi goes on to point out some of the weaknesses of the current crop of browser based worlds that:

still suffer from other in-browser-window issues, like what happens if I hit the back button or refresh the page, or simply scroll the window down so I don’t see my nice virtual world anymore. Or worse yet, what happens to my mouse wheel, for which, for example, the GE plugin steals control. Philip is right that it’s simply not as immersive as a full-screen stand-alone client, and web integration of 3D worlds is a much more complex issue than just placing windows on pages.

Avi reports he followed an interesting chain of progression to Adam Frisby’s blog about his work on Xenki. Now here I take some credit for being an actor in my own story as it was my comment on the Tech Crunch post that led Avi to Adam’s work on Xenki!

I was very excited when I read Avi’s post because I realized one of the best minds in Virtual Worlds was looking at Xenki with interest! So I began to formulate some questions for Avi. See my next post for some fascinating answers to a wide range of questions on the future of browser based 3D, OpenSim and the future of virtual worlds.

Interview with Adam Frisby, on Xenki

Adam Frisby: I’d like to set it up as a viable alternative viewer project - and my goal is to get a revised v 0.1.0 out by the end of the week. Functionally it will be about the same as where I am now (perhaps with some minor additional features), but the interior will be a lot cleaner leaving room for expansion down the track.

Tish Shute: What is the difference between what you have done and what Darren Guard did in some recent late night hacking? (see screen shot below from the post of Stefan Andersson, Tribal Media AB - “Using XABP to embed the Second Life Browser in a Web Page”).

Adam Frisby: He took the same base API that I’m using, but used it to embed the SL Client’s OpenGL rendering surface on it. It’s clever - but I don’t think it’s more than a clever trick because the SL viewer still has all the warts we face. Which means it’s not fantastic in the longer term.

Tish Shute: Have you decided on what rendering engine and physics you will use?

Adam Frisby: Well, physics remains serverside, but at this stage rendering will have to be done mostly in-house I’m thinking, although Francis Chung has expressed interest in helping and has made the suggestion that we look seriously at the Irrlicht engine.

Tish Shute: Is Francis Chung part of the lrrlicht engine team? And when you say rendering in house do you mean little dynamic rendering?

Adam Frisby: No, he’s a SL developer - worked on a lot of high profile projects.

Tish Shute: How does the Xenki viewer project relate to the Open Viewer project?

Adam Frisby: I’ve still got people working for me doing work on OpenViewer and that’s still making it’s own way - but I think there’s two different niches here. OpenViewer is general purpose alternate viewer - much like the mainline SL viewer. Xenki I’m aiming at something possibly a bit more lightweight and embeddable.

Tish Shute: How does using XAPB compare to using Active X?

Adam Frisby: Well, first - it runs on Firefox without anything more than .NET installed. Second - it’s sandboxed. The XBAP has a very tight cage - whereas ActiveX is unconstrained and has fully access to your system. ActiveX is pretty much universally decried these days as a really bad idea.

XBAP addresses a lot of those concerns by at least paying some attention to security.

Tish Shute: So what are the possibilities do you think for a browser hosted viewer for OpenSim/SL?

Adam Frisby: I think it makes some sense to go after the same market as Lively - to grab the instant gratification instant presence that Lively gets right. There’s no reason it should be mutually exclusive. A point I think Philip missed in his recent interview on the subject.

Tish Shute: XBAP is what enabled your sudden progress on Xenki. Can you say, in lay persons terms, what were the key factors that came together to allow you to make Xenki take off at lightening speed?

Adam Frisby: Sure - Programming libraries are basically bits of prebuilt code you can use as shortcuts. For example, Instead of having to program common infrastructure - such as communicating with your 3D hardware to display a simple scene - a library called WPF allows you to do all of that with just a handful of lines of code. The more detailed and well written the library, the faster you can develop your applications. The downside can be that sometimes they also box you into a specific way of doing things.

In this case, the WPF API (which XBAP employs) is very rich in terms of 3D functionality and allows us to create complex scenes fairly simply. It does have some drawbacks (which I wrote about), but it does lend itself to very rapid development.

Tish Shute: The Lively architects did a talk in Second Life and Lively organized by World2Worlds the other day. They said that Lively is based on Active X.

Adam Frisby: Lively uses a standard 3D engine wrapped up to render on an ActiveX control. It’s certainly a lot of work - but for what I’m doing, we don’t need to start with that level of complexity on the table.

For one, it would slow us down tremendously when it comes to simple tasks such as debugging - and mandate a large team in doing so.

Tish Shute: So do you think you will be able to get some of the same distributed functionality that is the most appealing bit about Lively for me at least!

Adam Frisby: Well, distributed infrastructure is a matter for the backend servers I think. So a modular OpenSim enables this potentially hehe!

Yeah, that’s one of the goals OpenSim is aiming for.

Tish Shute: Yes the mantra is “distributed and open will win” right!

Adam Frisby: Yep! :)

Here are some screen shots from Adam’s blog “of things sort of almost rendering correctly.”

and one more from Adam, “showing the detail of one of Cubey’s planes (in this case his Ornithopter - and it renders correctly!)”