Updates for the week ending: Sunday May 11th, 2014
This summary is published every Monday and is a list of SL viewer / client releases (official and TPV) made during the previous week. When reading it, please note:
It is based on my Current Viewer Releases Page, a list of all Second Life viewers and clients that are in popular use (and of which I am aware), and which are recognised as adhering to the TPV Policy. This page includes comprehensive links to download pages, blog notes, release notes, etc., as well as links to any / all reviews of specific viewers / clients made within this blog
By its nature, this summary presented here will always be in arrears, please refer to the Current Viewer Release Page for more up-to-date information
Official LL Viewers
Current viewer release: update to version 3.7.7.289461 (formerly the Interest list RC – improvements to how the viewer and server work together to know what scene objects to draw) on May 6th (download page, release notes)
Catznip updated to version R9 on May 9th – core updates: CHUI integration, materials processing support, initial overhaul of Preferences floater; improved camera / movement floaters; profile display updates; bug fixes; and more (release notes) – review here
Firestorm updated to version 4.6.5.40833 on May 11th – core updates: Vivox 4.6.x; FmodEx updates & fixes; Fitted Mesh fixes; Mac Cocoa fixes; OpenSim updates; building & scripting updates; communications updates and fixes; bug fixes; and more (release notes) – review here
V1-style
Cool VL viewer updated on May 10th, as follows: Stable: version 1.26.12.0; Legacy: version 1.26.8.58 – core updates: please refer to the release notes (downloads)
Mobile / Other Clients
Lumiya updated to version 2.6.0 on May 9th – core updates: Fitted Mesh support; Request Teleport; Support for selecting avatars in 3D by touch; significant 3D performance improvements; reduced memory footprint; improved bandwidth usage (release notes) – review here
On Sunday May 11th, the Firestorm team released Firestorm 4.6.5.40833. Given this release comes just two months after the 4.6.1 release, it does not have a huge raft of new shiny. What it does offer is a nice package of new features and updates, together with a fair few bug fixes from both the Lab and the Firestorm team.
As always, the complete list of changes, together with attributions, can be found in the release notes, and I refer readers to that document for specifics on all contributors, FIRE JIRA links, etc. The following is intended as an overview of some of the more major / interesting changes, updates and fixes to be found in the release.
The Before We Begin Notes
Downloading – a reminder: while the Firestorm download server performed perfectly for the 4.6.1 release, please remember it is the only server handling downloads. So in the unlikely event you encounter delays or a slow download, please be patient / consider re-trying a little later
Version blocking: Jessica informs me that there are no plans to block any older Firestorm versions following this release
Installation: as always, a completely clean install of the viewer is recommended.
Lab Updates
This release sees Firestorm reach parity with LL’s 3.7.4 code-base, and add a number of fixes and updates from the Lab, including (but not limited to):
Vivox 4.6.x updates
Advanced Lighting Model can no longer be enabled for Mac OSX 10.6.8 as Mac OSX 10.6.8 is no longer supported by Linden lab (The ability to enable ALM on 10.6.8 was removed because it caused rendering glitches when enabled)
Fix for huge amounts of memory being used & viewer crashing when opening large chat histories from the conversation log
Fix for BUG-5537, introduced as a result of changes made to the avatar_lad.xml for Fitted Mesh. These changes caused a non-rigged mesh attachment object worn on the chest attachment point shape to look fine in the wearer’s view whereas anyone else it would appear as if the wearer’s chest was showing through the clothing item
Fix for crash when editing certain rigged meshes at high altitude
Fix for crash when uploading corrupt .DAE file (BUG-4961)
Fix for BUG-997,terrain texture changes caused by changing texture elevation ranges or terraforming can not be seen until after relog or teleporting out and back to the region
Fix for a suspected thread race crasher in the FmodEx library.
A Note on Interest List Updates
The recent LL viewer-side interest list updates are not a part of the Firestorm 4.6.5 release. As noted elsewhere in this blog, the interest list code is a non-trivial merge due to the extent of changes included alongside of the core interest list updates. It’ll therefore take a little longer for this work to appear in Firestorm.
Building and Scripting Updates
Firestorm 4.6.5 see the Build options in Preferences revised, with two Build sub-tabs (Build 1 and Build 2) under Preferences > Firestorm.
The revised Build-1 sub-tab in Preferences > Firestorm
Build 1 (above) contains the options for setting defaults for all newly created prims (size, settings, texture, permissions and pivot point) and the LSL pre-processor options.
The Build 2 sub-tab contains the six check-boxes (Save Scripts Edited from Inventory to Mono, Save Textures from Inventory to Disk as PNG Instead of TGA by Default, etc, which had been in the previous Build sub-tab). It also contains four new options.
The new Build 2 sub-tab in Preferences > Firestorm
The new options are:
Limit select distance (meters) – disallows selection of objects beyond the specified selection distance from your avatar
Limit drag distance (meters) – when enabled, this limits the translation distance of objects in a single operation of the translate tool (metres from start point)
Constrain rotations to multiples of X degrees, when not using ‘snap to grid’ – all rotations via the rotation tool are constrained to multiples of this unit (degrees)
Preview animations on own avatar during upload – when enabled, you can preview animations during the upload process on your own avatar instead of on the avatar dummy in the upload window.
Firestorm 4.6.5 also includes the following build related items:
An option to prevent avatar from turning to selected object when editing (Preferences > Move & View > Firestorm > Turn Avatar Towards a Selected Object)
A fix so that when previewing an animation for uploading it (in paused mode), moving the track of the slider will now correctly change the displayed frame of the animation.
Communications Updates
There are a number of new options for communications with this release, together with a number of fixes. The new features include:
The new multiple voice instances option should enable you to run voice on multiple viewer instances on the same computer & without generating warnings like this
An option to allow voice to connect in multiple viewer instances simultaneously (Preferences > Sound and Media > Voice Settings), allowing you to run voice on multiple viewer instances, and without seeing the connection warning pop-up message (shown right)
An option to hear voice equally from everyone, rather than being dependent upon either avatar position or camera placement. This is a useful addition for meetings, etc., where attendees may be located at difference distances from your avatar / camera position, thus impacting voice quality when they are speaking.
The new voice options in Preferences > Sound and Media > Voice Settings
A new option has been added to enable the full profile of an avatar to be opened when clicking on an inspect SLurl (Preferences > Firestorm > General > Open Avatar Profile Directly When Clicking on its Name).
Catznip released version R9 of their popular v3 viewer on Friday May 9th, and marks their biggest single update so far. As the team move towards a shorter, faster release cycle, it is likely to be the last of the really big updates we see coming out of the door from the team. In the future, things are liable to appear in smaller and more focused releases.
The complete list of changes can be found in the release notes, and I refer readers to that document for a full list of updates and changes, and any necessary specifics on code contributed to the viewer (if applicable).
The following is intended as an overview of some of what I feel are the more major / interesting / visible changes to be found in the release.
Chat and CHUI
R9 sees Catznip get the best of CHUI and extras from the Catznip team that should help to present users with a chat / IM conversations.
Catznip R9 chat takes the best of CHUI and adds Catznip’s own tweaks, and the return of popular elements
One of the more noticeable elements is the ability to range tabs either vertically or horizontally. Given that many people do appreciate chiclets, considerable effort has been put into restoring the chiclets following the inclusion of the CHUI code.
Given the extent of the updates resulting from the CHUI merge and the team’s efforts to present a flexible, friend chat UI, Preferences > Chat has been extensively updated.
Preferences > Chat has been revised with expanded options for managing all aspects of chat and IMs
These changes are apparent from the moment Preferences > Chat is opened, with six new sub-tabs appearing in the panel. Three of these – Translation, Auto-Replace and Spell Checking – replace the button which access these options in earlier releases. The remaining three tabs – Chat, IM & Groups and Logging – are entirely new to this release, and all include options for configuring chat and IM notifications, behaviour, appearance, and more (some of which have been inherited from the old Preferences > Catznip > Chat sub-tab, which has been removed from R9, being surplus to requirements).
The IM & Groups sub-tab helps with configuring chat / IM behaviour, appearance, etc.
Additionally, the spelling checker has been updated to support German, French, Italian and Polish.
Building Updates
Perhaps the most obvious change to Catznip R9 is the arrival of Materials Processing. However, there are other updates as well, including:
Windows only:
Drag-and-drop textures directly onto a prim face using local textures as the backing store
Drag-and-drop uploading of textures
Added a “Selection Options” pop-out to thebuildfloater, grouping all selection related viewer options and including:
Select Only Copyable Objects (also added to Build menu > Options)
Option to prevent turning towards a newly selected object
Option to prevent the avatar’s arm from pointing at a newly selected object
Added copy/paste of the different types of texture parameters with three possible scenarios (always on a single object):
Copy all texture faces (which may or may not be identical) => pastes the texture data on matching selected faces
Copy one texture face => pastes the texture data on all selected faces
Copy several texture faces => pastes the texture data on matching selected faces
Added pipette for the different types of texture parameters.
The Build floater with Selections Options pop-out (l) and Materials (r)
Camera and Movement Floaters
The updated Camera and Movement floaters
Both the Camera and Movement floaters have been refined so they are transparent, rather than opaque, and are more compact. The Camera floater also has a revised layout.
A slider in Preferences > Colors allows you to adjust the level of transparency / opacity of both floaters.
Inventory Updates
This release sees a number of inventory related updates and changes, including:
A significant speed improvements when filtering inventory
Open in Inventory check box added to the Buy Contents floater + UI layout cleanup
Texture tooltip added for inventory items
Copy Outfit List to Clipboard is now available when right-clicking any outfit folders in your inventory
Option to clear the current inventory filter rather than create a new inventory floater when the shown item is currently filtered
Inventory will always show the “Received Items” folder if the inventory’s panel contents are filtered (with a non-default filter)
Empty system folders no longer hidden by default (Advanced > Debug setting DebugHideEmptySystemFolders set to FALSE)
New option to control how offered inventory is handled while marked as Do not Disturb
Pop up a chiclet as normal (default)
Auto-accept the offer
Auto-decline the offer.
Notecards / Scripts / Text editors
These see the following features added to the R9 release:
Recovery support for unsaved notecards (embedded items are not preserved)
Texture tool tips for embedded notecard items
Use the current selection (text, etc.) as the default search string
Highlighting of occurrences in the target editor when using the Search/Replace floater
New keyboard shortcuts to the script editor menu
F1 opens the LSL reference
Shift+F1 opens keyboard help
Ctrl+G opens the “Go to line” floater.
In addition, the following behaviours have been revised:
When you Go To a line in a script editor, at least three lines above/below the target line will now be visible
Case-insensitive search is now enabled by default for notecards, scripts and text editors.
Preferences
As well as the updates to the Chat tab, this release sees a number of other updates in Catznip’s Preferences which form a part of ongoing work to overhaul Preferences.
The Sound and Media tab has been completely overhauled, with new sub-tabs for volume controls and streaming, Sound Alerts, and Voice Chat.
The Sound Alerts sub-tab panel on the revised Sound and Media tab in Preferences
Update May 13th: Lumiya 2.6.1 is now available. This includes a fix to prevent the client crashing when rendering megaprims, improved mesh download speeds and reduced lage when walking.
Alina Lyvette announced the arrival of the latest release of Lumiya on Friday May 9th.
Version 2.6.0 marks the arrival of support for Fitted Mesh and some pretty impressive under-the-hood changes which greatly enhance Lumiya’s performance in the areas of memory use, bandwidth utilisation and 3D rendering – and I found the improvements really are noticeable.
Feature Updates
Fitted Mesh Rendering
The Fitted Mesh support is perhaps the most visible update in terms of new features. I only carried out a quick series of tests, but found the FM demos I had from back when testing the SL Fitted Mesh viewer (I’m ashamed to say I’ve still not actually started using any mesh clothing myself…) worked just fine when rendered by Lumiya.
Fitted Mesh on Lumiya: renders perfectly
I did experience slight issues with mesh clothing failing to render when worn, something I don’t remember occurring back when mesh support was first released. Should this happen, a quick fix seems to be hopping out of the 3D view and back again.
Request Teleport
Another feature update with this release is the Request Teleport option. This can be accessed by:
Selecting the person you wish to teleport to from your Friends list, or IM
Tapping the MORE option
Tapping Request Teleport. This opens the Request Teleport message screen where you can enter your request text (or leave blank, if you prefer). Tapping OK will close the message window and send the teleport request
If the request is accepted, you will receive a teleport offer, as per usual; if the request is declined, you will not receive any feedback (which is how Request Teleport is handled in the viewer and not a result of Lumiya failing to receive a notification).
Request Teleport: now in Lumiya
Avatar Interaction
Lumiya 2.6.0 makes it easier to interact with nearby avatars when in 3D view by applying a long touch to the centre of an avatar. This may take a little practice, but when used, will call-up a menu allowing you to initiate an IM session with that avatar, examine them, etc.
Using a long touch or the Drag to Select option on a nearby avatar will allow you to ineract with them via the displayed menu bar
If you have problems using the long touch method when selecting an avatar, don’t forget you can also use the Drag To Select option in the top left corner of the 3D view and drag that down to point to the avatar in question.
Under-the-Hood
The under-the-hood changes in 2.6.0 range from fixes for known crash issues through to better support for transparency in the 3D world view and new notification sounds (courtesy of Lhasa Mencur) to some really quite significant performance improvements.
The latter include a reduced memory footprint together with much improved bandwidth usage, both of which see Lumiya operate a lot more smoothly (not that it was ever particularly clunky). Much has been done to the 3D rendering performance and management as well.Also these combined mean it should be much easier to run Lumiya on lower-end system, and for those on high-end devices, to have more of the bells and whistles turned on. In my case, for example, these improvements make it a lot easier to run with High Quality Textures enabled by default on my Nexus 2013 HD.
Feedback
Lumiya has always offered tremendous value for accessing Second Life while on-the-go with a suitable Android device. Even allowing for trying to maintain compatibility with older versions of Android, Alina consistently pulls-off some impressive miracles with the client, and 2.6.0 more than demonstrates this. While the added features may seem minimal (even though mesh support represents considerable work itself), the performance improvements evident in this release are astonishing.
Obviously, with a fairly high-end Android device running Android KitKat and a quad-core Qualcomm Snapdragon™ S4 Pro, 1.5 GHz / Adreno 320, 400 MHz combination, I stand to benefit the most from the improvements in rendering, but even so, on my old Samsung Galaxy S2 with Android 4.1 Jellybean and Dual-core 1.2 GHz Cortex-A9 / Mali-400 combination, things were still noticeably faster.
For those who require access to OpenSim and are Android users with a decent CPU / GPU combination and a reason screen size, Lumiya stands head-and-shoulder above the rest. For those wanting mobile access to Second Life and have limited screen size, it also beats SL Go hands-down in terms of convenience of use, even if it lacks the full rendering capabilities of the latter.
A TPV developer meeting took place on Friday May 9th. The core items discussed in the meeting are reported below, with timestamps in the relevant paragraphs indicating the point at they are discussed in the video embedded here. My thanks as always to North for the latter.
SL Viewer Status
[00:35] As noted in part one of this week’s updates report, the de facto viewer was updated on Tuesday May 5th with the promotion of the Interest List viewer (version 3.7.7.289461). The viewer contains what’s being referred to as a number of “non-trivial” merges, as the team responsible for the viewer took the opportunity to clean-up “a lot of old and unpleasant code”, and this “touched on a lot of things”. As such, it may be a while before this code filters into all TPVs.
[01:27] On Thursday May 8th, the SL Share-2 RC updated to version 3.7.8.289775 (download and release notes). This viewer includes the ability to upload Tweets and snapshots to Twitter and / or snapshots to Flickr, and to use pre-set filters on images being uploaded to either service and / or to Facebook, and to create your own filters.
The remaining viewers in the release channel (Sunshine / AIS and the Maintenance viewer) and the Zipper project viewer will be updated in week 20.
[02:11] There are two or three other viewers which are expected to be appearing in the near future. One of these contains a number of Snowstorm contributions (such as STORM-1831, currently awaiting two minor bug fixes), Baker Linden’s group ban work should be generating a viewer soon (see below for more), and there is a viewer which contains a series of memory leak fixes which is currently in QA.
Group Ban List
[03:40] Baker reports he has two “major” bugs and three or four “minor” bugs still to deal with; however, it doesn’t appear is if these are going to stop the viewer arriving as a project viewer. As noted in part two of this week’s report, the repository for the code has already been made public, and TPVs have been invited to pull code from the repository if they’re in a position to do so (the group ban viewer is built to LL’s 3.7.8 code base).
Obviously, and again as noted in part two of this report, the code will not be usable on the main grid until such time as the server-side changes have been deployed, and this isn’t likely to happen for a couple of weeks or so, so don’t expect it to be appearing in release versions of any viewers for a while.
The server-side code is available on a channel on Aditi (DRTSIM-234 14.05.05.289712 – which includes the Morris region where the Server Beta meeting is held and now includes the BUG-5929 fix), and there may be a grid-wide Aditi deployment of the server-side code. If this is the case, it will likely be confirmed via a Server Beta group meeting.
One aspect that has not been looked into as yet is ensuring that when someone is ejected / banned from a group, they are also ejected from group chat. Currently, due to the way the back-end services operate, if someone has the group chat window open when they are ejected from a group, they can continue to chat / spam into the group chat up until the point where they close the window. Commenting on this, and given that Simon Linden has been working on the chat service, Baker has indicated that he’ll look into things with Simon and see if this problem cannot be resolved.
Leap Motion Integration
[12:18] In November 2013, Leap Motion approached Linden Lab about integrating their gesture controller into the view. Due to the amount of work the Lab had on its plate, the work was handed-off to TPV, with members of the Firestorm team working with Leap Motion to get things integrated.
Since that time, the work has been subject to a number of hiccups – including the need for Leap Motion to update their software. As it stands, the work is slightly stalled as the Firestorm team no longer have the resources needed for the work, so a call has gone out to TPV developers who are willing to take a lead in bringing this work to fruition.
Third-party Library Work (Webkit et al)
[26:14] Monty Linden is continuing his work in cleaning-up the third-party libraries used within the viewer build process. This work has been focused of late on Webkit, which is used for a number of tasks, such as powering the built-in web browser and to display profiles, and is used with Media on a Prim (MOAP) and many in-world televisions. However, Monty has more recently been working on the COLLADA DOM library as a means of “taking a break” from Webkit. He describes this as the “last big one” on his list.
Despite still having to finish-up with Webkit, Monty is already in a position of being able to use a windows version of the viewer which makes use of his updated and cleaned-up libraries, although he emphasises the work is not ready to enter prime-time use as yet.
As noted in part one of this report, the group chat updates were deployed to the back-end chat servers on Monday May 5th. The changes to group chat should be subtle, and may not be observable to many. Additional analytics are included in the code, which should provide further pointers on what else may need addressing going forward.
Group Ban Lists
Obligatory Baker Linden shot 🙂
Baker Linden’s work on adding the ability to ban troublemakers / spammers, etc., from groups with open enrollment is now getting relatively close to becoming available.
Baker has recently closed what is believed to be the last of the server-side issues, BUG-5929. This meant that if the name of the group owner was accidentally added to a list of people to be banned from a group, the ban process would fail, with no-one in the list either being added to the ban list or banned from the group (although other than the group owner, anyone selected for banning would be ejected from the group).
The expected behaviour would be for all those named (other than the group owner) to be added to the ban list, with those who were already members of the group also being ejected and banned. Baker’s fix is to ensure this is now the case, and it should be available shortly on Aditi for testing (channel DRTSIM-234 14.05.05.289712 – which includes the Morris region where the Server Beta meeting is held).
Viewer-wise, a project viewer with the new code is expected to appear very shortly (it was running through the build process during the Server Beta meeting on Thursday May 8th). This should be added to the Alternative Viewers wiki page when available. The repository for the code has now been made public, so TPVs can start looking at it – but again, given the status of the viewer as a project release, don’t expect the code to immediately start popping-up in TPVs.
HOWEVER, it may be a while before the new group ban functionality can be used on the main grid, as there is an initial back-end host code update required prior to anything being deployed to any simulator channel. According to Maestro Linden, the Lab will likely want to run those updates for a week to check for any unexpected regressions prior to putting any simulators on a group ban RC.
In the meantime, the group ban capabilities can be tested on Aditi either using the project viewer (when available) or the existing test viewer.
Other Items
“Welcome to the Hotel California” – BUG-5961
Trying to leave a group with a large membership list can prove problematic if the membership list takes time to load
An old issue recently came to light once more with BUG-5961 (originally entitled “I cannot leave a group that I joined”, but with the description subsequently updated by Maestro to “Viewer attempts full fetch of member list before allowing user to leave group” in order to better reflect his findings following investigation).
It’s not actually clear if this is a one-off situation, or possibly more widespread, as the bug report is specific to the group “Akeyo”.
However, Maestro’s thinking is that the problem is linked to the download of the membership list, which even with the Group Services fixes introduced in late 2012, can still take time to complete with some larger groups.
Essentially, you cannot leave a group until the membership list has been loaded, as the viewer must check to ensure that when leaving, you’re not the last owner of the group. Should the membership list take time to download, this can lead to a temptation to click the Leave button again, causing the download to start-over, resulting in the list not loading, thus preventing you from leaving it (hence the Hotel California quip, which I admit I stole from Maestro!).
The Lab is looking into this issue further, although it may be a while before any resolution is found. One workaround in the meantime is to run a client such as Radegast, which handles groups slightly differently to the viewer, and use that to leave the offending group.
Restore to Last Position
Restore to Last position was a popular feature which allowed anyone to take content to inventory and then re-rez it later at the same position. While there were issues with the capability (such as using it to rez an object in a different region, with a different topology to the one where it was originally taken back to inventory resutling in an object to “vanish”, as it rezzed underground or something), it was broadly seen as beneficial.
However, it was also subject to exploitation, which is why the server-side behaviour for it was changed by the Lab some time ago such that the function will only work if you have rezzing rights at 0,0,0 in a region. If you do not, any attempt to use Restore to Last Position will fail with a notification that you don’t have the required rezzing permissions. The viewer-side code for the capability was also removed from the SL viewer, although TPVs have retained it.
A further issue with the capability has been with No Copy objects. If Restore to Last Position is used on these when the user doesn’t have rezzing rights at 0.0.0 in a region, they not only fail to rez – they also vanish from inventory, requiring a relog in order to get them listed again.
However, BUG-5955 “Restore to Last Position (used only by TPVs) causes content loss” highlights a problem where at least one type of No Copy object can be permanently lost from inventory if Restore to Last Position is used even in a region where the user has rezzing permissions at 0,0,0. Not even a subsequent re-log sees the item reappear in inventory.
Given the unpredictable nature of Restore to Last Position, the Lab is considering removing or blocking all support for it viewer-side until such time as a fix for issues can be found / it can be made to work more predictably in all cases.
As an alternative, and given the function’s popularity, it has been suggested a restriction preventing its use on No Copy objects should be implemented. The Lab may be taking this under consideration. This is the option Firestorm have indicated that they intend to implement with their upcoming release (which may as a result be delayed until the code is implemented and tested).