2018 SL UG updates #9/2: TPV Developer Meeting

Cece's Secret; Inara Pey, January 2018, on Flickr Cece’s Secretblog post

The following notes are taken from the TPV Developer meeting held on Friday, March 2nd 2018. A video of the meeting is embedded below, my thanks as always to North for recording and providing it. Time stamps in the text below will open the video in a new tab at the relevant point of discussion. Not this was a foreshortened meeting (20 minutes), with some lengthy periods of silence.

SL Viewers

[1:27-2:53]

  • The Nalewka Maintenance RC viewer, version 5.1.2.512803 (dated February 23rd) was promoted to de facto release status on Thursday, March 1st, 2018.
  • The Love Me Render RC viewer updated to version 5.1.3.513005 on Friday, March 2nd, which incorporates KDU and other security improves and (I believe) brings it to parity with the new release viewer.

All other official viewers in the pipe remain as per the start of the week:

  • Release channel cohorts:
    • Media Update RC viewer, version 5.1.2.512574, February 15.
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer, version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

An update to the Media update RC is anticipated to bring it to parity with the new release viewer, and a new update to the 360-snapshot viewer is also anticipated, which hopefully addresses the fuzziness / resolution issues inherent in the current version (see my hands-on overview – link above – for more on this).

Upcoming Viewers

Maintenance Viewer

[3:00-3:09] A new Maintenance RC view should be appearing in week #10 (week commencing Monday, March 5th, 2018).

Bakes on Mesh Project Viewer

[3:10-4:30] A Bakes on Mesh project viewer, suitable for use with Bakes on Mesh test regions on Aditi is with th Lab’s QA team, and may be appearing in week #10.

Bakes on Mesh is a project to extend the current avatar baking service to allow wearable textures (skins, tattoos, clothing) to be applied directly to mesh bodies as well as system avatars. It does so by allowing the faces on a mesh body / head to be defined in terms that the Baking Service can understand, allowing system layers to be applied to those faces, using 1024×1024 textures (rather than the 512×512 currently used by the Baking Service).

It’s important to note that the project viewer (with simulator-side support) is only the first phase of this project (essentially providing the 1024×1024 texture support), and there will still be much more to be done after the project viewer has been made available. Please refer to my Bakes on Mesh updates, which form a part of my weekly Content Creation User Group updates, for more specific information on this project.

Animesh Update

[7:56-9:06 – with audio break-up] The current focus remains:

  • Viewer-side bug fixes.
  • Performance profiling for Animesh complexity and LI costs.

The next step is to deploy updated simulator code in support of the limits so it can be put to the test.

DDoS Attack

[10:38-11:00] Some have experienced audio stream issues since the widespread amplified,UDP-based Distributed Denial of Service (DDoS) attack against memcached servers which took place across the Internet on Monday, February 26th / Tuesday, February 27th (memcached is a distributed memory caching system and is used to speed up dynamic database-driven websites and Internet-facing services by caching data and objects in RAM). As audio streams is handled by separate services (e.g. Shoutcast). It is possible they may have been suffering after-effects of the attack.

[11:05-11:56] The Lab has little to add to the blog post published by April Linden on the situation, other than they continue to harden systems and services. Overall, Second Life can come under frequent DDoS attack, but it myriad of parts are generally robust enough to withstand such attacks without them reaching the point of impacting users.

Off-Line IM Delivery Failures on Logging-in

[5:10-7:00] A project has been initiated to try to resolve problems with the viewer failing to receive all off-line IMs when a use logs in.

The cause appears to be that when a user logs-in, the simulator floods the viewer with UDP messages for the off-line IMs either before the viewer is ready to handle them, or as such a rate, messages are dropped.

To correct this, the Lab is making an API change in the simulator “in the next couple of weeks” and will be introducing a new viewer cap. Together, these will allow the viewer to indicate when it is ready to receive and handle off-line IMs, and ensure that the simulator correctly packages the messages for delivery, rather than simply sending a flood of items to the viewer.

These updates will hopefully be made available in a manner which allows TPVs to merge them relatively easily, rather than forming one part of a huge number of changes to the viewer.

In Brief

  • [4:35-4:53] Viewer Texture Memory Use: the Lab still plans to look at the question of texture memory use within the viewer, although it is noted this is turning into a “bit of a minefield”.
  • [12:02-13:05] Dullahan Linux: there have been requests for the Lab to provide a Linux Dulllahan build of the viewer (see this repository). Callum Linden has confirmed he’ll try to put further work into this before moving on to a new project, to at least leave it in a state others with more knowledge of Linux might be able to use.
  • [15:35-15:48] Disabling UDP inventory messaging: this is still being targeted for summer 2018, but there is currently no confirmed date.

2018 SL UG updates #7/3: TPV and Web Meetings

Neverfar; Inara Pey, January 2018, on FlickrNeverfarblog post

The following notes are taken from the TPV Developer meeting and the Web User Group meeting, both held on Friday, February 16th 2018. A video of the TPVD meeting is embedded below, my thanks as always to North for recording and providing it. Time stamps in the text below will open the video in a new tab at the relevant point of discussion.

SL Viewer

[0:55-3:02] The Media Update RC viewer version updated to version 5.1.2.512574 on February 15th, and the Nalewka Maintenance viewer updated to version 5.1.2.512522 on February 14th, bringing both into line with the current release viewer (currently version 5.1.1.512121, at the time of writing, formerly the Voice RC viewer).

The rest of the SL viewer pipeline remains as:

  • Current Release version  5.1.1.512121, dated January 26, promoted February 7 – formerly the Voice Maintenance RC.
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Note that the voice package in the SL release viewer will not work with older versions of the viewer. A further voice SDK update for Mac systems is also due from Vivox.

Updates should be forthcoming soon on the Animesh and 360-snapshot viewer.

Viewer with 1024 Support for Avatar Textures

[4:33-7:05] A project viewer for handling 1024×1024 wearables should be appearing “soon”, as a prelude to the Bakes on Mesh project (see my Content Creation User Group (CCUG) updates for more on this project). This will have an impact on the avatar rendering cost for system avatars making use of 1024×1024 textures and wearables.

Linux and the Viewer

Also see week #50 2017 and #week 46 2017 TPVD updates.

The goal for a Linux flavour of the viewer is for the Lab to provide a basic Debian build of the viewer, without additional libraries so as to allow TPVs to add the dependencies they require for their flavour of Linux build. Once this has been achieved – with the help of open-source contributions – the Lab will then maintain the Linux build, with the caveat that it will only be subject to cursory QA, and will continue to look to the Linux community for contributed updates and fixes.

[15:44-20:40] The repository for Linux contributions is awaiting update to the current viewer release and needs to be publicly made available. A skeleton build process of the Debian package is available, but again has yet to be made visible.Both of these should happen in the next few weeks.

Several of the libraries which will be used in the build are seen as “problematic” and requiring patches, etc.Until this work has been done, the Lab can’t supply the build process.

One of the problems in seeking contributions is that Linux developers appear to be in short supply – the Lab doesn’t have any Linux resource in-house for the viewer, and some TPVs are finding it similarly difficult to find a resource they can use, and who can provide contributions to the Lab. The flip side of this is the Lab is not seeking contributions that provide a “complete” solution for a Linux build; they would rather people work on specific aspects of the viewer, the only criteria being that:

  • Contributions are in line with the Lab supporting a basic Debian package build process.
  • Contributions do not require changes to the build process which could break the Windows or Mac build process.

Project ARCtan

Note: some of the following also appears in my week #7 CCUG meeting update.

[12:01-15:40 and 24:55-28:23] Project Arctan is the code-name for the project to re-evaluate object and avatar rendering costs, and hopefully make them more reflective of the actual cost of rendering objects and avatars and also remove some of disincentives for making optimised content.

  • This work is still in its preliminary stages, focusing on how best to gather the required data.
  • For avatar complexity, it will include evaluating the cost of avatars and their attachments (tri counts, textures, use of alpha layers, skeletal animations used, etc), with a view to adjusting the avatar rendering cost weightings – with the caveat that even when made more reflective of the actual cost of avatar rendering, people will still see some variation in the ARC information displayed by their viewer as a result of using different GPU cards, and how well different cards handle things like alpha masking and / or alpha blending.
  • For Land Impact: LI will be scrutinised as well, to take into consideration texture cost. However, as LI changes could be disruptive (e.g. unexpected objects returns), any new LI calculations will be run alongside the current calculations, to allow LL gather data on if and  how many parcels will be pushed over their LI capacity were the new calculations to be applied (and thus force object returns) and by how much. They then might increase region land capacity to compensate as far as possible. Then, for those who still exceed their limit, there will be a period of grace when they can consolidate and bring their LI use within the limit of the revised calculations before the latter are enforced.

As Animesh will likely be released before Project Arctan is complete, this means Animesh will be released with an initial land impact calculation assigned to it for objects, which may then be revised once Arctan is finalised.

Project Arctan – Oz and Vir Linden discuss (CCUG and TPVD meetings)

Note again: this work is just re-starting, and there will be no immediate or sudden changes made to either ARC or Land Impact.

Other TPVD Items In Brief

Deprecating UDP Messaging for Asset Fetching And Further Inventory Improvements

[7:24-11:05] The Lab is looking to remove the remaining UDP code for all assets now fetched via HTTP and the CDNs from the simulator code, most likely in the June-August time frame. Once this has happened, any old viewer versions not using the latest HTTP asset fetching code will be unable to retrieve inventory assets.   A version of the updated simulator code will be made available on Aditi, likely in the spring of 2018, so TPVs can double-check asset fetching.

A further general clean-up of inventory messaging should follow this work to improve inventory handling and robustness. This will include a clean-up on UDP inventory management paths and the remove of multiple ways of manipulating inventor, and may be a multi-round effort of work.

Abuse Reporting Capability

[39:30-42:26] A new cap is being introduced to the viewer to return the currently accepted Abuse Report categories. This is a change, once available, TPV well be asked to adopt quickly, as it should help smooth the initial triaging of ARs, by reducing the amount of time spent trying to marry old / no longer valid AR categories with valid options, etc. (or risking ARs being closed on account of a filing that appears non-actionable).  For information on how ARs are handled and should be filed, please see: Raising Abuse Reports in Second Life.

Web User Group

The following notes are taken from the Web User Group meeting held on Friday, February 16th, 2018. These meetings are chaired by Alexa and Grumpity Linden at Alexa’s barn. The focus is the Lab’s web properties, which include the Second Life website (including the blogs, Destination Guide, Maps, Search, the Knowledge base, etc.), Place Pages, Landing Pages (and join flow for sign-ups), the Marketplace, and so on and the Lab’s own website at lindenlab.com.

Meeting Changes

  • Going forward, the Web User Group will meet MONTHLY and on a WEDNESDAY, possibly at 13:00 SLT.
  • Notice of each meeting will appear on the Web forum section and on the Web User Group wiki page a couple of days ahead of each meeting.

Marketplace

  • Marketplace updates:
    • Updates are being planned, and the Lab is keen to receive ideas (even if they cannot necessarily be implemented).
      • Suggestions for improvements / new features should be made via the Second Life JIRA under the Project type BUG Project, and then selecting the Issue Type New Feature Request.
      • Bugs and issues should be raised using the  Project type BUG Project, and Issue Type Bug.
    • Variant of items in a single listing (e.g. different colours for a dress) are being considered as a possible part of the Marketplace updates.
    • Ideas for discouraging “false” listings, etc., are being considered by the Lab, but there is an understandable  reluctance to openly discuss measures until options are better defined, in order to prevent incorrect assumptions and rumours from spreading.
  • Flagging content and “policing” the Marketplace: requests have been made for more flexibly means to flag / report content / stores on the Marketplace, and the Lab is again considering options.
    • One suggest put froward by users is for merchants to be able to police the MP, the level of trust in their reports being based on the number of valid reports they file. The Lab is reticent to allow user-based moderation, as this can become subject of subjective feelings, personal disputes, etc.
  • As part of the overall Marketplace road map, the Lab is considering offering some form of Marketplace-focused benefits for creators and merchant who are / opt to up to a Premium account.
  • Marketplace featured items: a question was asked about how featured items are selected for display on the Marketplace. There is a section in each item’s listing page which can be used to have it displayed on the Marketplace page, a category landing page, etc., for a fee. Those items actually displayed on a page are then rotated by criteria by the Marketing team.
  • Recent issues at Hippo Technologies have seen Hippo legacy web services go off-line with a decision to step back from continued support. This promoted questions about enforced removal of no longer functional products from the Marketplace. This is something the Lab is reticent to do (there’s a risk of functional goods being removed in error, etc.), and would prefer creators to take the responsibility to unlist goods that no longer function. However, this specific matter is being taken back to the office for discussion.

Destination Guide

  • Places to be included in the Destination Guide can be submitted via the Destination Guide application form. General information on the DG, including submissions can be found here.

2018 UG updates #4/2: TPV Developer meeting

La Vie; Inara Pey, January 2018, on FlickrLa Vieblog post

The following notes are taken from the TPV Developer meeting held on Friday, January 26th 2018. The video of that meeting is embedded at the end of this update, my thanks as always to North for recording and providing it. Time stamps in the text below will open the video in a new tab at the relevant point of discussion.

Viewer Pipeline

[0:00-1:25] The Voice RC viewer updated to version 5.1.1.512121 on January 26th, bringing it to parity with the Alex Ivy release viewer. The reaming viewers in LL’s pipelines remain as:

  • Current Release version 5.1.0.511732, dated January 9th, promoted January 17th. Formerly the Alex Ivy Maintenance RC – NEW.
  • Release channel cohorts:
    • Nalewka Maintenance viewer version 5.1.1.511871, January 17th.
  • Project viewers:
  • Linux Spur viewer, version 5.0.9.329906, dated November 17th, 2017 and promoted to release status 29 November – offered pending a Linux version of the Alex Ivy viewer code.
  • Obsolete platform viewer version 3.7.28.300847, May 8th, 2015 – provided for users on Windows XP and OS X versions below 10.7.

Forthcoming Updates

  • The Voice RC is the next in line for promotion to release status, and this could happen in week #5 (commencing Monday, January 29th, 2018).
  • The Animesh and Project Render project viewers both have new updates in QA.
  • There is a new project viewer for media handling (with updates to the latest version of the Chrome Embedded Framework) also due to be made available.
  • A further 64-bit update is in the works.

Environment Enhancement Project (EEP)

Project Summary

A set of environmental enhancements, including:

  • The ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level.
  • New environment asset types (Sky, Water, Days – the latter comprising multiple Sky and Water) that can be stored in inventory and traded through the Marketplace / exchanged with others.
  • Scripted, experience-based environment functions, an extended day cycle and extended environmental parameters. This work involves both a viewer updates (with a project viewer coming soon) and server-side updates.

Current Status

[12:25-15:43] Rider Linden now has a test simulator on Aditi where he is able to successfully apply windlights at the parcel level. The work will now allow windlight settings to be applied by height above ground, but this will likely be fixed ranges defined on the simulator rather than allowing completely arbitrary heights for different windlight settings, as can be done viewer-side with some TPVs at present.

General Discussions

Level of Detail / RenderVolumeLODFactor

[4:17-5:21] The latest Firestorm release, 5.0.11.53634, has altered the behaviour of the debug RenderVolumeLODFactor so that changes with set it to any value higher than 4.00 will not persist across log-ins (see my Firestorm release overview here for more). The Lab is now considering implementing a similar change within the official viewer.

Land Impact / Avatar Complexity Calculations

[5:33-5:52] I’ve referred to this project a number of times, which is intended to gather more representative data on the actual cost of rendering object in-world and the cost of rendering avatars and their attachments, with a view to revisiting the formulas used in calculating them, to see if anything can be done to make the calculations more representative of the “real” rendering costs (allowing for issues such as the potential to break content). It is currently hoped that the Lab will have enough data on this in the next for weeks to start carrying these investigations forward.

[27:13-28:12] One of the reasons often cited for creating one very detailed level of detail (LOD) model and a very low LOD model, rather than a number of LOD models (high, medium, low and lowest), is that the latter can penalise the finished model’s overall Land Impact (LI). This is something the Lab is going to be looking at in order to try to remove / reduce disincentives to making optimised content for SL as a part of this work.

[28:35-30:25] These updates are likely to affect the LI of existing and rezzed content. However, they will not be made in Q1 of 2018. Instead, the Lab plan to carry out simulator-side testing to ensure whatever changes that are decided upon cause as little disruption as possible, and will offer a strategy to help people transition to the new system to try to avoid any unnecessary item returns, show the revised formula run the risk of some content being returned when implemented (this might even comprise an increase in land capacity, if the difference between the “old” and “new” LI calculations aren’t too big). Improved tools for understanding LI are also planned as part of this work.

[31:08-31:47] To help people understand LI, content building, etc., Oz Linden has been trying to get more of the Lab’s own documentation on design and building to where it can be seen in public. This also extends to making more of the Lab’s own scripts being made available for public viewing.

Camera Presets Project

[7:09-8:00] Jonathan Yap is moving ahead with his camera presets project (see here and STORM-2145). This will most likely include Penny Patton’s recommendations for improved camera placement as one of the default sets of camera presets.

AIS Project

[8:51-10:28] The Lab is initiating a further Advanced Inventory System (AIS) project. this project will initially be focused on bug fixes, then will include looking for opportunities to deprecate old UDP-based inventory operations in favour of AIS – this work will likely take several months to complete, once started. Once any patches related to this have been made available to TPVs (with time given for them to be implemented), inventory UDP messaging will be turned off at the simulator end.

Texture Rendering and Caching

[16:05-17:15] Kitty Barnett has been looking at texture fetching/decoding and has noted some issues around discard levels in the viewer. Oz Linden would like to learn more on this.

In the meantime, the Lab’s own attempt to re-work how texturing caching works in the viewer hasn’t produced the results LL had hoped (e.g. improving the amount of textures which can be loaded per second). However, tests will continue in the hope that improvements can be gained. If the work is successful, then the Lab will look towards improving object caching as well.

Inventory Folders and Load Times

[18:52-20:50] Inventory and folders:  the recent change (current SL maintenance RC viewer and Firestorm 5.0.11) to include folders in the total inventory count has raised concerns about increasing inventory load times.

The Lab’s rule-of-thumb remains one of balance:

  • Individual folders with tens of thousands of item in them (object, links, sub-folders) – including trash – can cause the inventory load process to freeze, due to the way folders are individually loaded at log-in. Therefore, these are best avoided.
  • Conversely, having an individual folder for every single item – or just very small number of items can cause lots of little fetches that don’t achieve very much.

Therefore, somewhere between these two extremes is preferable.

Other Items

  • A resource has been made available to update the wiki documentation on the new viewer log-in screen widget.
  • There is liable to be something of a focus on the render pipe (there’s already the rendering project viewer in the pipeline), as a resource with SL rendering expertise has returned to the fold from Sansar.

Next TPVD Meeting

[1:35-2:05] The next Third-Party Developer meeting is set for Friday, February 16th, 2018 (although in theory this should be a date for the Web User Group meeting, which usually alternates with the TPVD meeting).

2018 SL UG updates #2/3: TPV Developer meeting

Tranmore Bay; Inara Pey, December 2017, on FlickrTramore Bayblog post

The following notes are taken from the TPV Developer meeting held on Friday, January 12th 2018. The video of that meeting is embedded at the end of this update, my thanks as always to North for recording and providing it. Time stamps in the text below will open the video in a new tab at the relevant point of discussion.

Viewer Pipeline

[0:00-4:24] The Nalewka Maintenance RC updated to version 5.0.10.330173 on Wednesday, January 10th, and the Wolfpack viewer has been withdrawn. This leaves the remainder of the SL viewer pipelines as follows:

  • Current Release version 5.0.9.329906, dated November 17, promoted November 29th – formerly the “Martini” Maintenance RC – No Change
  • Release channel cohorts:
  • Project viewers:
  • Obsolete platform viewer version 3.7.28.300847, May 8, 2015 – provided for users on Windows XP and OS X versions below 10.7.

The Update to the Alex Ivy 64-bit RC viewer (Tuesday January 9th, and reported in Part #1 of this week’s updates) will be the last such update for that viewer as an RC, and it will most likely be promoted to release status in week #3 (commencing Monday, January 15th). There should be an official blog post accompanying the promotion when it happens, encouraging those on Windows who can upgrade their version of Windows to 64-bit / Windows 10 to do so.

  • [28:16-30:11] A reminder that Alex Ivy is Windows and Mac, and that the Lab has a separate project for Linux. This will require support from the Linux community to help move the Linux viewer build to a Debian package using system libraries, so allowing TPVs to add the dependencies they require for their flavour of Linux build. If help is given and the project is successful, the Lab will then maintain the Linux build, with the caveat that it will only be subject to cursory QA, and will continue to require support from the Linux community for fixes. A repository for code submissions will be made available, together with a blog post / open-source community notification on the specifics, after the 64-bit viewer has been promoted to release status. Those wishing to support the work will need to sign a contribution agreement with the Lab.

The Voice RC has no known outstanding issues, and should be ready for promotion once Alex Ivy has been promoted to release status and the Alex Ivy code has been merged into the viewer.

The 360-snapshot viewer is looking set to move from project viewer status to a release candidate viewer.

A new viewer branch is being prepared – the media branch, which will be specifically for Chrome Embedded Framework (CEF) changes and other media handling updates. This will likely appear some time after the Alex Ivy viewer has been promoted to release status.

A further viewer project on the horizon is a further update to the viewer build chain, and bring that more up-to-date with things like Visual Studio, etc.

Viewer Deprecation

[4:25] Once Alex Ivy is promoted to release status, the Lab will be deprecating all versions of their viewer not using Asset HTTP loading (e.g. viewers prior to version 5.0.6). At some point after this, work will then commence on removing all UDP asset messaging from the servers, so anyone still using a viewer not fully supporting Asset HTTP will be unable to load gestures, animations, sounds, etc.

Avatar and Object Rendering

[9:26-10:32] Work on revising the current avatar complexity and object rendering calculations is due to resume “in the next week or two”. It is hoped this will allow the Lab to adjust the formulas used to make a reasonable generalisation in the rendering cost of things, and whether or not objects are being reasonably accounted for in those calculations, although things may not change that much. However, the Lab is “determined to fix some of the bad incentives in the current calculations”.

Environment Enhancement Project (EEP)

Project Summary

A set of environmental enhancements, including the ability to define the environment (sky, sun, moon, clouds, water settings) at the parcel level; a new environment asset type that can be stored in inventory and traded through the Marketplace / exchanged with others; scripted, experience-based environment functions, an extended day cycle and extended environmental parameters. This work involves both a viewer updates (with a project viewer coming soon) and server-side updates.

Current Status

[33:32-35:06] Rider linden is making progress, with his next step being to get the new setting objects defined as assets which can be stored in inventory. Once this has been done, he will be comfortable with setting up test regions on Aditi ready for testing once a project viewer is available. The viewer will require new UI elements for manipulating windlight assets, the initial design work on which, Rider jokingly claims, has already given him a nervous twitch in his left eyebrow!

In Brief

  • [13:35-15:32 ] Group Notices failures: some work has been done on this, showing that problems can start to occur if the group chat servers are left running too long, so a round of restarts should hopefully prevent this. Work is also going to be put into making group notice delivery more robust when logging-in, and this will hopefully be out in the next few months.
  • [22:49-26:55] Viewer widget documentation & additional viewer documentation: the viewer web widget wiki documentation is currently out-of-date, and a request has been made to update it. The Lab doesn’t have any documentation on the viewer (e.g. design documents etc.), outside of what is available on the wiki.
  • [32:04-32:45] IMs to E-mail: there have been reports at the recent Web Group and Simulator User Group meetings that some IMs to e-mails failed over the holiday period. This has been investigated, and the issue did lie with the Lab. However, it has been rectified, and all IMs to verified e-mails addresses should work correctly.
  • [11:02-11:48 – in text+ voice comments] The next Firestorm release will not allow changes to the debug RenderVolumeLODFactor which go above 4 to persist between log-in sessions. People will still be able to set the value above 4, but will have to do so each time they log-in. [18:33 – in text] There is to be one more beta release of the new Firestorm, which should be followed in about a week’s time with a formal release (late breaking issues allowing).