There's been some talk recently about converting the RealXtend WebTundra client into a Opensim web viewer. This has many, very attractive attributes that are definitely worth pursuing. The question remains: What is the critical path to such a conversion?
Rather than pretend I have the answers, here's some thoughts/questions:
WebTundra completeness: Is WebTundra actually a fully functional piece of software, or is it just a collection of parts that need further assembly?
Simulator WebSocket work: While 0.7.6 brought WebSockets to Opensim, it's unclear how much more work is needed to have them fully replace the standard UDP client circuits.
Content Transfer: If simulators aren't hosting their own web viewers, how do we handle the problems of content transfer?
User login/session decisions: Is each region it's own web page? Is that page served by the simulator? Should anonymous users be allowed, and how would that work?
Prims: Do we ignore them outright and only display mesh? Do we attempt something akin to InWorldz's DreamShare and convert prims to mesh on the server? Do we go all-in and attempt to port the prim-meshing code into Javascript?
Avatars: Fully custom avatars are probably too much to ask for up front, so what is the alternative?
UI Design: With a focus less on avatar appearance, building, and inventory management, the UI will need a total rethink.
These are only the first few questions, some with no easy answers. Thankfully, we have the luxury of being able to start out basic and improve incrementally. My guess at a critical path MVV (Minimally Viable Viewer) would be:
Continuing along with my earlier post about the need for a new baseline viewer, I felt it would be a good idea to list out some of the key goals (as I see them, feel free to add your own):
We need a viewer...
That's easier to use
Tailored to the realities of an open Metaverse
With a license which is compatible with that of Opensim (i.e. not a viral GPL license)
That allows the experience to be taken to other, non-desktop platforms
That allows developers to focus on pushing the boundaries of what's possible, not forcing them to polish existing features
Allows for rapid evolution of what the Metaverse experience can be
That makes developers and users' lives easier
That makes it easier for non-programmers to participate in the development process
Like I mentioned in the earlier post, I think I've found a good fit. It's a young, actively developed game engine that uses the MIT license. It's powerful and flexible (capable of running on android and iOS along with the Big Three desktop OS's), and the brainchild of one of the developers of the RealXtend platform*.
I'd like to introduce you to Urho3d (Hero for those who aren't up to speed on their Finnish).
The page doesn't do a particularly good job selling it's potential, especially to those without a technical background (a tragic commonality among young, promising open source projects). In summary for those who don't want to wade through the details, Urho3d is already incredibly well-featured, with many of the features already present in current viewers. In addition to those features, Urho3d has some which have been on the wish-list of many Opensim users for some time, including AngelScript and client-side physics (courtesy of the Bullet physics engine, includes ragdoll!).
I've taken the liberty of making some screenshots of the very simple demo scenes included with the engine to give you a flavor of it's capabilities, even at this early state.
I believe very strongly that if a group of developers from both the viewer and server community collaborated on crafting a viewer out of Urho3d, the Opensim ecosystem would be well on the way to breaking the shackles of the past which currently hog-tie it. There are of course some hurdles that would need to be cleared to make Urho3d compatible, but those are for a more technical discussion elsewhere.
We need a new baseline viewer if we're going to seriously champion Opensim as the path to a fully realized open Metaverse. Without a strong foundation to build upon, the effort will be perpetually crippled. Urho3d fits the ticket and would prevent us from having to start from scratch. To me, that sounds like a win-win scenario.
*RealXtend, for those unaware, is a virtual world platform which initially started out as a fork off of Opensim. Their platform offers radically more flexibility, but as of right now lacks any method for linking worlds together into a network.
So after posting a question to the RealXtend Google Groups forum about OpenSim and Naali because Tundra just really isn't yet up to doing what I need, I get this response: http://groups.google.com/group/realxtend/browse_thread/thread/61cc550442bea0a8
Here's a snippet that pretty much covers the post.
The bottom line is that for the purposes that the realXtend companies wanted
to develop realXtend technologies towards, OpenSim/Second Life, and
therefore Naali and Taiga were deemed inadequate. The way that system was
architected, it became clear that OS/SL is not the platform that solves the
challenges realXtend developers are facing.
Currently, every developer inside realXtend has migrated to the Tundra
platform, which is a ground-up development that does not share any legacy or
history with OpenSim or Second Life. It it a completely separate platform
for different purposes, and should not be compared 1:1 against SL/OS.
Tundra is not an application intended directly to be consumed by end-users,
but it is a development platform for content creators.
Please visit the above link for full update details of RealXtend.
I'll go back to working with Tundra and hopefully get voice put in at least, since there's not currently text chat.
Here's a screen shot of OpenSim through a regular Second Life third party client.
Compared to the previous post with the RealXtend Naali client, it's pretty darn good.
I wonder if the people at RealXtend gave up on Naali, or figured it was good enough? Perhaps there's some sort of switch I need to flip on the OpenSim server?
Playing around with RealXtend's Naali OpenSim viewer a bit. Was easy to connect to the server with the client. Not everything renders, but mostly everything has. Doesn't seem to support sculpted objects, not an issue since it seems that it supports Mesh. Avatar is basic, though working with the Evolver.com site to see if I can create a new avatar for myself. Hopefully the rendering issue can be resolved, and hopefully it won't be like getting teeth pulled.
Ultimately the what I want to see is the extensibility of Naali for OpenSim, meaning collaboration tools such as a web cam and VNC.
Lately I've been working with Blender and RealXtend Tundra 2.1.1. I'm really liking Blender; the more I use it, the more I like it. Tundra has been a trying process for me. The platform is still in development, though with the little help I've been getting from the RealXtend Google Group and the out-dated documentation fragmented all over the web, I've been able to cobble together a rather basic scene. Perhaps it's just too early to try using Tundra... perhaps I should take a look at RealXtend for OpenSim. I wonder if it supports Python modules, I did see a video with VNC in the environment.