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.