Through the years, the Herald has discussed various open source alternatives to Second Life, including Open Croquet and MUPPETS, but we haven't yet looked at Ogoglio. In this interview, we talk to Ogoglio creator Trevor Smith, who explains how Ogoglio is a fundamentally different project from those that went before, in that in addition to being open source, it is entirely web-based, and relies on off the shelf tools (languages and protocols) that should be familiar to most web developers. Ogoglio spaces will thus be accessible via standard web browsers, and there should be an army of developers capable of developing such spaces.
Q&A below the fold.
Urizenus: I know that Ogoglio is an open source 3D graphical platform like Croquet, but not much more. How is it different from those other projects?
Trevor: The main goal of the Ogoglio project is to build an online urban style space for creative collaboration, but to get there I ended up defining a new web based platform for 3d spaces. The platform (which is still very much in a prototype phase) is different from Croquet el al because it is built from the languages and protocols of the web. So…
- The scripting language is javascript.- The main data transfer protocol is HTTP.
- 2D layout is HTML+CSS.
- And for the 3D specific formats I use open, simple formats like the Lightwave Obj geometry format.
The goal is to make a platform that web developers will pick up easily, so there will be an existing group of developers right off the bat.
Urizenus: so what do you use for a physics engine?
Trevor: Right now I have a very simple physics model, which is nowhere as complex as Havok. SL has the problem that they can't really do really cutting edge physics like you'll find in good games, because it would cripple their servers.
Urizenus: So what is your solution to the problem?
Trevor: I define a much less complex physics from the start, which makes the servers scale more on the scale of web servers than game servers. I'm sure that someone will plug in a better physics engine, but that's not where my project is headed.
Urizenus: so your rendering is robust, but the physics at this point less so?
Trevor: Right. The physics model is simple, but the rendering is scalable up to rather nice looking scenes. The ogoglio prototype uses hardware accelerated graphics, though I'm shying away from requiring hardware that isn't found in your average office PC. There's a tradeoff between nice looking scenes and how fast they load over the network, but individual authors will make that decision, not the platform.
Urizenus: So to start talking about how your project is distributed, let's contrast Ogoglio with Second Life, which our readers will be familiar with. By distributed, I mean the computing power is distributed among users.
Trevor: We're still working out the exact details, but the basic idea is that the core platform that allows people to run their own equivalent to a SL sim will be open source and freely distributed. I'm running a business (Transmutable) which will build services on top of that platform, and the business will own the service. But the goal is to have other companies and individuals build their own services and make them interoperate in a variety of ways, ranging from simple web style linking to shared 3d spaces.
Urizenus: How far away is that?
Trevor: Sadly, I'm not going to put a date on the platform release. I will say that I'm not a patient man. ;)
Urizenus: So explain how this will look in the end. I decide I want to participate in Ogoglio, so I can download both client and server software and become a server for my own island if I want?
Trevor: The Ogoglio approach differs from SL in it's dedication to using web patterns (languages, servers, protocols, and styles) instead of reinventing the wheel. There was no reason to invent LSL, when there are many open scripting languages in common use. For most people, they will just be browsing the web in IE or Firefox and there will be a web application that also offers a 3D space, which they'll also access in their browser. So, someone might be on your blog and see that you also have a personal hangout 3D space. Or another company might offer online meeting halls. The ogoglio platform just fits right in with the rest of the web's 2D pages, so for most users it will just look like another web page, but with a 3D aspect.
Urizenus: So for most users it will be just like loading an applet or something?
Trevor: Exactly. The plugin can actually be written in any language that can get to OpenGL (e.g. Java3D or Flux). I'm using applets for the moment, but in the long term there will probably be better solutions. I believe that there will be web sites that sell people or groups their own 3D spaces, but if you want to run your own server the core platform will be open source (though, as I said, the details aren't finalized).
Urizenus: But Second Life claims they are going open source. Why won't that work to the same effect?
Trevor: Linden Lab has a problem because they don't own some of their core pieces of functionality, like Havok. So, even if they open everything they own, it still won't an open source Second Life.
Urizenus: any other obstacles LL has?
Trevor: They face the typical problems of fast growth and uncontrolled hype, but I believe their core problem is that they have a server to active user ratio of 1 to 2. No matter how they pay for such a massive server farm, that just doesn't scale to the size of the web.
Urizenus: what is the normal ratio?
Trevor: Running 2k+ servers for 20k active users is insane in comparison to what even very active, complex web applications get. A big web server can handle thousands of simultaneous active users. I'm not saying that LL isn't doing the necessary engineering for a service like SL, but that a service like SL isn't scalable to anything like web scales. Is there even enough colo space available to scale to even the size of a single large web service like Yahoo! or Google?
Urizenus: colo space?
Trevor: Server space in colocation facilities which supply security, power, and bandwidth. But the Ogoglio isn't about replacing Second Life.
Urizenus: Well all this sounds great, but as I think you pointed out on your blog, SL has the one feature that Ogoglio doesn't: existence. So what are the obstacles you face right now in your project. what is going to make this a reality?
Trevor: Right now I'm working with a tiny group of people to define a service that Transmutable will build, and that will drive development of the platform. So, the obstacles are the usual ones from a startup: recruiting, funding, vision. I'm also talking with a few other companies about building services of their own, figuring out how they can compliment each other and how to structure the platform so that we don't duplicate work.
Urizenus: Well what are the pieces of the puzzle that need to be put in place here?
Trevor: The prototype I built needs to be ripped apart and rebuilt into production quality code and run through several iterations of testing.
Urizenus: So you are happy enough with your prototype to go into what... some sort of alpha version?
Trevor: The prototype convinced us that the basic technologies are readily available and can be put into usable products on people's existing PCs. It's good enough as-is to make simple spaces that could be used in the short term, but to make a commercial product it needs a rewhack. It took a surprisingly small amount of code to put together a web based space, since there are many open source projects which have built pieces and parts of the solution.
Urizenus: Ok so if you could have anything you wished for in terms of help and resources to make this happen, what would you wish for.
Trevor: Ideally, each of the bigger virtual world studios (Electric Sheep Co, Rivers Run Red, ACS...) would pick a service they'd like to build and then employ a developer to work on the open source core of the platform to fill out the pieces they need.
Urizenus: what services for example?
Trevor: I'm certain that the companies providing building and design services in SL and There have a laundry list of building tools they'd like to use which could export into a variety of platforms. They could build in-house 3D spaces for building which then export to SL or There. They could also build end-user oriented services, like personal spaces aimed toward groups that don't want One Big World.
Urizenus: Will we have portable avatars? Will Uri be able to move between all these different virtual worlds?
Trevor: There are a couple parts to that answer. From a technical perspective, there's no reason why we couldn't define an extension to OpenID that added avatar and 3D pref data, so moving between separate services would be possible. There are, of course, many different approaches to how to handle ID and authentication, and it's just not going to be possible to have one approach work for every web based application (even 3D ones).
Urizenus: Well, is it conceivable to have an avi that can move from 3D worlds to flat worlds and retain some attributes (I guess the moveable attributes would be established by the individual host)
Trevor: It is entirely conceivable from a technical perspective. It isn't clear that companies I don't control will feel it is in their best interest, but I think it is a crucial piece of any "web native" platform. Of course, if you look at how the web handles this at the moment, it's all client side form filling instead of a single sign on. OpenID is gaining momentum, and I think that portable avatars will succeed or fail with it.
Urizenus: So how are web development companies like IVM, ACS, AWS, MOU, and ESC going to make money in this crazy new Ogoglio world?
Trevor: There will single customer builds like those which were created for Nike and Nissan in SL, so the design studios will run the Ogoglio platform on their own servers instead of paying SL to host them.
Urizenus: Or Nissan and others might chose to host their own?
Trevor: Indeed. Many spaces might be behind firewalls and only accessible to employees. I'm sure that companies like IBM would really prefer to run their own sims.
Urizenus: One thing that SL has is a single currency for the Grrid. What is going to play the role of Linden Dollars in a distributed Ogoglioverse?
Trevor: In the same way that each web application like eBay and Amazon has their own payment system, services built on the ogoglio platform will have their own. The flock of ogoglio based services won't be as tightly bound as the Second Life grid, so there isn't going to be a single company which can control a currency or exchange.
Urizenus: So it could be dollars or Anshe bucks or IMVU credits or anything, I guess. Sort of like different currencies work in different countries?
Trevor: Or it could just be that a virtual item costs US$. It's up to the service (or coalition of services) to choose. Grand Central Planning like LL provides to SL is great for some things like providing a custom currency, but it also requires that companies investing take on the risk that the company doing the planning won't fail.
Urizenus: ok, before we go off the record, I gave a talk at state of Play 2 years ago in which I said that Croquet and MUPPETS was going to take over and SL would be left in the dust. Cory Ondrejka said I was wrong, and so far he looks right (which I hate!). So what is different now, 2 years later?
Trevor: Sorry, but Cory was right. Croquet and MUPPETs are both trying to beat Second Life by being a better Second Life, and that's a game that's already lost. We don't need a better stand alone 3D client and server grid that barely talks to the web. We need the web to get better.
Interesting. I wasn't aware of this project before. I'm interested in the last paragraph which I have much sympathy with - trying to out-SL SL is unlikely to work, your public face will always be one or more steps behind as long as SL keeps developing, which it does, and you will always appear the inferior competitor. And using existing technologies and protocols could be a huge advantage for public takeup. The question is really, how easy is it going to be for people to create things and participate? Having a wonderful platform on open technologies is all very well, but if it really requires one to have a computer science degree and six hours free a day to build anything worthwhile....
Posted by: Ordinal Malaprop | January 07, 2007 at 04:05 PM
Oridinal, on the 2D web there are different creation tools which require different skill sets, so most people using the web can quickly edit a wiki or write a blog post but it takes more time and effort to write HTML or learn to glue together Javascripts. The same range should be possible with web based 3D space platform.
You might be interested in the development page, which details some of the technical criteria for the platform we're developing.
Posted by: Trevor F. Smith | January 07, 2007 at 05:10 PM
From your website....
"Though the number of Flash plugin installations is huge and growing (in large part because of its new video codecs) it lacks 3D libraries and does not take advantage of accelerated 3D hardware. It is possible to write a software 3D engine for Flash but in all likelihood Macromedia will eventually ship one and in the mean time it would severely limit the detail of 3D scenes in our prototype.
Sun's Java plugin is the only browser side technology with a large number of installations and accelerated 3D libraries. Though there are large flaws in using Java Applets (discussed below), they "just work" on every computer Apple sells and on most Windows PCs. IT departments often install Java in their standard desktop images or upon request by employees, and due to Sun's marketing of the Java brand users are somewhat likely to recognize the name in the case that a plugin installation is necessary.
That said, choosing Java Applets for the Ogoglio prototype is not without painful consequences."
First of all why limit yourself with Java, and as for the 3d libraries, I mustn't be aware of a lot of them if Sun and Java are doing more than Macromedia and Flash, can you direct me to where this amazing revolution is taking place? And explain why Sun is one of the companies to set up in Second Life?
Posted by: Benny Hit | January 08, 2007 at 07:07 AM
Benny, as the document you reference notes, I'm not limiting the platform to Java. The protocols and data formats are all platform neutral. I'm using Java applets and Java3D because today they provide the most widely distributed accelerated 3D plugin. Other technologies are on the horizon (e.g. OpenGL bindings in Gecko) and when they are in common use the platform will support them.
Posted by: Trevor F. Smith | January 08, 2007 at 10:57 AM
Java seems like a reasonable choice at this stage to me. After all, Runescape, which is Java-based has become immensely popular, and it's a generally well-known language for developers.
Posted by: Ordinal Malaprop | January 08, 2007 at 04:07 PM