Firestorm celebrates 10 years with a splash

via the Phoenix-Firestorm Project
My name is Jessica Lyon. My goal during my time with the Emerald Project, was always to give the users what they want. That goal has never and will never change. I’m very happy to announce, it continues…
A few days ago, I assembled a team of developers to work on a new viewer. Some who were originally Emerald developers, some who were not. All are respected reputable residents in the Second Life Community. The goal was simple, to provide users with what they want and do it transparently.
I’m am very proud to announce the launch of the Phoenix Viewer.

Jessica Lyon, September 3rd, 2010

With those words, printed in her personal blog, Jessica Lyon announced the arrival of the Phoenix viewer, and the birth of what would become Second Life’s most popular third party viewer.

It marked a new beginning for a number of people – Jessica among them – who came together out of the ashes of the Emerald viewer to try to continue the work started by that viewer before one or two wombats (the term my father endearingly uses to denote “complete idiots”) who opted to trash the innovative work started in that viewer for the sake of petty stupidity. Emerald hadn’t been the first third-party viewer on the block, but it had become one of the most innovative, both exposing viewer capabilities hidden the the vagaries of the viewer’s debug settings, and in developing various viewer-side only capabilities, such as multi-attachments (more than one attachment on the same attach point).

With Phoenix, Jessica and the team around her sought to carry on the good work started with Emerald whilst leaving the stupidity well behind them, embracing the closer working ties between the Lab and TPVs that would come to grow out of the Emerald debacle with the rise of the Third-party viewer policy and an unfolding of greater co-operation between TPVs and the Lab.

Why history might suggest otherwise, Phoenix itself had a relatively short active lifespan – by the time it arrived, the Lab had launched the viewer 2.0 UI, and by the time Phoenix reached its first anniversary on September 3rd, 2011, the Phoenix team had already launched their own version of the viewer using the new UI code base – Firestorm – which was destined to become the focal point of the team’s work, although they tried to keep Phoenix, with its Viewer 1.2x UI, going for as long as they could.

Nevertheless, in just its first year, Phoenix attracted a large following, partially due to things like the multi-attachment option (even if it did make those using it appear as if the were walking around with a tail of attachments trailing out of their rear ends to those on other viewers), and this trend continued as Firestorm ramped-up and continued with the innovative approach taken to capabilities, both in exposing those in the viewer, and through the adoption of others (such as William Weaver’s Phototools).

As noted, as the time passed, Firestorm developed an ever-closer working relationship with the Lab, routinely making code contributions to help benefit the latter, and offering proposals for specific improvements, such as an official implementation of a hover height slider capability. Now, to be fair, Firestorm have never been alone in making code contributions to the Lab, but they have been one of the most consistent in doing so, as the visualisation below shows.

This video from Firestorm’s Pantera Północy shows the flow of code and contributions from LL to Firestorm and Firestorm to LL over a 10-year period

They’ve also dared to push the boundaries of viewer capabilities from time-to-time, trying to respond to user requests. One of the most notable examples of this came in 2014, when – under the guise of an April Fools joke – the Firestorm team presented their proof-of-concept Dynamic User Interface that allowed UI elements to be pulled out of the main viewer window and displayed on secondary monitors (see: Firestorm Dynamic User Interface (DUI): it’s a real prototype), the hope being it  might result in a collaborative effort among viewer coders to make the idea a reality. Sadly, that particular idea died a silent death, but setbacks like it have never stopped the Firestorm team from working with the Lab to offer viewer improvements – the most recent being the updates in the mesh uploader, which were promoted as this Lab’s de facto release viewer, and which incorporate contributions from Firestorm.

Firestorm has always sought to support the community as well – its in-world groups routinely share information with users, Firestorm is a part of the Lab’s Community Gateway Programme seeking to bring new users into Second Life, and so on.

Firestorm has two special gifts for those attending the 10th anniversary party on October 18th

All of which means that over the last decade, the Phoenix Firestorm Project has been a truly unique an beneficial collaboration within Second Life – and is likely set to remain so in the future.

The viewer’s tenth anniversary officially came on September 3rd, 2020. however, on October 18th, from 1:00 noon SLT through until 15:00 SLT, the Firestorm team are holding a birthday party,  with special gifts for those attending and some special live performers. So, grab a taxi below, and head on over.

Happy 10th anniversary, Firestorm!

Party SLurls

(Only valid on October 18th, 2020)

Firestorm 6.4.5 Beta: EEP and Camera Presets

On Tuesday, July 28th, 2020, Firestorm released a beta version of their viewer – 6.4.5.60799 – that provides support for the Lab’s Environment Enhancement Project (EEP), and which includes a number of other Lab-specific updates to the viewer, such as the Camera Presets capability.

There are a number of points of note to make about this viewer, which may influence people’s choice on whether or not to try / adopt it:

Table of Contents

  • While it contains the EEP updates, the following should be kept in mind:
    • There are a number of known issues with EEP, several of which currently have fixes contained within the Lab’s Love Me Render RC viewer (version 6.4.5.544028, dated June 30th, at the time of writing), and which is being prepared to be promoted to de facto release, possibly in the next 2-3 weeks.
    • There is a known performance hit related to EEP, for which an interim (and unsatisfactory) fix can be to disable Linden Water rendering (CTRL-ALT-SHIFT-7), even if Linden Water is occluding in your view. The underpinning causes of this issue are still being investigated.
  • Given its beta nature, this version of the viewer has not passed Firestorm’s QA cycle, nor are there formal release notes, although general notes on this version can be found here.

Because of the above, the following is not a full overview of the release; I will provide one once this version of the viewer reaches a formal release status. Instead, this article is designed to provide a general overview of the core visible changes in Firestorm 6.4.5: those of the EEP integration and particularly how it has been integrated with Firestorm’s Phototools floater, and those of the Camera Presets, which differ slightly to their implementation in the official viewer.

Installation

As this is a beta release:

  • There is no need to do a clean install.
  • By default, it will be installed into a different folder to the release version of Firestorm you have installed.
  • If you encounter issues with Firestorm 6.4.5, it is important you preserve your log files before starting any session using the release version of the viewer, and make sure you zip and attach them to any Jira you file.

Linden Lab Derived Updates Overview

Firestorm 6.4.5 incorporates updates from the following Linden Lab viewer releases:

  • Second Life Release Viewer version 6.4.4.543157, the Chrome Embedded Framework (CEF) Update 2020 – provides better support for media playback options win the viewer, including the ability to live stream into Second Life.
  • Second Life Release Viewer version 6.4.3.542964, the FMOD Studio viewer, dated May 29th, 2020 – updates the viewer audio playback support to use FMOD Studio.
  • Second Life Release Viewer version 6.4.2.541639, the Camera Presets viewer, dated May 11th, 2020 – see Camera Presets, below, for more.
  • Second Life Release Viewer version 6.4.1.540593, the Zirbenz Maintanence viewer, dated April 27th, 2020.
  • Second Life Release Viewer version 6.4.0.540188, the Environment Enhancement Project (EEP) viewer, dated April 17th, 2020 – see below for more.

Camera Presets

Camera Presets provides the ability for users to create one more more custom camera presets to define where and how the viewer camera is placed relative to your avatar, More than one set of presets can be created and saved, so that you can, for example have a camera position for general exploring, another suitable for combat games, another for building, etc., all of which can easily be accessed and used at any time via the Camera Presets drop-down.

Firestorm’s Camera Presets Options – note that depending on the viewer skin you are using, the Camera floater (middle left, above) many have a slightly different layout to that shown

For a general introduction to Camera Presets, please refer to: Tutorial: Viewer Camera Presets. However, when doing so, please note that:

  • The Firestorm Camera Floater is laid out differently to the official viewer, being more compact, as show in the image below.
  • If you wish to manually set a camera position using the camera controls (orbit / tilt and slide left/right / up/down), you must open the Camera Position floater via the Position… button,  and then save adjustments from that floater, as adjustments cannot be saved directly from the Camera floater, as is the case with the official viewer.

Environment Enhancement Project (EEP)

There’s unlikely to be many people who have not heard of the environment Enhancement Project (EEP). But in short:

  • Replaces the use of Windlight .XML files to control the water and sky environments seen in Second Life.
  • Environment settings are saved within environment assets that you can keep in your inventory and / or share with others.
  • Environments can be applied to a region or to a parcel (subject to region permissions) and / or to your avatar (thus allowing those travelling in vehicles to maintain a consistent environment across multiple region crossings).
  • Allows up to four different, independently controlled sky layers.
  • Allows the Sun, Moon and Cloud textures to be replaced with custom textures uploaded to the viewer.
  • Provides an extended day cycle of up to 168 hours, thus allowing a 7-day, 24-hour day / night cycle to be defined, for example.
  • Provides a Personal Lighting floater that allows you to make viewer-side adjustments to the local environment for the purposes of photography.
  • Provides new LSL functions to allow scripts to interact with parcel environments and that can be used with experiences.

EEP Resources

EEP is a large and complex overhaul of environment settings for Second Life, and there are numerous resources available for it. As the Firestorm implementation is more-or-less as per the official viewer, I offer the following links to resources:

EEP and Phototools

One of the popular elements within Firestorm is the Phototools floater. The Windlight (WL) tab, opened by default when accessing Phototools, has been revised for EEP, as shown in the image below.

The pre-EEP Phototools WL tab (l) and the EEP version (r). (1) The Drop-downs now select Day, Sky and Water settings from the Library → Environments folder; (2) Personal Settings button – opens the Personal Settings floater, allowing you to adjust the environment as seen in your viewer. This button essential replaces the Edit Sky Preset and Edit Water Preset buttons in the “old” Phototools WL tab; (3) cancels any changes made through the Personal Settings floater; (4) Pause Clouds – does what it says on the label; (5) Shared Environment – causes the viewer to use the local parcel / region environment.

Additional EEP Notes

  • There are around 200+ EEP environment settings to be found in the Library → Environments folder. These have been provided to Linden Lab by Whirly Fizzle of the Firestorm team.
  • As noted in the image above, these can be accessed via the WL tab in Phototools and via the drop-downs in Quick Prefs.
  • If you want to edit these any of the environment settings in the Environments folder, you must first copy them to a folder in your inventory (e.g. your Settings folder, or a sub-folder within it).
  • As per my tutorial, you can import the windlight settings you have on your local drive and convert them to EEP settings – see Importing Windlight Settings as EEP Assets.

For OpenSim

For OpenSim users, there are 3 key points:

  • The viewer incorporates Windlight ↔ EEP interoperability, allowing EEP viewer users to visit legacy Windlight regions.
  • The viewer supports the new OpenSim 0.9.2 with EEP, code-named “Ugly Sky.”
  • There is now a fast-entry grid feature on the login screen; simply enter a URI to add a new grid.

In addition, the last Firestorm OpenSim Release had a bug that caused crashes when rezzing items. This bug was responsible for 70% of all reported FS OpenSim crashes on the 6.3.9 version, and it has been fixed.

General Observations

Given Firestorm 6.4.5.60799 is a beta release and not a fully polished formal release, it may not be suitable for all users at this point in time – and this should be kept in mind when considering it. Should you decide to do so, again please remember:

  • Firestorm 6.4.5 can be installed alongside any current release of Firestorm, so you can swap between them.
  • Firestorm 6.4.5 has not been fully QA’d, so if you do encounter reproducible issues, please ensure you raise a bug report on the Firestorm JIRA.
  • With respect to EEP in particular:
    • Please take time to read the known issues in the beta release notes and, for EEP, those on the EEP viewer release notes from Linden Lab).
    • There are a number of EEP fixes forthcoming in the Love Me Render viewer (e.g:  fixes for EEP specularity issue – BUG-228781 and BUG-228581, and for BUG-225784 “BUG-225446 regression – HUDs are again affected by environment setting”). It may also include additional fixes.
    • Linden Lab is still working on issues such as BUG-229079 “[EEP] Density multiplier does not allow full range of settings to be saved/loaded” and BUG-229031 “[EEP] Water has a large performance hit on EEP”.
  • There are known performance (FPS) issues with EEP / this version of Firestorm.
  • This version of Firestorm will likely go through a number of iterations prior to reaching formal release status.

Related Links

Kokua: 6.4.2 release overview

On Wednesday, May 27th, the Kokua team released Kokua 6.4.2, bringing the viewer up to parity with the Linden Lab official viewer, 6.4.2 code base (Camera Presets), promoted on May 19th, 2020.

This means that with this release, Kokua now includes:

  • the Environment Enhancement Project (EEP) release.
  • The most recent viewer Maintenance updates.
  • The aforementioned Camera Presets.

In addition, the Restrained Love Viewer (RLV) variants of this Kokua release include both include the latest updates to Marine Kelley’s RLV API updates – version 2.9.27.0 -, which include support specific to EEP, and which the Kokua team have also used with regards the new Camera Presets, as part of their own updates to the viewer.

Lab-Derived Updates

Environment Enhancement Project

In including support for EEP, Chorazin Allen makes an important point that all SL users should keep in mind when moving to EEP-capable viewers:

Before getting into the additional features and fixes we need to point out that EEP represents a major overhaul of the viewer’s weather, lighting, shine and reflection areas – it’s more than just a new weather system with configuration files as inventory assets instead of separate xml files. As a result you WILL find that scenes, structures and avatars can all look different. If you find a particularly noticeable instance you are encouraged to log details of it in LL’s Jira issue tracking system so that these differences can be fixed at their origin.

– Chorazin Allen [my emphasis]

The Kokua 6.4.2 release appears to be a direct implementation of EEP and its various floaters without any alterations to their layout. As such, I do not propose to cover them here; rather I’ll leave you with a series of links to resources:

Camera Presets

Kokua adds four new defaults for Camera Presets

The Camera Presets controls, developed and contributed by Jonathan Yap, is a capability that allow users to create one more more custom camera presets within the viewer to suit particular needs and then save them. This means, for example, that a user can now have a camera position for general exploring, another suitable for combat games, another for building, etc., all of which can easily be accessed and used at any time.

Again, the Kokua implementation of the UI elements is the same as the official viewer. However, the Kokua implementation of Camera Presets adds addition default presets as follows:

  • Left, Right and top: provide viewers of your avatr from the left and right side, and from directly above.
  • FPS (First Person Shooter) – positions the camera directly in front of your avatar and looking forward.
  • Nearer – a view looking from close behind your avatar designed to be more suitable for corridors and other narrow spaces.

Again, rather than go into specifics on creating and using Camera Presets, I refer readers to my Camera Presets tutorial.

Kokua Updates

Edit Floater – Bulk Rename

Kokua 6.4.2 includes a new button in the Content tab of the Edit floater that allows the contents of an object to be easily renamed. A typical case for this might be when updating the version number of the individual contents on an object for a new release: after the specific elements that have been updated / replaced in the object, the rest can easily be renamed with the new version number.

Kokua object contents bulk rename

As this is liable to be a special usage option, I’ll refer interested parties to the Kokua documentation on how it works.

Animation Override

Client AO updates

Kokua 6.4.2 offers two new options to the client-side Animation Override system:

  • Chat check box: when enabled, each new animation to run will be reported in local chat in the user’s viewer.
    • The intent is to allow a user to keep track of the currently running animation when using a new set of poses/animations to decide decide which should be kept or discarded.
    • It is not recommended this option is kept on at all times, as the animation reports can be intrusive.
  • Any button: located between the next / previous animation paging buttons a the bottom of the floater, it will randomly select a pose from the current listed set (Walking, Standing, etc), and play it.
    • Clicking the Next or Previous buttons will resume stepping forward / back through the list of animations from the randomly selected animation.

Hover Height

This release of Kokua includes the hover height slider from Marine’s RLV viewer, with the release notes stating:

Rather than include the small button to reset it to 0.0 we have made the numerical value next to the slider writable allowing any value to be directly entered.

Additional Links

Firestorm 6.3.9: housekeeping matters

On Wednesday, May 27th, 2020, Firestorm released version 6.3.9.58205 of their viewer.

This release brings Firestorm up-to-date with all official viewer releases prior to the EEP update, and includes assorted updates and fixes from upstream of that release from the Lab, plus fixes and improvements from the Firestorm team, including a lot of OpenSim updates.

However, it should be noted that this release does not include EEP (Environmental Enhancement Project). As such, this is perhaps best seen as a maintenance release to prepare the way for a later EEP release.

As always, the focus is on those updates that may be of particular general interest, rather than trying to cover absolutely everything. Readers are referred to the release notes for a full list of updates / fixes and all associated credits.

Table of Contents

The Usual Before We Begin

As per my usual preamble:

  • There is no need to perform a clean install with this release if you do not wish to.
  • Do, however, make sure you back-up all your settings safely so you can restore them after installing 6.3.9.
  • Again, please refer to the Firestorm 6.3.9 release notes for details of specific Lab-derived fixes for this release.

Viewer Blocks

Note that with this release:

  • Firestorm versions 6.0.2 for Second Life and 6.0.2 for OpenSim will both be blocked from logging into the Second Life grid in three weeks time.
  • 6.0.2 for OpenSim will not be blocked from accessing OpenSim Grids.

Lab Derived Updates

The version of Firestorm brings the viewer to parity with the Linden Lab 6.3.8 code base. This means  Firestorm now includes all viewer releases up to and including the Ordered Shutdown updates, which should reduce the frequency of the viewer crashing on shut-down,  and the Premium enhancements viewer (version 6.3.8.538264), which includes updates specifically for Premium Plus relating to fees, etc, and which may appear in places in the viewer. However, with regards to the latter, it is important to note that:

Firestorm Updates

Client AO Updates

Firestorm 6.3.9.580205 includes a number of updates / fixes for the client-side AO system, including:

  • AO floater should no longer appear empty if open on logging-in to the viewer (see FIRE-29192).
  • The AO should now be more robust when in or leaving Linden Water:
    • A swim animation should no longer play when leaving Linden Water; avatar should transition to flying animation (see: FIRE-6605 / FIRE-8099).
    • The flying hover animation (for included in an AO) should no longer play when pausing swimming when underwater (see FIRE-15350).
  • Transitions between animations should now be far smoother, as double start / stops should no longer occur.
  • Animations should not longer stick on cycling (particularly sits / ground sits) See: FIRE-14925.
  • Additional fixes for sitting, smart sit and region crossings:
    • After sitting, disabling the client AO should not longer place your avatar in a default standing pose whilst still seated (see FIRE-15059).
    • Turning on the AO sits should no longer fail to turn off the sit animation when standing once more (see FIRE-16230 / FIRE-22471).
  • Tabbing out of the AO name field should set the AO name if newly edited  – no need to press ENTER to apply the new name (see FIRE-29078).
  • The Default check box should no longer become active when the currently-open AO set is already the default for an avatar (see FIRE-29101).

Menu and Preferences Updates

Avatar menu → Avatar Health → Scripts:

  • Clicking on the help icon (“?”) in the top-right of the scripts floater now correctly opens the Firestorm wiki page about the floater, rather than the Script Information help page dealing with in-world object script information.

Build → Upload:

  • Misleading “lossless” check box removed from image upload floater (see: BUG-228331).

Preferences → Colours:

  • Pick Radius has been updated to read Pick Radius Colour, to make the option’s function clearer.
  • Both the Pick Radius Colour swatch and distance / opacity slider now have tool tips to explain their functions.
Mini-map updates: Renamed Pick Radius option (1) and new tool tips for colour picker and the distance / opacity slider (2 – with the colour swatch tool tip shown)

Preferences → User Interface → 2D Overlay:

  • The Group Notices and Chiclets in Top Right check box has been replaced by radio buttons offering a choice of top or bottom right to display group notices and chiclets (changing location still requires a viewer restart to take effect).
New radio buttons to define the location for displaying group notices and chiclets

Appearance Updates

  • Jellydolls: if an avatar is Jellydolled even though the avatar is below your Maximum Complexity setting, it is because the avatar’s texture area is above the maximum texture area limit (set via the RenderAutoMuteSurfaceAreaLimit Debug setting). Firestorm will therefore display their “Texture Area” number in red in their name tag (see FIRE-23495).
  • Inspect Own Attachments: a new option to inspect your own attachments has been added to the avatar right-click context menu / pie menu. Presents the same information as inspect attachments on other avatars. (see FIRE-23987).
You can now inspect attachments on your own avatar as well as on other avatars / inspect in-world objects
  • It should now be possible to detach temporary attachments from Appearance → Wearing tab.
  • It should now be no longer possible to wear more than one physics layer.

Inventory Updates

  • Protected Folders: a new option to prevent accidental drag / drop or deletion of inventory folders.
    • Right-click on an inventory folder and select Protect from the context menu.
    • Folder is now protected, and will display “(protected) alongside it.
    • Select the folder, right-click and select Unprotect to remove protection.
    • All protected folders in inventory can be summarised in the Protected Folders floater (Avatar Protected Folders).
    • Double clicking on a folder name in the Protected Folders floater will automatically highlight it in Inventory, allowing you to quickly locate any protected folder.
    • Note: sub-folders and objects in a Protected folder can still be deleted or drag / dropped.
The Protect (/Unprotect) folder option in the inventory context menu (l), and the Protect Folders floater (r)
  • Uploading an image or saving a snapshot should no longer cause Inventory to jump from the recent tab jumps to the main tab (see: FIRE-22943 and BUG-225229).
  • It should now be possible to copy / paste into outfits folders in inventory.
  • Possible fix for attachments randomly ending up in inventory Lost & Found folder. This hopefully fixes FIRE-23364 and BUG-228813.
  • The outmoded Merchant Outbox system folder should now be deletable with this release.

Continue reading “Firestorm 6.3.9: housekeeping matters”

Kirsten’s Viewer gains the client-side AO

On May 2nd, I wrote about the return of Kirsten’s Viewer and its return to active duty. In that review I noted that while what goes into a viewer is down to those who maintain it, it would be nice to see Kirsten’s adopt the client-side AO mechanism, as first seen in the Firestorm viewer.

Following that review, KirstenLee’s partner, Dawny Daviau let me know the AO system was being considered and then, just a couple of days later, she Tweeted that the viewer had been updated with the AO code.

Even as an inside joke, I was flattered that KirstenLee had responded so rapidly to both Dawny’s prompting and my comment.

Dawny’s Tweet

I understand from KirstenLee’s own comments that getting the AO code into the viewer wasn’t easy, what with the UI changes created by EEP – so kudos and thanks got to KirstenLee and Dawny for going ahead and integrating it. Given it did take a little crowbarring, it’s not surprising that the AO floater has a couple of minor of rough edges to it – but these do not prevent it from being used or cannot be easily fixed.

For those unfamiliar with the idea of a client-side AO, it allows the animations from an animation overrider system to run directly from the viewer without the need to wear a resource-gabbing scripted HUD. It takes a little setting-up, but once done, it’s easy to use – and has the further benefit of allowing you to use multiple AOs together without having to worry about swapping HUDS or including different outfit links to different HUDs.

Quick guide to the essentials of the client-side AO as included in Kirstens Viewer

The best place to get information on setting-up and using the client-side AO is via the Firestorm wiki. A couple of points should be noted here:

  • When first loaded, the AO floater may not display all of the AOs in its floater (e.g. all your stands might be listed, but none of your walks). If this happens, click the Reload button at the bottom of the AO floater to get them to list and run.
  • The UI scaling in the floater is a little off in this S23-1387 KV iteration, so it my need to be broadened to correctly display.

Neither of the above points impact the AO’s usability, and in my own tests, I had no issues with setting it up and using it.

Also note that the AO will create a folder called #Kirstens in your invention, which will contain a copy of the AO(s) you have selected for client-side use – do not delete this folder when using the capability!

As a long-time user of client-side AO capabilities (including loading it with more than one AO set), I’m clearly a fan of the capability. I like the freedom it gives, and the fact there’s no need to have screen real estate (however small) taken up by a HUD and, more particularly, the fact that texture RAM and script resources needn’t be taken up by the use of a HUD. So while this might be a “small” update, I think it to be worthwhile and – if you’re trying out Kirsten’s Viewer and haven’t used a viewer-side AO system, this is a good opportunity to try it out.

For those who do use the client-side AO, and might be looking to an alternative to (say) Firestorm for photography, the addition of the AO button and floater offers another reason for giving Kirsten’s Viewer a try out.

My thanks again to KirstenLee for responding to the request from Dawny and I!

Related Links

Kirsten’s viewer: a return to active duty

Around a decade ago, a popular third party viewer (TPV) among Second Life photographers was Kirsten’s viewer, produced by KirstenLee Cinquetti (aka skilled coder Lee Quick).

At the time, it pushed hard to make the graphical appearance of SL rich and deep. It was also the first TPV to experiment with analgyph 3D, far back in 2011, long before “VR headset” was in common use.

Sadly, development of the viewer drew to a close in late 2011 as a result of personal circumstance (some of which is charted in these pages), although KirstenLee kept dabbling with it on-and off (such as returning to the S19 UI version and updating it in in 2013, and keeping pace with significant viewer updates from the Lab, such as Bento for the S22.x (current UI) version in 2017).  Now – and as pointed out to me by Austin Tate – the viewer is more formally back, KirstenLee having completed the self-certification required to have the viewer once more added to the Lab’s Third Party Viewer Directory.

Available for Windows, the updated Kirsten’s Viewer is bang-slap up-to-date, in that it is built on the most recent release of the official LL code base (release 6.4.0.540188 at the time of writing), and so includes the viewer 3.x+ UI, and all significant updates from the Lab up to and including EEP, the Environment Enhancement Project, although as Kirsten noted with it’s release, some tweaks might still be required.

Kirsten’s Viewer is EEP capable

KirstenLee refers to the viewer as something of a “hybrid”, and when approaching it, it is as well to keep this in mind. “Hybrid” is this case is a reference to the fact that while it is based on the core LL code base, the viewer also pulls in elements from what might be LL project viewers (and so not necessarily ready for “prime time” use), and from other TPVs. In doing so, the focus is very much on code that improves stability / performance.

I tend as a rule to keep any feature or alteration within the existing code base and not add extras which cannot be integrated into the standard source. I also use LL code style and naming conventions.

– KirstenLee, discussing Kirsten’s Viewer

In this regard, the viewer is also described as being “aimed specifically at experienced users, with emphasis on the visuals.” This is not so much to put people off, but to underline the fact that use of the viewer comes best if you have an understanding of the more esoteric aspects of viewer use – such as clearing caches and settings from any prior versions when installing a new version (aka, performing a “clean install”). Such capabilities are not hard to grasp, and can be found documented in various locations.

Given the S23.x release is based on the latest LL code base, you can comfortably expect all of the major Lab updates to be present, as noted, and may from time-to-time include elements from upstream of the release viewer (as with the Legacy Profiles, again as mentioned above). It also pulls some updates from TPVs like Firestorm; however, those familiar with the latter should not expect Kirsten’s Viewer to expose debugs or offer viewer-specific capabilities to anywhere near the same degree – that’s not the point of this viewer (although that said, it would be nice to see Kirsten’s adopt the client-side AO mechanisms, simply because it is available in several TPVs and used by many people as a result).

Kirsten’s Viewer includes the upcoming re-integration of viewer-based profile panels – which includes the profile feed from the web, and currently found in the Lab’s current Legacy Profiles project viewer

Given this, the viewer’s Preferences and Tool Bar options are pretty must as found in the official viewer, with just a trio of differences in the the former. The Move & View tab, for example, includes additional sliders for camera movement  – lag, smoothness zoom time – again in keeping with the ideals of photography / visuals. Further, the Set-up tab does not include the auto update options, for reasons KirstenLee also explains:

I do not use the Linden auto build system. I host all the build libraries because I occasionally work on those in concert with the viewer code. It allows for much finer control over the entire process. I have a tendency to do custom compilations with different tool-sets which is something an official client would never do, for reasons of the broadest compatibility with the consumer.

– Kirstenlee, discussing Kirsten’s Viewer

Thirdly, Kirsten’s Viewer includes a custom Features tab (called S23 Features in the current release, although this will doubtless increment to match future versions). This is again camera / visuals related, and includes the option for running the viewer in analgyph mode can be found.  This includes sliders for adjusting the analgyph 3D view to account for eye separation and focal distance.

The Features tab in Kirsten’s Viewer is where you can find the analgyph options, for those with analgyph glasses

Should you have analgyph 3D glasses and use the option, the following points should be noted:

  • Activating it will disable the viewer’s Advance Lighting Model (ALM) shaders – so shadows, ambient occlusion and depth of field will all be disabled.
  • Toggling analgyph mode off will not automatically re-enabled ALM, you must do this yourself from the Graphics→Advanced Settings floater.
  • If you log-out with the analgyph option enabled, it will be disabled automatically on logging back in, but again, ALM + options will remain disabled until turned back on.
  • If you use a 3D mouse such as SpaceNavigator, you may find activating the analgyph capability will severely alter default 3D mouse movement. As the overall defaults for the SpaceNavigator (Move & View→Other Devices) were not altered and given I don’t actually have analgyph glasses to make it worthwhile, I confess I did not fiddle with settings to see if the issue could be corrected.

It may seem odd in “bringing back” a viewer after so long, but there are reasons for it, again as KirstenLee notes:

Its a matter of public record as to how development ended, a perfect storm of circumstances made continued work on it impossible. But as with all things time is a great healer. Besides after nearly 16 years of SL I find myself enjoying my in world life. And have the luxury of  a good work balance and a happy and healthy home. So while the sun shines make hay 🙂

For my part, and while I’ve not not driven the S23 release hard or far, I can only say its good to see Kirsten’s Viewer back on the active list once more. While it was never my main viewer, it was a go-to viewer for me for photography. And while it may only be subjective, it does seems to add more depth to EEP skies than I’ve noted with the official EEP viewer – the stars seem to “twinkle” more noticeably.

It’s always tempting to offer a list of what a viewer “could” or “should” have, particularly if coming from something like Firestorm – but the point of TPVs are that they are not meant to all provide the same things. With its emphasis on visuals, performance and stability, Kirsten’s Viewer addresses a specific set of goals and as such, has – and likely will have – only the tools it needs to achieve that, my own earlier comment on the client-side AO above notwithstanding.  As such, I’m looking forward to seeing the viewer’s progress, and reporting on it.

Related Links