SL projects update week 27/2: server updates, Experience Keys

Server Deployments Recap

There were no deployments to the Main channel or to the BlueSteel and LeTigre RCs. Magnum received an update to the Experience Tools project, intended to provide a fix for BUG-6438 “Objects attached via llAttachToAvatarTemp to object owner detach when script is removed from prim inventory” and UI updates. – release notes.

Week 28 Updates – LSL Support for Materials

Subject to last-minute hiccups, it is likely that the LSL support for materials (normal and specular maps, and diffuse texture alpha mode) currently on BlueSteel and LeTigre will be promoted to the Main channel and to the Magnum RC in week 28 (week commencing Monday July 7th).

LSL support for materials looks as if it will go grid-wide in week 28 (week commencing Monday July 7th)
LSL support for materials looks as if it will go grid-wide in week 28 (week commencing Monday July 7th)

There is still no additional throttling in place for the LSL materials functions, as testing revealed they may not be any need for them. adding to this, Maestro Linden said at the Server Beta meeting on Thursday July 3rd, “It’s throttled via the normal script time throttles, there’s no special X/minute throttle. Well, also there’s a throttle for accessing the materials list by viewers. So even when your viewer knows that an object got material X via the update, it may have to access the RenderMaterials capability to look up the render parameters, and that capability access is throttled (the viewer knows to request at a rate below the throttle so that it doesn’t hit failures).”

 Experience Keys

There is liable to be a discussion of the Experience Keys project at the next Simulator User Group meeting, to be held on Tuesday July 8th, with members of that project team in attendance. The meeting will take place in Denby, on the main grid, commencing at 12:00 noon SLT.

Webkit News

As I’ve previously reported on a number of occasions, Webkit is a third-party library used within the viewer for a number of tasks. For example,  it powers the built-in web browser, and is used to display profiles (unless you’re using a viewer supporting legacy profiles). It is also used with like Media on a Prim (MOAP) and many in-world televisions.  There have been an increasing number of issues with Webkit which have caused some pain (see BUG-4763 and FIRE-12642, and FIRE-11057), and Monty Linden has been poking at as a part of he ongoing work with the third-party libraries used in the viewer build process.

A major problem here is that Webkit itself has deprecated, leaving the Lab needing a replacement. Speaking at the Future of SL meeting, hosted by the Firestorm team on Wednesday July 2nd, Oz Linden indicated that a decision has been made to replace Webkit with the Chromium Embedded Framework (CEF). There is no indication of how long this work will take, as it is a very non-trivial effort which is leveraging work already carried out on the Lab’s next generation platform and other internal services.

GPU Updates

Also during the Future of SL meeting, Oz indicated that there are two upcoming changes which will affect GPUs and GPU memory usage.  Both are currently with LL’s QA team.

The first eliminates using the GPU card name as a means of recognising the card’s capabilities. Once released, the viewer will be able to recognise GPUs a lot more dynamically. One benefit of this is that people with state-of-the-art GPUs should no longer experience the viewer failing to recognise their card and defaulting to basic graphics

The second is a fix for how the viewer uses a GPU’s memory. “Many of you will have noticed that we don’t use all of the video memory on your video cards,” Oz said of the fix at the meeting. “It turns out that’s because of a very old bug that plagued us a long time ago and we sort-of arbitrarily, in order to avoid tickling the bug, we capped how much memory we would ever use.”

With the fix, the viewer will be able to measure the amount of GPU memory and then allocate itself what is liable to be a reasonable share of that memory.

SL projects update 27/1: server updates, HTTP, group chat hardware updates

Server Deployments – Week 27

As always, please refer to the server deployment thread in the technology forum for any latest news, updates, issues on this week’s deployments.

As many noted on Tuesday July 1st, there was no Main (SLS) deployment, although there was a period of grid-wide maintenance.

There will be no deployments on the BlueSteel and LeTigre RC channels on Wednesday July 2nd. As such, these channels remain with the following simulator releases:

  • Main channel: inventory updates (AIS v3) – 14#14.06.13.29103 (release notes)
  • Bluesteel and LeTigre: LSL support for materials (normal and specular maps, and diffuse texture alpha mode) – 14/#14.06.20.291351 (release notes  – Bluesteel; LeTigre is the same).

On Wednesday July 2nd, the Magnum RC should receive updates to the Experience Tools project, intended to provide, “user facing fixes to address both UI and long-standing HUD updates included in this build.” – release notes.

SL Viewer

There will probably not be any viewer promotion from RC to de facto release this week. The sole RC in the snowstorm RC, version 3.7.11.291465 has yet to generate meaningful stats. Current SL viewers are as listed on the Alternate Viewers wiki page and on my Current Viewer Releases page.

HTTP Pipelining Viewer

Monty Linden has been continuing to work on the HTTP side of things, directing his efforts towards HTTP pipelining, which should yield further benefits in rendering texture and mesh, and in generally efficiency of HTTP connectivity between the viewer and the SL servers. As a part of this, and while it is not formally publicly available as yet, he has produced a viewer using HTTP pipelining.

This has been undergoing testing among a group of SL users, and is showing considerable promise in terms of texture rendering improvements, and a similar level of improvement is anticipated with Mesh.

Whirly Fizzle has produced a video comparing texture rendering between the HTTP pipelining viewer and the current release viewer, with the tests carried out under identical conditions.

Experience Tools

The new Experience Tools project will be officially announced on Wednesday July 2nd, with a blog post, video and the release of a project viewer.

Group Chat

Oz Linden: SL's Technical Director talks about coming updates to Group Chat
Oz Linden: SL’s Technical Director: work is continuing on group chat issues, including hardware upgrades for the service

“We have been looking much more deeply into why the problems which exist than we ever have before,” Technical Director for Second Life, Oz Linden stated at the Firestorm The Future of Second Life meeting on Wednesday July 2nd, in reference to group chat issues. “We’ve added a lot of instrumentation to the way it’s implemented, and we have learnt a lot from that.”

He went on to cover the fact that the Lab has begun to make changes as a result of this data-gathering which are starting to have an impact, although he emphasised that while this work is going to continue in the coming months, there is unlikely to be a single update which will be “the” dramatic change which instantly “solves” group chat lag. Things are liable to be a lot more in the way of incremental improvements (no doubt due in part to the sheer complexity of the chat service).  given this, he also suggested that there may be some fundamental work required in the future which could affect the viewer side of things as well.

He went on to say, “We’re going to be upgrading the hardware that the group chat servers run on, I believe this week or possibly next. We won’t announce when that is, because it would be bad science to tell anybody when it’s happened. We want to watch the stats, we now have very good visibility to what performance and failure rates are. So we have the way to measure what’s going on.”

SL project updates week 26/2: group chat

Server Deployments Week 26 – Recap

  • On Tuesday June 24th, the Main channel was updated with the inventory / AIS v3 project, previously deployed to BlueSteel, which requires the current release viewer. See the release notes for more
  • On Wednesday June 25th, the three RC channels were updated as follows:
  • BlueSteel and LeTigre received a new server maintenance project with the new LSL functions to view and modify materials (see my notes) – release notes
  • Magnum remains on the Experience Tools project, but should additionally receive the inventory / AISv3 update deployed to the Main channel – release notes

Group Chat

Simon Linden is again working on improving group chat, with further tests being carried out during the Server Beta meeting on Thursday June 26th. Currently, the emphasis is on further improving reliability when engaged in group chat and moving between regions (either via teleport or directly by crossing between regions). A couple of people reported their chat windows appeared to freeze a lot less when switching between group chat sessions or following a teleport. Whether this was actually the case or a placebo effect is unclear, as Simon indicated he couldn’t see why it might be any different at this point in proceedings.

Other Items

Magnum llAttachToAvatarTemp Bug

An odd bug has been discovered on Magnum, which may be related to the Experience Tools code. It is defined in BUG-6438, “Objects attached via llAttachToAvatarTemp to object owner detach when script is removed from prim inventory”.

Essentially, using a script in an object which uses llAttachToAvatarTemp to attach an item to attach itself to the creator of the object, and which uses llRemoveInventory(llGetScriptName()) to remove the script from the object, results in the object itself detaching and being deleted. If the object is used by someone other than its creator, it will attach and the script will be correctly removed without detaching the object as well. It’s not clear if this happens with objects with multiple scripts in them or not, as it has only been tested against objects with the temp attach script in them.

Investigations are continuing into a fix, but in the meantime, it is believed that the Magnum code won’t be moving to the Main channel in week 27.

 ALM and Viewer Log Spamming

There is a viewer rendering issue, which can make itself particularly known when using the LSL functions for materials, where the face of an object will not be rendered, and the viewer will receive a lot of log spam (see BUG-6187). While things got sidetracked so he couldn’t expand on things, Maestro Linden did indicated at the Server Beta meeting that the issue is continuing to be looked at.

SL project updates week 26/1: server, viewer, Content Creation UG

Server Deployments Week 26

Main (SLS) Channel

On Tuesday June 24th, the Main channel was updated with the inventory / AIS v3 project, previously deployed to BlueSteel, which requires the current release viewer. See the release notes for more.

Release Candidate Channels

On Wednesday June 25th, the three RC channels should be updated as follows:

  • BlueSteel and LeTigre should receive a new server maintenance project with the new LSL functions to view and modify materials (see my notes) – release notes
  • Magnum remains on the Experience Tools project, but should additionally receive the inventory / AISv3 update deployed to the Main channel – release notes

SL Viewer Updates

The release viewer updated on Monday June 23rd to version 3.7.10.291134 (formerly the SL Share 2 RC – ability to upload Tweets and snapshots to Twitter and / or snapshots to Flickr).

The Group Ban project viewer updated to version 3.7.11.291394 on Tuesday June 24th.

Other SL viewers remain as per my Current Viewer Releases page.

Content Creation User Group

The regular Monday Content Creation User Group meetings came to an end on Monday June 23rd. Also at the meeting, as he has been for the past few weeks, doubtless getting up-to-speed with things as a part of his new role in heading-up the SL development team, Oz Linden indicated content creation issues could in future be raised at either the Simulator User Group meeting (which generally has a strong cross-over of attendees with the Content Creation UG meeting) or the Open Development meeting.

Commenting on the change to the meeting, Nyx said:

I’m moving on to other projects and haven’t been able to keep up with the details of content creation tasks as well as I used to be able to … I’ll still be inworld from time to time, and will be helping Oz whenever any avatar issues come up or with any other pieces where I can assist of course.

Whether this can be taken to mean Nyx is moving on to the new platform project is open to speculation. However, that the Content Creation meeting has now ended as an entity in its own right should not be seen as any indication that the Lab is starting to raise the drawbridge. Meetings over the pass few months have, for the most part, had a low attendance (with occasional sharp rises), and opportunities remain to discuss issues in other venues.

Experience Tools

Thanks to my getting a bullet point in the wrong place in my overview of Experience Tools, the article gave the impression that whitelisting experiences on mainland would only be possible with grid-wide experiences. This has been corrected. Experiences can be run at the parcel level on the mainland.

 

SL projects update: week 25/3: server and TPV meeting

Server Deployments Week 25 – Recap

  • On Tuesday June 17th, the Main (SLS) channel was updated with the group ban project server code – release notes
  • One Wednesday June 18th, the RC channels were updates follows:
  • LeTigre received a new anti-griefing measure – release notes
  • Magnum remained on the Experience Tools project, but also received the group ban server code and the anti-girefing measure – release notes.
  • BlueSteel remain on the Sunshine / AIS v3 project, and the  but also received the group ban server code and the anti-griefing measure, the viewer for which was promoted to the de facto release viewer on Monday June 16  – release notes.

There has been some interest voiced at both the Simulator UG meeting and the Server Beta UG meeting, in the “anti-griefing measure” deployed to the three RCs this week. Commenting on this at the Server Beta meeting on Thursday June 19th, Maestro Linden said, ” I think I’ll be able to discuss the change next week,” (after it has been deployed to the Main channel as well). ” But right now, some people would unfortunately use the information as a how-to-grief instructional.”

Upcoming Deployments

The LSL functions for materials may be set to arrive on an RC in week 25. This depends on how this week’s RCs continue to perform, but assuming the anti-griefing measure on LeTigre is promoted to the Main channel, then that RC would theoretically be available for the LSL functions for materials, assuming no significant bugs are filed against it as a result of Aditi testing.

TPV Developer Meeting

A TPV developer meeting took place on Friday June 20th. 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.

As has been noted elsewhere, the meeting was attended by Ebbe Linden, who took an impromptu Q&A session at the end of the meeting. This commences at around the 51:00 mark in the video. While this report does not cover that Q&A session, information on his comments about the Lab’s in-development new virtual world platform can be found in Ebbe confirms: “we’re working on a ‘next generation’ platform” (with audio).

My thanks, as always, to North for the video.

SL Viewer Updates

[0:01:18] The SL Share 2 viewer, providing Flickr and Twitter upload support and the snapshot filtering capabilities for both and for snapshot uploads to Facebook was updated to version 3.7.10.291134 on Thursday June 19th, bringing it to parity with the current release viewer code base

The Snowstorm viewer, released as a project viewer on June 12th was updated to version 3.7.10.291042 on June 19th, bringing it to parity with the current release viewer code base, and issued as a release candidate viewer. This has had a significant bug reported against it, which is currently being fixed. As such, it is unlikely that this RC will be in the running for promotion until after it has been refreshed with the fix and the updated version has been in the viewer release channel sufficiently long enough for the Lab to obtain meaningful statistics on its performance.

Avatar System Clothing Layers

[0:4:00] BUG-6258, “Popularity of Mesh Attachments Facilitates Need For More Alpha Layers” is a request to raise the number of alpha layers which can be concurrently worn (at the moment this is 5).

Rather than increasing the number of an individual layer which can be worn (such as alphas), the Lab is considering setting a global limit – so as with attachments, an avatar can wear as many clothing layers in any combination, up to the global limit (with attachments, this is set to 38).

The Lab is still investigating this approach in terms of feasibility and what the upper limit for clothing layers might be for an avatar.  Until they do make a final determination on the issue, they have requested TPVs do not arbitrarily add to the existing layer limits, as there is a risk that anything the Lab does do on this front may conflict with alternatives put in place by TPVs.

SL Experience Tools

[0:07:10] The major technical announcement of the TPV meeting was that the long-awaiting Experience Tools will be entering a beta test phase in the very near future. You can catch-up on this in my initial Experience Tools overview .

Z-offset Height Adjustment Proposal

[0:39:06] One of the issues with the introduction of Server-side baking is that it broke the “Z-offset” capability common to many third-party viewers. This allowed the vertical height of an avatar above the ground to be adjusted, such that sits and kneels don’t leave the avatar apparently floating in the air, and which allow those with very tall / giant avatars or very small / petite avatars and those wearing full body mesh to similarly adjust their vertical placement relative to the ground / floor.

In response to the issue being raised as a bug report (see SUN-38, “As users of kneel/lay/sit animations and tiny/giant avatars, we need a way to change the body size in SSB sims”), the Lab, via Nyx Linden, introduced the hover feature, which allows an avatar’s standing height to be adjusted to some degree via an appearance slider.

sitting
Jessica Lyon demonstrates part of the avatar height offset issue: when seated using her preferred sitting pose, her avatar floats above a chair, and she has no means of adjusting the height so that she appears to be sitting in the chair

However, as a solution, it has a number of limitations (your shape has to be modifiable, it won’t work in cases where you are trying to adjust your avatar’s default sitting / kneeling pose height to prevent floating, as the hover option requires the avatar to stand in the default shape edit pose, etc).

In order to try to revisit the problem and possibly gain a more thorough solution, Zi Ree from the Firestorm team has written a proposal document entitled Height offset Proposal.

This clearly explains the issues in not having a more flexible approach to adjusting height offset, and also offers a couple of suggestions on what might be done to improve things. This was presented to the Lab at the TPV Developer meeting, together with a concise demonstration by Jessica Lyon of some of the issues.

Obviously the Lab hasn’t at this point committed itself to tackling the matter, but those from the Lab at the meeting were appreciative that the proposal has been written and the issues  / possible approaches clearly laid out. There has been an agreement to look into further, and there might be some feedback at the next TPV Developer meeting (scheduled for July 18).

Cocoa Issues

[0:48:20] The Lab continues to work on the Cocoa issues affecting Mac users and there is some good news from them and Firestorm:

  • The Lab has a fix for the ALT-cam bug, which is expected to be in the next Maintenance RC viewer
  • Firestorm has a fix for the issue of severe typing lag when in a location with several other avatars (see: FIRE-12172). If successful, this is likely to be contributed to the Lab, and once in a Firestorm release, may see version 4.4.2 of that viewer blocked.

 

SL projects update 25/2: Experience Keys (Tools) overview and beta information

Update Wednesday July 9th: Dolphin Linden also attended the Simulator User Group meeting on Tuesday July 8th, where he further discussed the Experience Keys (Tools) project. As that discussion covered some of the information given here, I have provided a further update on the additional information provided by Dolphin at that meeting, to serve as a companion piece to this report. Please do ensure you read that article as a follow-up to this one.

During the TPV Developer Meeting on Friday JUne 20th, Linden Lab gave advanced notice to third-party viewer developers that the long-awaited Experience Tools project will be entering a beta phase in the near future – possibly within the next month.

Dolphin Linden is one of the people working on the Experience Tools / Keys
Dolphin Linden is one of the people working on the Experience Tools / Keys

The notice came via Troy and Dolphin Linden, two of the key players from the Lab working on the project,  who between them gave an overview of what it is and how it should work, and answered questions from TPV developers.

There has been considerable interest in this project at Simulator User Group and Server Beta User Group meetings over the last several months, particularly as mention of the tools has been made in various RC deployment release notes, and the fact that they are currently on the Magnum RC. However, until the June 20th meeting, the Lab has remained tight-lipped on the matter.

The notes which follow were taken from an audio recording I made of the meeting, and the salient extracts from that audio are included at the end of this article (see also North’s video recording of the meeting). I’ll have a summary of the TPV Dev meeting itself available soon.

What Are Experience Keys?

Experience Tools is essentially a new means of providing a set of “blanket” permissions against a range of actions which might be taken on an avatar participating in a defined activity (e.g. allowing the avatar to be animated, teleported, have items attached, etc., in accordance with the requirements of the activity).  The idea is that rather than having to constantly give permission for objects, etc., to act on your avatar while participating in an immersive activity, you give a single OK at the start of your participation, and then no longer be distracted by additional dialogue requests. The permissions within the Experience Tools comprise:

  • PERMISSION_TAKE_CONTROLS
  • PERMISSION_TRIGGER_ANIMATION
  • PERMISSION_ATTACH
  • PERMISSION_TRACK_CAMERA
  • PERMISSION_CONTROL_CAMERA
  • PERMISSION_TELEPORT

Note that permissions such as DEBIT (i.e. take money from your L$ account) are explicitly excluded from the Experience Tools, and must still go the normal route of requesting permission from the user.

What is an “Experience”?

An “experience” in this context can be almost any immersive / interactive environment within SL where the user needs to provide permissions for objects, etc., to interact with their avatar. A list of examples of experiences might include:

  • A game or puzzle or hunt or quest which requires the use of a HUD and / or which requires certain items are attached to an avatar
  • An amusement park where every ride requires the user gives explicit permissions to every ride they take
  • A tour of an art or historical installation which utilises multiple teleports and / or the use of HUDs.

As noted above, within an experience, the user only needs to give permission to scripts and objects to interact with their avatar once, when they agree to participate in the experience.

Linden Realms, launched back in late 2011, was something of a precursor to Experience Tools, inasmuch as by entering a Linden Realm game area, players gave implicit permission for certain actions to be carried out on their avatars – HUD attachment, teleporting – without the need to explicitly allow each activity within the game. The difference between it and Experience Tools, is that with the latter, users must still  explicitly give that initial permission for objects, etc., within the experience to interact with their avatar.

Linden Realms, launched in 2011, was an initial release of what were to become known as the Advanced Creator Tools, the forerunner of the upcoming experience keys / permissions
Linden Realms, launched in 2011, was something of a precursor of what has evolved into Experience Tools / Keys

During the initial deployment, experiences using the Experience Tools will be restricted to running at the region / estate level for private islands / estates and parcel level for mainland. They will require white listing by the land owner in order to run. However, it is possible that the capabilities will be extended in the future to allow grid-wide experiences to be created (e.g. a grid-wide hunt involving multiple regions / mainland parcels). When / if implemented, this will mean:

  • Private estates / regions with access restrictions will have an additional level of access which will allow anyone participating in a grid-wide experience running on that estate / region to access it. However, should they revoke the experience permissions while on such an estate / region, they will be teleported away in accordance with the estate’s / region’s access controls
  • If a user opts not to take part in a grid-wide experience at one location, their refusal to do so applies to all locations running the same experience (so they do not have to keep refusing to participate when travelling around the grid).

See How it Will Work, below, for further information on allowing / refusing experiences and revoking permissions.

Continue reading “SL projects update 25/2: Experience Keys (Tools) overview and beta information”