Even as OpenSim implementation continues to grow, a constant remains: there is no viewer tailored specifically for OpenSim as it comes direct from OpenSimulator.org. It’s discouraging, and it’s easy to cite the nearly million lines of code that are simply too complex to unravel as the culprit, yet the reasons behind the absence of a universally compatible viewer are as related to community as to technology.
The viewer family tree
The technology aspect is convoluted, but fairly well known. Third party stand-alone viewers are adapted from Linden Lab viewers. However, Linden Lab viewers are not designed to work with OpenSim. That they and their third party progeny work at all with OpenSim is because OpenSim supports the core of Second Life’s messaging protocol.
However, the developers of OpenSim do not aim to make OpenSim a clone of Second Life, and Linden Lab has no reason to make OpenSim compatibility a feature of their viewers. This results in a complex interrelationship between the various products and often leaves the user with a dilemma.
I originally used Imprudence with OpenSim. Soon after that, I also came upon Phoenix viewer and switched; since I was on a Mac, the strength of Phoenix development for Mac was the deciding factor. As time went on, however, I tried to migrate from Phoenix viewer 188.8.131.523, which worked very well with OpenSim, to their newer viewers, and building became impossible.
Finally, with Firestorm, even visiting my sim resulted in prompt and predictable crashes. I was confused until Lette Ponnier of Phoenix Viewer commented on my support request, “Ah, I overlooked that you said the crashes in Firestorm occurred on OpenSim. I spoke with others on the team, and they confirm that using Firestorm on grids outside of Second Life is buggy at this time.”
I decided to return to Imprudence, only to discover that there were still issues with the version for Mac, while Kokua is still ensconced in guarded language that states it has “Better, but not perfect OpenSim support.” I tried many other viewers, including the Linden Lab viewers, and noticed something else as well; the choice of grid was also influencing viewer performance.
The important role of community
This leads to the community aspect of viewers. Third party viewers, although derived from Linden Lab viewers, are community viewers. Arrehn, a Phoenix Viewer developer, explains, “Much of their [Phoenix, Firestorm] functionality comes directly from improvements contributed by various independent and cooperating developers. The amount of compatibility with other grids is proportional to the patches we receive from community developers interested in specific other grids.”
The fact that the community contributes to viewer development does not mean the most popular grids have the most influence. If that were true, OSGrid, the largest grid, would compel third party viewers to be 100% compliant with OpenSim as it comes straight from the OpenSimulator downloads page. Instead, the grids supported by the most developer activity have the greatest influence on viewer development because they are the beneficiaries of the greater number of improvements and enhancements.
This is a bit like Linden Labs tailoring their viewers for Second Life. As individual OpenSim grids continue to grow, developer support for preferred grids will add to the code for third party viewers, which may, or may not, benefit other OpenSim grids.
What can we hope for?
It would be rude not to emphasize that since third party viewer development is largely a volunteer effort and users pay nothing for the viewers they enjoy, the utility we derive from these viewers is already a gift. The disappointment comes from the fact that while OpenSim is made available directly from OpenSimulator, there is no viewer tailored specifically for that out-of-the-box version of it.
Unless a user chooses those grids that have contributed to a viewer that ensures compatibility, if such a viewer even exists, their OpenSim virtual world experience may be difficult to impossible. As a testament to this, it seems many blogs are regularly filled with threads about which viewer works best, or at all.
This makes me wonder what to hope for moving forward. Viewer improvements will probably be driven more by favored grids than from hopes for a universally compatible OpenSim viewer.
In the meantime, we are fortunate to have not only multiple viewers, but also multiple viewer versions. It’s confusing, but necessary in order to get the full range of experiences out of our virtual worlds. Beyond that, many hope for a full-featured Web-based viewer written from scratch with sockets purposely designed for plugging in custom compatibility and integration modules. Oh, and of course, no 4096 bug!
It is rare, however, that we ever have ideal software. My personal hope for the near future is a sophisticated, education use appropriate, growing, always on OpenSim grid, with a matching compatible version 2 or 3 viewer that is fully functional with Mac Lion, as well as Windows.
What do you hope for?