Features of a minimum usable WebGL viewer

I know what I would like to see in a WebGL browser-based viewer for OpenSim — everything that current viewers have but super-easy to use and fast to load and quick to write.

Well, I know we’re not going to get that, especially if we’re doing it with a crowdfunded project. Since I wrote my column suggesting that last week, several folks have contacted me privately offering to help pay for it, in addition to the people who’ve pledged to help out in the comments.

KataSpace viewer is an example of an existing, open source, WebGL project. (Image courtesy Katalabs.)

But when I started speaking to actual developers and folks from the various communities that make up OpenSim — viewer and server devs, grid owners, consultants, and so on — it looked like everyone has a very different idea of how such a project should go, and how much it should cost.

So here’s my plan. It’s a minimal plan, to get something usable up and running as fast as possible, focused and targeted so that it would make for a nice, tight, crowdfunding project, and with plenty of room to develop later.

  • Basic login: The viewer should be easily customized with a login URI and region name — and welcome screen image — so that people can embed it on their grid websites or personal home pages. Visitors would be asked for their avatar name and password, and then it will load the region. Since it’s open source, individual grids should be able to adapt it to their own sign-in mechanisms — Kitely, for example, can put in a login with Facebook button.
  • Basic display: The viewer should display the avatar and the immediate surroundings.
  • Basic navigation: Users should have the simplest possible navigation mechanism — arrows and click to move. Browser-style navigation bar should allow teleports to other regions on same grid, or, if grid is hypergrid-enabled, to regions on other grids.
  • Basic chat: Users should be able to text chat with other people in the region.
  • Basic interactivity: Users should be able to sit on chairs, zoom in on surfaces.

Use cases

So what would be the use of such a bare-bones viewer?

Here are some possible applications:

  • Sim previews: Someone could log into a region from a website for a quick look around. If they want to do more, they can log in with a full viewer.
  • Preview OARs: If you want to buy an OAR files to use for your business or educational setting, you can quickly preview it with just a click. You get a better idea of what’s in the OAR than with images, and you can see it faster than with a Kitely preview or logging into the grid.
  • Virtual tours: A stripped-down viewer would be a good mechanism for virtual campus tours.
  • Virtual exhibits: Virtual artists and museums could showcase exhibits without requiring users to learn and use a fully-featured viewer, expanding their potential audiences.
  • Virtual support groups: Virtual support groups — especially those that use text chat instead of voice — could meet in-world without the steep learning curve of the full viewer.

Sure, you can do all that already with Unity-based platforms like Jibe and Unifier, or with Cloud Party. But those platforms are expensive, and require professional content developers to create the 3D environments. In addition, they’re proprietary — you can’t easily take a world from one to another.

OpenSim allows amateurs to create content, or to use the vast amounts of content already available for free or at low costin the OpenSim universe.

Finally, a viewer that is compatible with OpenSim will also, by default, be compatible with Second Life. This will allow existing Second Life region owners to provide easy Web-based access to their builds — and create an easy migration path from Second Life to OpenSim.

Once the basic viewer is created, I hope independent developer groups and grid owners will rapidly start adding features that they want to see the most, such as voice, media-on-a-prim, inventories, payments. search, groups, and, at some point, maybe even appearance and building tools.

Missed opportunity for Linden Lab

Personally, I think this would be a great opportunity for Linden Lab to make Second Life the portal to the metaverse, by creating a proprietary Web-based viewer that would allow it to promote its own land offerings and virtual currency — and protect its content — while allowing users to visit other grids.

I firmly believe that a Web viewer is inevitable. The question is, will it come sooner, or later? And I believe that the growth of the hypergrid, which already covers more than 100 OpenSim grids, is unstoppable.

By staying on the sidelines, Linden Lab is creating opportunities for open source projects to control the direction of the metaverse.

Which, actually, is probably going to work out just fine.

Questions

So how much time — and money — would a project like this cost?

Is there anyone out there interested in taking it on — either as volunteer developers, or for a bounty, or with crowdfunding?

Maria Korolov