<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>UgoTrade &#187; virtual worlds in your browser</title>
	<atom:link href="http://www.ugotrade.com/tag/virtual-worlds-in-your-browser/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ugotrade.com</link>
	<description>Augmented Realities at the Edge of the Network</description>
	<lastBuildDate>Wed, 25 May 2016 15:59:56 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.9.40</generator>
	<item>
		<title>Will the future of virtual world&#8217;s be in the browser? Interview with Avi Bar-Zeev</title>
		<link>http://www.ugotrade.com/2008/08/08/will-the-future-of-virtual-worlds-be-in-the-browser-interview-with-avi-bar-zeev/</link>
		<comments>http://www.ugotrade.com/2008/08/08/will-the-future-of-virtual-worlds-be-in-the-browser-interview-with-avi-bar-zeev/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 22:15:37 +0000</pubDate>
		<dc:creator><![CDATA[Tish Shute]]></dc:creator>
				<category><![CDATA[3D internet]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[interoperability of virtual worlds]]></category>
		<category><![CDATA[open metaverse]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[Second Life]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[virtual world standards]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web 3D]]></category>
		<category><![CDATA[Web3.D]]></category>
		<category><![CDATA[World 2.0]]></category>
		<category><![CDATA[An in your browser viewer for OpenSim Second Life]]></category>
		<category><![CDATA[embedded 3D viewers]]></category>
		<category><![CDATA[hosted in the browser viewers for virtual worlds]]></category>
		<category><![CDATA[next gerneration virtual worlds]]></category>
		<category><![CDATA[the future of virtual worlds]]></category>
		<category><![CDATA[virtual worlds embedded in a browser]]></category>
		<category><![CDATA[virtual worlds in your browser]]></category>
		<category><![CDATA[XAPB based browsers for virtual worlds]]></category>

		<guid isPermaLink="false">http://www.ugotrade.com/?p=1604</guid>
		<description><![CDATA[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 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/avislpost.jpg"><img class="alignnone size-full wp-image-1605" title="avislpost" src="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/avislpost.jpg" alt="" width="134" height="98" /></a><a href="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/avi1post.jpg"><img class="alignnone size-full wp-image-1606" title="avi1post" src="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/avi1post.jpg" alt="" width="152" height="98" /></a><a href="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/avi3post.jpg"><img class="alignnone size-full wp-image-1607" title="avi3post" src="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/avi3post.jpg" alt="" width="130" height="98" /></a><br id="wzkl0" /></p>
<p style="text-align: left;">So here it is, as promised in my previous post, my interview with <a href="http://www.realityprime.com/" target="_blank">Avi Bar-Zeev</a>!  Avi is a key virtual world thinker, <a href="http://www.realityprime.com/news/the-bigger-move" target="_blank">now with Microsoft</a>, who has put time and energy â€œinto trying to figure out where the real value is with 3D.â€</p>
<p style="text-align: left;">Avi was co-founder of <a href="http://www.keyholecorp.com/" target="_blank">Keyhole</a>, maker of Earthviewer (which later became <a href="http://earth.google.com/"><span style="font-weight: bold;">Google</span> </a><span style="font-weight: bold;"><a href="http://earth.google.com/">Earth</a></span>).  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&#8217;s Second Life, World Design&#8217;s Virtual Environment Theater,  Disney Imagineering).</p>
<p style="text-align: left;">I requested an interview with Avi because it seems in the recent &#8220;cambrian explosion&#8221; of browser based virtual worlds there is a lot of confusion about what &#8220;in your browser&#8221; virtual worlds really bring to the table.</p>
<p style="text-align: left;">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?</p>
<p style="text-align: left;">After reading Avi&#8217;s post, â€œ<a href="http://www.realityprime.com/articles/volumes-of-reading" target="_blank">Volumes of Reading</a>,â€  where he points out some of the confusions about browser based virtual worlds in this <a href="http://www.techcrunch.com/2008/07/31/philip-rosedale-doesnt-see-browser-based-virtual-worlds-as-a-threat-to-second-life-is-he-in-denial/" target="_blank">TechCrunch post</a>, 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.</p>
<p style="text-align: left;">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, <a href="http://lbsa71.net/" target="_blank">Stefan Andersson</a>,  <a href="http://tribalmedia.se/">Tribal Media AB</a>, puts it, &#8220;OpenSim was thought to be a rapid prototyping testbench for wannabe paradigm shifters. That is really the heart of OpenSim.&#8221;</p>
<p style="text-align: left;">And yes, &#8220;open and distributed will win!&#8221; IMHO.</p>
<p style="text-align: left;">In his post Avi made some interesting comments about <a href="http://gwala.net/blog/" target="_blank">Adam Frisby&#8217;s</a> &#8220;firestarter&#8221;   XBAP based in your browser viewer for OpenSim and Second Life, <a href="http://gwala.net/blog/2008/08/xenki-update/" target="_blank">Xenki</a>. So my interview started, with the questions about the significance of Adam&#8217;s work, &#8220;Creating An In Your Browser Viewer For OpenSim/Second Life.&#8221;   But Avi&#8217;s eloquent answers quickly made for a wider discussion about the future of virtual worlds.</p>
<p style="text-align: left;">Thank you Avi for being so generous with your time!</p>
<p style="text-align: left;">
<p style="text-align: left;">
<h3>Will the future of Virtual World&#8217;s be in the browser: Interview with Avi Bar-Zeev</h3>
<p><br id="y1t2" /><em id="w:nc">1) Could you explain more of your thoughts on a truly &#8220;hosted in the browser&#8221; 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&#8217;s Xenki project in this regard?  Are there other truly hosted in the browser projects that you know about that have potential?<br id="m4tm" /></em><br id="w:nc0" /><br id="m4tm0" />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&#8217;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. <br id="vxfk" /><br id="vxfk0" />The adoption rate for those sorts of approaches have been pretty low, it turns out, mostly due to &#8220;effort to install&#8221; and the issue of &#8220;trust.&#8221; 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.<br id="b1g2" /><br id="b1g20" />Now, any one of those plugins could take off the way Flash has. But it&#8217;s a chicken and egg problem &#8212; 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.<br id="a7j1" /><br id="a7j10" />Being &#8220;hosted in the browser&#8221; implies a few things that ActiveX can&#8217;t handle. First, the 3D viewer should run in a sandbox, with prohibitions against accessing or writing to other parts of your computer. That&#8217;s a benefit of the XBAP method Adam picked. But &#8220;hosted&#8221; also typically implies more cross-platform portability, much like Javascript, which his chosen method doesn&#8217;t provide. XBAP does work equally well in IE and Firefox on the PC with .Net installed, so that&#8217;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.<br id="jaso" /><br id="jaso0" />The real &#8220;hosted&#8221; in browser projects out there right now all use either Flash, which isn&#8217;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&#8217;m still hoping to see resolved someday.<br id="xdz90" /><br id="yqep" />The best hope for true &#8220;hosted&#8221; 3D viewers though is for 3D to become a native element of existing browsers &#8212; OR &#8212; for someone to write a new class of browser that&#8217;s built to handle 3D and 2D equally well. It&#8217;s the best hope, simply because 3D is a superset of 2D &#8212; 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&#8217;s never going to happen in a simple plug-in.<br id="g_1h" /><br id="oabs" /><br id="kp:a0" /><em id="w:nc1">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!<br id="rdih" /><br id="rdih0" />Is a truly hosted in a browser viewer feasible right now considering the feature sets of browsers aren&#8217;t sufficient yet to do 3D graphics or advanced networking. And do you think the latter will ever be the case?<br id="gog1" /><br id="v3ls" /></em><br id="dqd2" />Alas, I don&#8217;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 &#8212; trying to break the adoption limits we&#8217;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&#8217;re just bopping around the web? But right now, they should, because 3D in a browser window just doesn&#8217;t work as well.<br id="jf4n" /><br id="l8bu" />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.<br id="v3ls0" /><br id="l8bu0" /><br id="gog10" /><em id="ta6.">3)  Adam&#8217;s work towards a &#8220;hosted in your browser viewer&#8221; 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.)<br id="wabh0" /><br id="eg2v" />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?<br id="wabh3" /></em> <br id="sbp7" /><br id="sbp70" />I&#8217;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 &#8212; 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.<br id="i_u." /><br id="i_u.0" />The main problem with getting any 3D viewer adopted by the mainstream isn&#8217;t the openness of the code, IMO, but the suitability of the technology, UI, etc..<br id="i_u.1" /><br id="i_u.2" />For example, Real Video was around for a long time. Philip Rosedale in fact was a pioneer in that regard. But Web Video didn&#8217;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 &#8220;buffering&#8230;&#8221; 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 &#8212; ymmv). <br id="ta6.0" /><br id="ta6.1" />Whoever solves those problems for 3D can become the viewer of choice. And thus far, I&#8217;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.<br id="w0ju" /><br id="sbp71" /><br id="wabh4" /><em id="aom_">4) You mentioned that when/if &#8220;one of the &#8220;3D chat&#8221; clients pushes into that territory&#8221; it could be a game changer?  Could you elaborate more on what you think might be the magic ingredients for this?<br id="wabh5" /></em><br id="aom_0" /><br id="aom_1" />Lively could add some real user created content, for example. They haven&#8217;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&#8217;s instantaneous collaborative editing &#8212; I&#8217;m referring more to Google Earth now, but I expect this for Lively too). Caligari has been collaborative for a while now, and it&#8217;ll be interesting to see what direction they want to go next. Vivaty just announced some more UCC tools, which I haven&#8217;t yet tried out, so I won&#8217;t comment, except to say that VRML/X3D still feels more like Real Video than YouTube.<br id="aom_2" /><br id="pki." />That&#8217;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.<br id="mis8" /><br id="aom_3" /><br id="wabh6" /><em id="resu">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?<br id="wabh7" /></em> <br id="resu0" />I&#8217;m a big fan of open source. I&#8217;m not as big an advocate of SL&#8217;s gridded approach to building the Metaverse, though it works well for them. I&#8217;m happy help document the open sourced LLVolume because I had a big hand in it originally and you shouldn&#8217;t have to work so hard to reverse engineer it at this point. I&#8217;m sure even Linden Lab would want you making better use of that code. <br id="resu1" /><br id="e6vy" /></p>
<p><em id="v9gc">6) I totally agree with you, the future should hold richer, smarter object formats.  But at the mo</em><em id="ko7.">ment 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 <a href="http://wiki.secondlife.com/wiki/Open_Grid_Public_Beta" target="_blank">Open Grid Beta</a> between LL and OpenSim.</em></p>
<p><em id="ko7."></em><em id="ko7."><br id="wabh11" /> <a id="wabh12" href="http://wiki.secondlife.com/wiki/User:Zero_Linden/Office_Hours/2008_August_05" target="_blank">http://wiki.secondlife.com/wiki/User:Zero_Linden/Office_Hours/2008_August_05</a>).</em> <br id="wabh15" /><br id="wabh16" />It&#8217;s a huge topic to cover, but I&#8217;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&#8217;m guessing that&#8217;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 &#8220;procedural geometry&#8221; may be a misnomer, unless of course actual code or script is being delivered for each new object.<br id="v0l:" /><br id="v0l:0" />Another aspect of trust is transactional security &#8212; 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 &#8220;post-scarcity&#8221; environment, where any object can be freely copied without restriction &#8212; it&#8217;s the original designs, unique patterns in the universe that we should try to reward (but again, not restrict).<br id="taex" /><br id="taex0" />For example, I&#8217;d rather see the system track uniqueness in objects, and have the ability to determine which objects are &#8220;derived&#8221; from which (and by what percentage) to create a sort of &#8220;tree of authorship.&#8221; 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&#8217;t make money, there&#8217;s nothing to fight about. But authors never need to worry about who&#8217;s copying them &#8212; in fact, they&#8217;d actually <em id="z:no">want </em>people to copy them.<br id="tpp5" /><br id="tpp50" />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 &#8212; in fact, the farther down the road, the broader the base in general. Imagine I&#8217;m the original author of &#8220;the basic sphere&#8221; and see how often that would be used or modified by others. <br id="z2g3" /><br id="z2g30" />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 &#8220;by example,&#8221; encouraging reuse vs. reinvention. But that part is a much longer discussion.<br id="m938" /><br id="xk2c0" /><br id="xk2c1" /><em id="yfgq">7) Leaving the tech stuff aside for a moment, what about the user experience in a new browser hosted viewer? How should the user &#8216;be&#8217; 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 &#8216;pages&#8217;?<br id="ilqc" /></em><br id="sx-g" />No one has really solved this yet, and it&#8217;s probably the biggest hole in virtual worlds right now. Some people take the literal shot at an answer, saying a &#8220;room&#8221; is an analog to a website. In that sense, multiple connected rooms (using, say, portals as the analog to href links) makes some sense. <br id="dazn" /><br id="dazn0" />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&#8217;s not all in one easy place. The benefit of 3D should be to add spatial context, not make things harder.<br id="dazn1" /><br id="dazn2" />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&#8217;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&#8217;ve actually lost something in translation.<br id="jh3q" /><br id="jh3q0" />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&#8217;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&#8217;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.<br id="hwcm" /><br id="hwcm0" />Frankly, right now, I&#8217;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.<br id="sx-g0" /><br id="ilqc0" /><br id="chzg" /><em id="yfgq0">8) Do we need to &#8216;divide the protocol cake&#8217; &#8211; 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?<br id="chzg0" /><br id="chzg1" />Note:  This question and the one above come from a chat I had with S<a href="http://lbsa71.net/" target="_blank">tefan Andersson</a> of <a id="ycul" title="Tribal Media" href="http://tribalnet.se/About/TribalMedia/tabid/78/Default.aspx">Tribal Media</a>.  Stefan also added: &#8220;I mean, that a 3D world shouldn&#8217;t be seen as _one_ application, up in the application layer. I believe we need the &#8220;http 3.D&#8221; and the &#8220;vrhtml&#8221; which is what prompted this question.<br id="m:sy" /></em> <br id="m:sy0" />I don&#8217;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. <br id="wxmq" /><br id="wxmq0" />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&#8217;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&#8217;s protocols is how the world is progressively streamed in. That&#8217;s the most important part to keep.<br id="m:sy1" /><br id="bgkz" /><br id="wabh17" /><em id="doi7">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.<br id="wabh18" /></em> <br id="iooe" />You might want to look over some older blog posts of mine <a id="gt.s" title="about Web 3D, semantics," href="http://www.realityprime.com/articles/googles-virtual-world/2">about Web 3D, semantics,</a> and even scenegraphs, as they all apply to this discussion. I believe I had a post on post-DRM authorship as well.<br id="y1t21" /><br id="y1t27" /><br id="wzkl1" /> <br id="n9r3" /><br id="y1t21" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ugotrade.com/2008/08/08/will-the-future-of-virtual-worlds-be-in-the-browser-interview-with-avi-bar-zeev/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Xenki: An &#8220;In Your Browser Viewer&#8221; for OpenSim and Second life</title>
		<link>http://www.ugotrade.com/2008/08/07/xenki-an-in-your-browser-viewer-for-opensim-and-second-life/</link>
		<comments>http://www.ugotrade.com/2008/08/07/xenki-an-in-your-browser-viewer-for-opensim-and-second-life/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 18:34:50 +0000</pubDate>
		<dc:creator><![CDATA[Tish Shute]]></dc:creator>
				<category><![CDATA[3D internet]]></category>
		<category><![CDATA[interoperability of virtual worlds]]></category>
		<category><![CDATA[Linden Lab]]></category>
		<category><![CDATA[Metaverse]]></category>
		<category><![CDATA[open metaverse]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OpenSim]]></category>
		<category><![CDATA[realXtend]]></category>
		<category><![CDATA[Second Life]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[virtual world standards]]></category>
		<category><![CDATA[Virtual Worlds]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web 3D]]></category>
		<category><![CDATA[Web3.D]]></category>
		<category><![CDATA[World 2.0]]></category>
		<category><![CDATA[browser based virtual worlds]]></category>
		<category><![CDATA[Google's Lively]]></category>
		<category><![CDATA[in your browser viewer for Second Life and OpenSim]]></category>
		<category><![CDATA[open viewer for virtual worlds]]></category>
		<category><![CDATA[virtual worlds in your browser]]></category>
		<category><![CDATA[Vivaty]]></category>

		<guid isPermaLink="false">http://www.ugotrade.com/?p=1597</guid>
		<description><![CDATA[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) &#8211; power house of the Microsoft Developer Community in OpenSim (see Project Manhattan), and Second Life (see here) &#8211; announcing the [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/xenki_wrightplaza3post.jpg"><img class="alignnone size-full wp-image-1601" title="xenki_wrightplaza3post" src="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/xenki_wrightplaza3post.jpg" alt="" width="450" height="271" /></a></p>
<p>The story of <a href="http://gwala.net/blog/2008/07/introducing-xenki-source-now-availible/" target="_blank">Xenki</a>, an in your browser viewer for <a href="http://opensimulator.org/wiki/Main_Page" target="_blank">OpenSim</a> and <a href="http://secondlife.com" target="_blank">Second Life</a> (you can download the source on <a href="http://forge.opensimulator.org/gf/project/xenki/frs/?action=FrsReleaseBrowse&amp;frs_package_id=6" target="_blank">Forge.OpenSimulator)</a>, began with a stream of  tweets from<a href="http://twitter.com/Dr_Manhattan" target="_blank"> Dr_Manhattan</a> (<a href="http://www.linkedin.com/in/gsquared" target="_blank">Kyle Gomboy</a>, avatar G2 Proto) &#8211; power house of the Microsoft Developer Community in OpenSim (see <a href="http://reactiongrid.com/projects.aspx" target="_blank">Project Manhattan</a>), and <a href="http://secondlife.com" target="_blank">Second Life</a> (see <a href="http://blogs.msdn.com/zainnab/archive/2008/07/31/resources-for-visual-studio-2008-sp1-event.aspx" target="_blank">here</a>) &#8211; announcing the merging of DirectX and WPF in the .NET 3.51 SP1 release.</p>
<p>I was not the only one to notice these tweets, and the links were soon in the OpenSim IRC channels, and my friend <a href="http://peterquirk.wordpress.com/" target="_blank">Peter Quirk</a>, EMC, quickly circulated them in the <a href="http://www.realxtend.org/" target="_blank">realXtend</a> developers&#8217; Google discussion group.  And most importantly, perhaps, almost immediately the phenom developer of OpenSim, <a href="http://gwala.net/blog/" target="_blank">Adam Frisby</a>, started coding up an in your browser viewer for OpenSim and Second Life, called Xenki (see <a href="http://gwala.net/blog/" target="_blank">Adam&#8217;s blog for a series of posts)</a> that show just how fast Xenki is progressing. The picture above is of Wright&#8217;s Plaza, <a href="http://osgrid.org/" target="_blank">OSGrid</a>.  As I have been there many times, I can testify it is beginning to become recognizable as Wright&#8217;s Plaza in Xenki.</p>
<p>Now <a href="http://blogs.msdn.com/zainnab/">Zain Naboulsi</a>, Microsoft&#8217;s Virtual Worlds Evangelist, has <a href="http://gwala.net/blog/2008/08/thanks-zain-david-and-gerhard-at-microsoft/" target="_blank">introduced Adam</a> to <a href="http://channel9.msdn.com/posts/AdamKinney/WPF-35-SP1-Graphics-with-David-Teitlebaum/">David</a> and Gerhard, the Project Manager and Lead Programmer respectively on the <a href="http://blogs.msdn.com/wpf3d/">WPF Graphics Team</a>, who Adam writes: &#8220;have graciously offered me their time to help answer some performance related questions with regards to the Xenki viewer I have been developing.&#8221;</p>
<p>Here are some quotes from Dr Manhattan&#8217;s first tweets:<br />
&#8220;Why is SP1 for Visual Studio 2008 and .NET 3.5 a potential virtual<br />
world shocker? WPF + Direct 3D love! Can you say powerhouse 3D<br />
client?&#8221;<br />
&#8220;You will be able to treat Direct3D content just like an image within<br />
an application&#8221;<br />
&#8220;A little bit of grid math translation from OpenSim, some MSSQL 2008<br />
database coding, mix in a little .NET 3.5SP1 WPF goodness=Virtual<br />
Viewer&#8221;<br />
&#8220;.NET 3.5 SP1 in WPF=new shader effects architecture/API that allows<br />
visual effects to be created &amp; applied to any control/element in WPF.<br />
Read about SP1 <a href=" http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx" target="_blank">here</a>.&#8221;</p>
<h3>Avi Bar-Zeev, <a href="http://www.realityprime.com/articles/volumes-of-reading">Reality Prime, comments on Xenki</a></h3>
<p>Avi Bar-Zeev was one of the first people to pick up on what Adam is doing with his in your browser viewer &#8211; see t<a href="http://www.realityprime.com/articles/volumes-of-reading" target="_blank">his post</a> (also see Avi&#8217;s blog <a href="http://www.realityprime.com/" target="_blank">Reality Prime</a> for a lot of important posts for virtual worlds). Avi is a key virtual world thinker who has put time and energy &#8220;into trying to figure out where the real value is with 3D.&#8221;  He was co-founder of <a href="http://www.keyholecorp.com/" target="_blank">Keyhole</a>, maker of Earthviewer (which later became <a href="http://earth.google.com/"><span style="font-weight: bold;">Google</span> </a><span style="font-weight: bold;"><a href="http://earth.google.com/">Earth</a> </span>).  Also, Avi developed technologies for Second Life, including the procedural 3D object rendering code.&#8221;  In this post, &#8220;<a href="http://www.realityprime.com/articles/volumes-of-reading" target="_blank">Volumes of Reading</a>,&#8221; Avi begins with pointing out some of the confusions about browser based virtual worlds in this <a href="http://www.techcrunch.com/2008/07/31/philip-rosedale-doesnt-see-browser-based-virtual-worlds-as-a-threat-to-second-life-is-he-in-denial/" target="_blank">TechCrunch post</a>, notably an elision of the difference between &#8220;in-browser-window&#8221; and truly &#8220;hosted in a browser.&#8221; Anyway Avi goes on to point out some of the weaknesses of the current crop of browser based worlds that:</p>
<blockquote><p>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.</p></blockquote>
<p>Avi reports he followed an interesting chain of progression to <a href="http://gwala.net/blog/" target="_blank">Adam Frisby&#8217;s blog</a> 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&#8217;s work on Xenki!</p>
<p>I was very excited when I read Avi&#8217;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.</p>
<h3>Interview with Adam Frisby, on Xenki</h3>
<p><strong>Adam Frisby</strong>: I&#8217;d like to set it up as a <a href="http://gwala.net/blog/2008/08/xenki-update/" target="_blank">viable alternative viewer project</a> &#8211; 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.</p>
<p><strong>Tish Shute:</strong> 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, <a href="http://tribalmedia.se/">Tribal Media AB</a> &#8211; &#8220;<a href="http://lbsa71.net/2008/08/01/using-xabp-to-embed-the-second-lifetm-browser-in-a-web-page/" target="_blank">Using XABP to embed the Second Life Browser in a Web Page&#8221;</a>).</p>
<p><a href="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/darrenpost.jpg"><img class="alignnone size-full wp-image-1600" title="darrenpost" src="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/darrenpost.jpg" alt="" width="450" height="271" /></a></p>
<p><strong>Adam Frisby:</strong> He took the same base API that I&#8217;m using, but used it to embed the SL Client&#8217;s OpenGL rendering surface on it. It&#8217;s clever &#8211; but I don&#8217;t think it&#8217;s more than a clever trick because the SL viewer still has all the warts we face. Which means it&#8217;s not fantastic in the longer term.</p>
<p><strong>Tish Shute:</strong> Have you decided on what rendering engine and physics you will use?</p>
<p><strong>Adam Frisby</strong>: Well, physics remains serverside, but at this stage rendering will have to be done mostly in-house I&#8217;m thinking, although Francis Chung has expressed interest in helping and has made the suggestion that we look seriously at the Irrlicht engine.</p>
<p><strong>Tish Shute:</strong> Is Francis Chung part of the lrrlicht engine team?  And when you say rendering in house do you mean little dynamic rendering?</p>
<p><strong>Adam Frisby:</strong> No, he&#8217;s a SL developer &#8211; worked on a lot of high profile projects.</p>
<p><strong>Tish Shute:</strong> How does the Xenki viewer project relate to the Open Viewer project?</p>
<p><strong>Adam Frisby:</strong> I&#8217;ve still got people working for me doing work on OpenViewer and that&#8217;s still making it&#8217;s own way &#8211; but I think there&#8217;s two different niches here. OpenViewer is general purpose alternate viewer &#8211; much like the mainline SL viewer. Xenki I&#8217;m aiming at something possibly a bit more lightweight and embeddable.</p>
<p><strong>Tish Shute:</strong> How does using XAPB compare to using Active X?</p>
<p><strong>Adam Frisby:</strong> Well, first &#8211; it runs on Firefox without anything more than .NET installed. Second &#8211; it&#8217;s sandboxed. The XBAP has a very tight cage &#8211; whereas ActiveX is unconstrained and has fully access to your system. ActiveX is pretty much universally decried these days as a really bad idea.</p>
<p>XBAP addresses a lot of those concerns by at least paying some attention to security.</p>
<p><strong>Tish Shute</strong>: So what are the possibilities do you think for a browser hosted viewer for OpenSim/SL?</p>
<p><strong>Adam Frisby:</strong> I think it makes some sense to go after the same market as <a href="http://www.lively.com/html/landing.html" target="_blank">Lively</a> &#8211; to grab the instant gratification instant presence that Lively gets right. There&#8217;s no reason it should be mutually exclusive. A point I think Philip missed in <a href="http://www.techcrunch.com/2008/07/31/philip-rosedale-doesnt-see-browser-based-virtual-worlds-as-a-threat-to-second-life-is-he-in-denial/" target="_blank">his recent interview</a> on the subject.</p>
<p><strong>Tish Shute:</strong> 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?</p>
<p><strong>Adam Frisby:</strong> Sure &#8211; Programming libraries are basically bits of prebuilt code you can use as shortcuts. For example, Instead of having to program common infrastructure &#8211; such as communicating with your 3D hardware to display a simple scene &#8211; 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.</p>
<p>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.</p>
<p><strong>Tish Shute:</strong> The Lively architects did <a href="http://www.world2worlds.com/index.php/blog/34-blog-entries/121-google-lively-creators-live-in-lively" target="_blank">a talk in Second Life and Lively</a> organized by <a href="http://www.world2worlds.com/" target="_blank">World2Worlds</a> the other day.  They said that Lively is based on Active X.</p>
<p><strong>Adam Frisby:</strong> Lively uses a standard 3D engine wrapped up to render on an ActiveX control. It&#8217;s certainly a lot of work &#8211; but for what I&#8217;m doing, we don&#8217;t need to start with that level of complexity on the table.</p>
<p>For one, it would slow us down tremendously when it comes to simple tasks such as debugging &#8211; and mandate a large team in doing so.</p>
<p><strong>Tish Shute:</strong> 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!</p>
<p><strong>Adam Frisby:</strong> Well, distributed infrastructure is a matter for the backend servers I think. So a modular OpenSim enables this potentially hehe!</p>
<p>Yeah, that&#8217;s one of the goals OpenSim is aiming for.</p>
<p><strong>Tish Shute</strong>: Yes the mantra is &#8220;distributed and open will win&#8221; right!</p>
<p><strong>Adam Frisby</strong>: Yep! <img src="http://www.ugotrade.com/wordpress/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> </p>
<p>Here are some screen shots from <a href="http://gwala.net/blog/2008/08/you-beauty/" target="_blank">Adam&#8217;s blog</a> &#8220;of things sort of almost rendering correctly.&#8221;</p>
<p><a href="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/xenki_abbotts2post.jpg"><img class="alignnone size-full wp-image-1602" title="xenki_abbotts2post" src="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/xenki_abbotts2post.jpg" alt="" width="450" height="271" /></a></p>
<p>and one more from Adam, &#8220;showing the detail of one of Cubeyâ€™s planes (in this case his Ornithopter &#8211; <em><strong>and it renders correctly!</strong></em>)&#8221;</p>
<p><a href="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/xenki_abbotts3post.jpg"><img class="alignnone size-full wp-image-1603" title="xenki_abbotts3post" src="http://www.ugotrade.com/wordpress/wp-content/uploads/2008/08/xenki_abbotts3post.jpg" alt="" width="450" height="271" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ugotrade.com/2008/08/07/xenki-an-in-your-browser-viewer-for-opensim-and-second-life/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
