Monday, 2 June 2008

Alternate Second Life Viewers

After finishing my last post, about the open source grids operating under OpenSim software, I started studying alternate Second Life viewers. (The viewer, also called the "client," is the part of the Second Life software that you download onto your hard disk, and that enables your computer to communicate with the distant Second Life servers.)

Most, but not all, of the alternative viewers are open source, and some are still in early stages of development. All of them work with the Second Life grid, and many also work with the open source grids. This capacity of the same viewer to communicate indifferently with the Second Life grid or with the Open Sim grids is particularly interesting, since it prefigures the "3D web." Imagine a viewer that allows you to teleport from one virtual world to the next, almost easily as we now click from one webpage to another. Such a "3D web" may be just around the corner.


The official Second Life viewer

Before looking at the alternative viewers, it may be worth saying a word or two about the official viewer. The viewer must be downloaded and installed on your hard drive before you can connect to the Second Life servers, so the newbie experience generally starts at the official viewer download page . This download page also gives a definition of the various categories of Test Viewers (Release Candidate Viewers, First Look Viewers and Beta Viewers).

The current viewer is Version Number 1.19.1.4, which is what I have on my computer. The entire list of versions is given here. It can be seen that Linden Lab is currently up to Release Candidate 1.20.8.

I will definitely avoid using the latest Release Candidate myself, because my computer is a few years old, and is already stressed out by version 1.19.1.4. I would have willingly stayed with an older version but, one day a few months ago when I tried to log on to Second Life, the system forced me to switch to the new viewer. The new viewer produced weird and undesired visual effects, in the form of shifting triangles of colored light streaming from my avatar. Using Google I found a post on the JIRA which linked this problem to my graphics card, which is an ATI Radeon X300/X550. I followed the advice someone posted on the JIRA, and installed an older version of the driver for my graphics card, since the most recent driver is incompatible with the current viewer. Using the older graphics driver solved the problem of the colored-triangles. However, to adjust to my downgraded graphics driver, Second Life automatically set my draw distance to 64 meters, so my avatar is now myopic. A great many residents seem to be having similar problems, which shows how critical viewer issues can be.

As I told in my previous post, the official Second Life viewer has gone open source. You can even try to compile it yourself, if you want to. First you download the source code, and then you follow the elaborate instructions, which start here and, for windows users, continue here. I tried to follow these instructions, as told in a post on my other blog, but I got overwhelmed by all of the other programs that I had to install to make this work, and gave up about half-way through.


Alternative open source viewers

The official Second Life wiki has a long page on alternate viewers. This list includes several open source modifications of the official viewer (such the Able, Dale Glass and Nicholaz editions), one closed source modification (Onrez), one extensively rewritten open source viewer (RealXtend), and a number of miscellaneous other viewers. A curiosity is the Marine Edition, codename "RestrainedLife," which is a viewer designed to enhance the BDSM experience, in conjunction with simple scripts to make attached objects undetachable, prevent chat and otherwise restrain one's consenting BDSM partner.

The main open source modifications of the official viewer were described by Caleb Booker in a post from September 2007. The Able Edition, made by Able Whitman, works just like the main viewer but adds visual muting, thereby blocking out ad farms and other visual annoyances. The Dale Glass Edition (see also the Dale Glass blog) adds a number experimental features for dealing with griefers. These include a proximity detector which shows the names of other avatars in the area, as well as the avatar age and whether there is any payment information on file, and a detector indicating the source of particles and sounds.

The Nicholaz viewer was built by Nicholaz Beresford with a focus on stability, usability and performance. I've heard residents say that the Nicholaz viewer helps reduce frequent crashing and similar problems with the official viewer. The Nicholaz release called EyeCandy is to be used together with version 1.19.1.4 of the official viewer. Since I am using that official viewer, I installed EyeCandy, which involves simply copying the executable (".exe") file and three small XLM files into the same program directory where your Second Life viewer is already installed. Then instead of launching the Second Life viewer you simply launch the Nicholaz executable file (I put a shortcut to this on my desktop). It is easy to launch either the official viewer, or the Nicholaz viewer, as you wish. I found the Nicholaz viewer to be pretty much the same as the official viewer, the most noticeable difference being a button that says "release keys," to use when a script has taken control of your keys.

The Kirstens viewers are compiled for high end intel based machines for best performance or to fix specific problems, and have proved very stable. The instructions say to copy the executable file into your Second Life directory, as for the Nicholaz viewer. I did not try the Kirstens viewer, but it of special interest because the OpenLife website proposes a download of a modified Kirstens viewer (see below)


The realXtend viewer

The realXtend viewer is part of an open source virtual world platform that was discretely developed during several months by two companies, Admino and Ludocraft, before they suddenly revealed it to a group of OpenSim developers that they invited to Finland in January 2008. Sakai Openlife, of the OpenLife grid, who was among the guests, describes this event as follows:


"Friday morning we all met. Firstly wow, it was great to meet most of the others from the OpenSimulator project, I don't think it had been done before, and whilst things may have started quiet it didn't take long for us all to Gel together and get talking! And then we met the guys under the banner 'RealXtend', this was interesting why had I flown more than 14,000km across the planet? Who were they and what had they been doing? Questions were flying in everyone's minds and we started to get some information. 2 Companies Admino & Ludocraft had been working furiously in the background over the past 4 months, 'extending' the function of the OpenSimulator Project, they had done this with the afforded generosity of Juha Hulkko.


So what did they want global domination? No. Were they Anti-Linden? No (actually Chris Collins from Linden Labs was there too). Did they want to take over the OpenSimulator Project? No.

They wanted to move forward, extend as the name suggests features & methods for greater user function and versatility of the code & it's application."


After the participants in the Finnish meeting returned home, floods of information about realXtend starting showing up on various blogs. The realXtend platform is made up of two parts, which are:

* realXtend viewer, an open source browser for virtual worlds,
* realXtend server, an open source server based on OpenSim.

The realXtend viewer, based on the Ogre 3D engine, allows the use of meshes in place of primitives. As explained by Ugo Trade, a prim is a solid, while a mesh is a series of triangles in 3D which can make any arbitrary surface. Prims are more compact and lower cost to render, but most 3D programs build meshes by default, in order to support proper 3D models. And since one mesh can replace many prims, the difference in computing cost between meshes and prims is smaller than one would think.

On the server side, reports Adam Frisby of OpenSim, realXtend adds features such as Python scripting support, and a new server called the ‘Avatar Server,’ which allows transporting your avatar's appearance from one OpenSim simulator to a completely different one, without any shared grid infrastructure.

I downloaded version 0.21 of the realXtend viewer from the realXtend download page, and installed it with no problem. To my surprise it worked fine for connecting to Second Life, but not for OpenLife. When I type the OpenLife URI (http://logingrid.net:8002) into the "Connect to" box, realXtend first takes a very long time to get past "Initializing World", then hangs permanently on "Connecting to Region." However, the OpenLife website offers a download of a special RealXtend Openlife Edition Viewer v0.2. That might work better for OpenLife than the standard version of realXtend, but I would have to uninstall the version I currently have, so I've left it at that. The OpenLife website also offers a download of a special OpenLife version of the Kirstens viewer (see above), but I have not yet tried that either.


The Onrez Viewer

The Onrez Viewer is a closed-source viewer originally created by the Electric Sheep Company to be used with the CSI New York Virtual Experience. The viewer's name also recalls the Onrez website which provides online shopping for Second Life items.

When the Onrez viewer was introduced in October 2007, Hamlet Au noted that its main innovation was to allow in-world web browsing (supporting html, but not plugins such as Flash). I installed the Onrez viewer easily, and when I connected to Second Life I found a special window open in the middle of the Second Life view, displaying a website called The Loop . At first there was no browser line in this window, so I was stuck on that page, but I closed the special window and then opened it up again by clicking on the button saying "The Loop," at top right of the screen, , and the browser line appeared.

What I disliked about the Onrez viewer was that the menu layout is rather different from that of the official viewer, and is thus hard to find one's way around in. Also, every time I log out the viewer crashes and my system gives me an error message.


Lite viewers

In July 2007 a UK teen student called Katharine Berry announced on her blog that she was developing an ajax-based client for Second Life, which she called Ajaxlife. The story was picked up by Hamlet Au, who got the tip from Gwyneth Llewelyn.

This client only permits a limited set of functions, such as local chat, instant messages and a basic map, and thus removes the need for a powerful graphics card. But as noted by Hamlet, Ajaxlife also allows you to connect to Second Life without even downloading and installing the viewer. The user instead logs on to the Ajaxlife website, which in turn logs the user into Second Life. This allows users to get past corporate or academic firewalls, which may block access to heavily interactive websites. Hamlet reported that Katharine was thinking of making a version that can run on the user's own machine, but in that case the firewall problem remains.

As Katharine explained to Hamlet Au, Ajaxlife uses JavaScript to handle the User Interface. The connection to Second Life is handled by a C# program running on Katharine's server, which uses libsecondlife to deal with SL connections. AjaxLife handles maps with an entirely separate system: once a day a libsecondlife bot of Katherine's logs into Second Life, downloads all the map images, and saves a copy to her server, so that they can be called up as needed.

Katharine at first announced that Ajaxlife would be open source, but there are no currently available downloads of the source code. In March 2008 she released a version that added the ability to delete inventory items, which Hamlet Au called the Ajaxlife Killer Application. A few weeks ago, on May 18th, Katharine announced on the Ajaxlife blog implementation of version 0.3.3.

I tried AjaxLife for the first time a few weeks ago, as way to connect to Second Life using my newly-purchased Asus eee, which is a tiny, low-cost netbook, with a low-performance graphics card. Logging on to Ajaxlife, I was able to use IM, to open inventory directories, and to edit saved notecards, but the group functions only allowed me to IM the entire group, without giving me the list of members. I was also able to log on with no problem through my firewall at work. But the last few times I tried to log in, I got error messages.

In October 2008, a few months after Katharine's initial announcement, a Japanese company called 3Di introduced the MovableLife website, which likewise promised access to Second Life "using only a web browser." I logged in to MovableLife and tried to IM a friend, but while the friend could read everything I wrote (as I learned later), all I could see was their first reply repeating endlessly. My reaction, besides finding the site useless, was to think "OMG I've just entered my Second Life password onto this site." The MovableLife page says somewhere in small print: "We do not store your Second Life account information on our servers, it is transferred directly to the Second Life servers." I sure hope that is true.

Web-based access through a third party site remains an interesting solution for those who want to connect to Second Life through firewalls. But in order to overcome the worry about password theft, the easiest solution would be for Linden Lab to provide such an interface themselves.

Similar in many ways to Ajaxlife is the Sleek viewer, which was released in July 2007, just after Katharine Berry's initial announcement. According to a comment by Oz Spade, Sleek had actually been around since 2006, and was developed using libsecondlife not by a company, but by one person.

The Sleek viewer is a light-weight viewer that allows access to Second Life for a reduced set of functions such as sending IMs. Reasons for using it include having a low-power graphics card or wanting to multi-task on older machines, as mentioned by this user, who compares it to an old-fashioned multi-user dungeon.

The Sleek download is a zip file, from which you extract 12 files into one directory. To launch the viewer you just click on the executable file. After logging in to Second Life, I was able to see which of my friends were online, send IMs and see resident profiles. I was even able to use search to find residents by name. However, the inventory function did nothing more than show me inventory directories: when I tried to open them they appeared empty. And when I tried to use Sleek at work, the firewall blocked it.

On April 1st 2008 the Sleek blog announced that Sleek had been bought by Microsoft, but the date would make one somewhat skeptical of that announcement.

10 comments:

Katharine Berry said...

Just a note - AjaxLife's source is, in fact, available; see http://code.google.com/p/ajaxlife/source to either browse it or for instructions on how to download a copy. Also, the stuff about the map is outdated. And I know about the error messages, and am considering ways of making them go away.

Anonymous said...

Perhaps also worth noting is the fact that OpenSim is quite happy to accept logins from any of the official clients, including those older than 1.19.1.4. This might be helpful for people who experience performance glitches or slowdown with the newer viewers.

Anonymous said...

Those of an adventurous disposition might also want to take a look at http://openviewer.org which is a viewer in the very early stages of construction. Unlike many of the other viewers it's BSD licensed rather than GPL licensed (as it's not derived from the Linden source base). One advantage of this is that a developer working on the viewer is free to also submit patches to the OpenSim code base without any licensing/code contamination issues.

Danton Sideways said...

justincc has done an interesting post about the advantages of building virtual world viewers from scratch. And here is a quick link to OpenViewer, the open source viewer that I overlooked, and which justincc mentions above.

Unknown said...

Hi Denton,

Very usuful information. These alternate viewers are good but they dont solve the problem of those whose computers dont meet SL system requirements such as graphic card compatibility.
1) do you know any alternate viewer which is a light version but is not as simple as those web-based viewers.
2) I know there is an other approach like Xenki which enables current official viewer run on web browser. How does system work? Do you know any site which describes how to do that step by step for regular users (not developers)

Thanks

Danton Sideways said...

Lena - Those are two very good questions.

1) Newer versions of the SL viewer can make one's graphics card obsolete. That happened to me about 6 months ago, but I got around it by *downgrading* my graphics card driver and setting draw distance to 64. But while SL forces you to use a recent viewer, OpenSim is designed so that you can use even very old viewers with the latest OpenSim update, so it should be possible for SL to implement that too. Until SL does so, someone should try to make a viewer that allows one to use today's SL with older graphics cards. But I'm unable to keep up with these developments, so you'll have to ask someone else whether there now exists such a viewer.

2) The whole question of viewers that are browser-based, browser-hosted or browser-embedded (and the differences between these) goes over my head. The best introductory discussion I've found is this:

http://www.realityprime.com/articles/volumes-of-reading

As I understand, the browser plug-ins merely allow you run inside your browser the SL graphics that your graphics card is powerful enough to run anyway. And the "lite" versions such as Ajaxlife give you various SL functions but *without* the 3D graphics. Thus neither "browser" applications nor "lite" applications are going to give you any graphics rendering that your graphics card is unable to generate when running SL in the normal way.

MasonosaM said...

A website with a great database for alternate viewers for sale or for download can be found at http://inflife.net/

Anonymous said...

For those of you still looking for alternate viewers, there are several at http://inflife.net/

"ZeroProxy" is an excellent viewer "add-on," which still allows you to use your favorite viewer, but adds the features of ZeroProxy. http://inflife.net/?p=401

You may also wish to try their new "Second Life Popular" client. It's features are astounding, by far the best I've seen. http://inflife.net/?p=454

All of the viewers they create have free lifetime upgrades, support, and a wish list for new features.

Danton Sideways said...

Those last two comments are borderline spam, since the inflife website seems to be a for-profit setup. But at least the comments are on topic, so hey, I'll take what I can get.

Anonymous said...

http://inflife.net

“Reborn is the best Sl viewer i think I HAVE EVER used so far.