The Battle for the Desktop Begins!

Until recently, I thought as much. LL’s series of clients, after all, keep improving over time, and that’s undeniable, even if like to say that “on the good old times everything was better”. It was not. We just have short memories. The most vocal complainers are usually people who happened to log in to SL during one of their best phases and naturally complain that things are not as they used to be. Others just have bad memories: using the same hardware as in 2004, I can now go to places with 100 avatars, stay there for hours on end, and still get a handful of FPS. With luck, after all those hours I will even see everybody in colours, and the likeliness of that happening has steadily increased over the years. During Winterfaire 2008, I did actually enjoy the snowball fight with the Lindens for the first time — usually, I had to navigate among a flurry of flying snowballs at 0.3 FPS, avoiding bumping into the dozens of other residents. This year, I got enough performance on the same hardware to run around like a child and yell in glee when I actually hit some of the Lindens 🙂 I even had enough performance to capture it on video, with plenty of FPS left to spare.

None of that was possible in 2007, much less in 2004.

So, yes, there are certainly  improvements. However… the question here is why we couldn’t have more improvements in stability and performance, while at the same time continue to innovate? We were always told it’s a trade-off.

Not so for the alternate viewer gang. The list quoted before is incomplete, of course, but you can see that they have some things in common, and others that are totally unique. First, almost all have applied a series of a hundred or so patches, some of which are ancient and released by Nicholaz Beresford eons ago. The first patches to fixing memory leaking problems (mostly resulting from sloppy programming) were released by Nicholaz in May 2007. Since then, he has released quite a lot more, and, of course, he wasn’t the only one — many, many volunteers have contributed with bug fixes over the past 18 months. All those patches are on the JIRA. Many are actually very small code changes, a line or two.

Just a very very few ever made it to the LL viewer (and none of the ones with the greatest impact). Most are still under review by the quality assurance team.

But there is not only bug fixing and performance increases on the series of alternate viewers. Frustrated with the slow pace of innovation by LL, many volunteers have delved deep into LL’s code and found delightful bits of incomplete code, and made them into finished products. Kirstens Viewer, for instance, will soon not only release a superfast, fully patched version, which adds her own neat tricks — Skype integration, a texture “thumbnail” browser, an in-built avatar radar (so you don’t need laggy HUDs to get that) — but also bring out LL’s never-released advanced lighting system and their shadow engine, projects that have allegedly been suspended or given up in favour of “more stability”. And Kirstens Viewer has been pronounced by Hamlet Au as “the best SL viewer ever“. That was on January 14. In January 19, Kirsten released a new viewer with shadows. Between 14 and 19, Mac versions of Kirstens Viewer were made available. And as Kirsten says, this just took her a month and a half. One person only, no quality assurance teams whatsoever, and the end result is an insanely fast client (you have to see it for yourself, nobody believes me when I tell them that Armidi’s exteriors fully rezzed in under 30 seconds at 2o FPS, on a bad grid day, with 30 or so avatars on the sim, and during peak hours), with a whole cartload of patches and bug fixes, a sleek new look, and pretty new features as well.

This is actually the rate of development that we had from LL in the glorious days of 2002-2004, but not today. Today, it means that a bug is fixed in a year or so.

Kirstens Viewer might be the latest kid on the block with its coolness, but it’s by far not the only one. Imprudence will feature a completely new user interface, which will be detached from the renderer, so it won’t interfere — and you could thus create UI plugins for it. That means a major overhaul of a lot of LL code. On the other side of the coin, the Restrained Life API allows a certain amount of plugins to interface with your client, without waiting for a full interface redesign. Initially designed by the BDSM community, who always wanted attachments that you couldn’t detach (a very old feature request that predates JIRA…), the ability to develop plugins and access them from LSL actually created a market for interesting non-BDSM plugins, like Mystitools’ ability to just selectively allow some of your friends to chat with you. Why? Because after that API was published, the very popular Cool Viewer promptly implemented it. And this means thousands and thousands of SL residents that can now start to enjoy the pleasure of client-side plugins; thanks to the success of Mystitools overall, it means that more and more people have downloaded the Cool Viewer just to use those extra features.

I’ve always been a fan of “unproven” technology, in the sense that I’m fine with radically new things that don’t work well, so I tend to download and install pretty much whatever I like most. I haven’t been using the regular SL viewer for ages; I tend always to use the Release Candidates, since they always have exciting new things that I prefer. On my “presentation notebook”, however, I tend to have the plain old boring outdated standard SL viewer, because I never know when one of those alternate viewers crash during a presentation.

However, this means that my audience will never be impressed. They’ll yawn at technology developed in 2003 (I can’t use WindLight on it, the Intel card doesn’t work with it). I’ve switched to Kirstens Viewer on my presentations, just because at least my underpowered Macbook (not pro) will be able to impress them with 20+ FPS and reasonable images. Kirstens Viewer also allowed me to finally use WindLight regularly on my usual iMac. Oh, I always loved WindLight, and the few pictures I take are always on the Ultra setting, but… these days, I cannot bear to struggle along sims at 3-6 FPS any more. I’m spoiled: that’s what I had to live with in 2004, but I have no patience for that in 2009. Kirstens Viewer is the first that allows me to have the same performance with WindLight on as I get on the standard LL viewer without WindLight on. Now that impressed me.