Breaking the Viewers

As Tateru Nino points out, Oz Linden issued a stark warning yesterday when commenting on third-party Viewers (TPVs): “[A]ny Viewer that isn’t being actively maintained is going to start having fairly serious problems over the next months. We’re making a lot of changes… if viewers don’t keep up, things will break.” 

Now, Oz isn’t the most diplomatic of individuals, it has to be said; but a lot of people seem to be getting unnecessarily bent out of shape in response to his comments, apparently reading them as “You must swap to Viewer 2!” – which is certainly not what is being said.

Rather, he is pointing to the fact that with all that is coming down the line, there is a risk that some Viewer devs (particularly those working with the Viewer 1 / Snowglobe code who have to backport everything) may find their Viewers becoming obsolete. And his comment may well have merit.

While it is true that much of what has been developed for Viewer 2 has been backported to Viewer 1 TPVs (Display Names, multiple clothing layers, Avatar Physics, etc.), it is by no means certain that this will be possible going forward. for example, LL have already stated that Mesh objects will not render in Viewer 1, so it’s by no means clear if the code required to enable meshes to be visible can be integrated into the older Viewers. Similarly, they’ve also stated that the “Search 1” used by Viewer 1 is to be turned off at some point this year – leaving TPVs based on the code either without a search engine or needing to try to integrate with the Search used by Viewer 2. Therefore, there is a risk associated in staying with the Viewer 1 code base.

The Popularity Stakes

In the same meeting, Oz went on to say, “[T]that being said, we’re looking hard at what motivates people to stay on a 1.x viewer so that we can try to address those issues too,” a comment that was also met with a certain amount of derision, with people pointing to things like “usability”, performance and features as the major reasons why Viewer 2 “isn’t working”.

Much has been made of the Viewer 2 UI being “unusable”. At the risk of offending some, I think it fair to say this view is more reflective of people’s unwillingness to accept Viewer 2’s UI than it is of the usability of the interface.

Yes, there are quirks, annoyances, and things within the UI that could be a better than currently implemented – but none of them render the UI “unusable”. The fact is that *if* the Viewer 2 UI had been the de facto  UI for the last 4 or 5 years, and was now being replaced by the Viewer 1.x UI, many of those decrying the Viewer 2 UI to be “unusable” would be making the very same claim against the “new” V1 interface. I’m not being snide in saying this: I’m simply pointing to a reality of human nature; Viewer 1 is in our comfort zone, and it is naturally more attractive.

Performance has been an issue with Viewer 2. Many report tremendous downturns in performance when swapping to it; I’ve experienced it myself in the past. However, today I carried out a couple of (admittedly simple) tests*, measuring FPS rates and rezzing times for the four Viewers I routinely use together with the “official” Viewer 2 and the Kokua development viewer (more out of curiosity with the latter than an attempt to measure its actual performance). The results were surprising, as this table on average frame rates on sims occupied by 2 avatars and 12 avatars respectively demonstrates:

Viewer frame rates on sims occupied by 2 and 12 avatars respectively

In terms of rezzing (using a mall as my baseline), Viewer 2 again performed well. The fastest Viewer for rezzing was, unsurprisingly, Kirstenlee’s S21 (The KLee Viewers have always preformed pretty well on my PC), with Viewer 2 running it a close second. Again, given the use of the JPG2000 library with the official Viewer, this might not be so surprising, but it does perhaps point to Viewer 2 not being as slouchy as its reputation suggests.

Obviously, the test is entirely subjective; what works for me, may not work for you. But its interesting that the overall performance of the Viewer 2 is not so much an issue as it may have been just a few releases ago (when things like frame rates did have me grinding my teeth in frustration).

Giving People What They Want

Truth be told, if Oz wants to understand why people stick with Viewer 1.23.5-based Viewers (or for that matter prefer the likes of Firestorm over Viewer 2), then he only need to really consider one thing: features.

Firestorm in-world Profile display: fast, easy, fun

simply put: TPV developers give users the tools they want: client-side AOs, radar, massive improvements to the Windlight engine and sharable presets, and so on. All these have served to keep Viewer 1-based Viewers at the forefront of popularity.

In the Viewer 2 department, TPV developers are being as equally accommodating, providing features and options users are requesting while LL turn a deaf ear: in-world Profile viewing that avoids the use of the Web Profiles, inclusion of the Media Filter, options to replace the context menus with pie menus, and so on.

As TPVs based on the Viewer 2 / Snowstorm code base mature and inherit features from Viewer 1 TPVs, people will migrate to them and overcome their bias towards the UI.

When that happens, perhaps the only question that will be asked within Linden Lab will be, “Why is Viewer 2 still the minority Viewer?”  In reply to which, I can only say “check back here guys, and read that last few paragraphs…”

* Test information:

  • Hardware: Intel Q6600 Quad Core CPU, 2.6MHz, 4Gb RAM 320 GB hard drive @ 7200rpm
  • Graphics: GeForce Ge9800GT with 1Gb.
  • Viewer settings: Bandwidth 1500kbps; cache size 1024Mb; Draw distance: 384 metres; multi-threading enabled.
  • Sims used: 2-avatar test: Qiu Xiang; 12-avatar test: Mesmerize Dungeon.