SL project updates 51/3: Project Bento initial feedback

Vir linden (foreground) and Matrice Laville at a Bento project meeting
Vir Linden (foreground) and Matrice Laville, Rider Linden and Flea Bussy (right) at a Bento project meeting

On Wednesday, December 16th, the Lab issues the Project Bento viewer, version This viewer introduces extensions to the standard Second Life avatar skeleton providing dozens of new bones to support both rigging and animation, and accompanying new attachment points. It is fully backwards-compatible with existing avatars, rigging and animation. The skeleton extensions include:

  • 11 extra limb bones for wings, which could also be used for additional arms, or extra legs.
  • 6 tail bones
  • 30 bones in the hands
  • 30 bones for facial expressions
  • 2 other new bones in the head for animating ears or antennae
  • 13 new attachment points associated with the new bones

Read the official announcement for more (my report is here). I’ll be providing more updates and background notes to the project in due course.

There has already been some detailed discussion on the Bento forum, including some concerns raised about the nature of the initial work being a “closed beta”. This is something of a misconception, as the project has been an iterative and shared process between the Lab and the content creators invited to participate in defining how the avatar skeleton could best be improved, what needed to be considered for backwards compatibility, etc., As such, it is only now that any beta can be considered to have been initiated – as Oz Linden explains in the forum, with Vir Linden also noting:

Nothing is final until we go to the main grid. The purpose of the testing period on Aditi is to identify and if possible fix any issues with the proposed skeleton. It’s possible we will add, remove or change bones as a result of feedback from the project viewer – so bone suggestions or bug reports are both very much fair game.

Project Bento also came in for significant discussion at the TPV Developer meeting on Thursday, December 18th, as noted below (see also the meeting video).

Potential Non-Bento Viewer Crashes

Concerns have been raised over avatars using Bento updates potentially crashing viewers which do not yet have the updates. however, the Lab has indicated that uploads using the new Bento skeleton will remain blocked on the main grid until the viewer code reaches RC status (see below), which should limit the risk of issues.

In addition, the Lab indicates it has pro-actively incorporated a range of bug fixes into recent versions of their viewer, up to and including the 4.0.0 CEF release, which are intended to handle a number of situations  where a crash might result from a viewer without the Bento updates encountering an avatar using the Bento skeleton. It is hoped that by the time the Bento viewer does reach RC status, these fixes will have propagated out to TPVs, and will help prevent any potential clashes between viewers lacking the Bento updates and avatars using the new skeleton until such time as all viewers and release versions with the Bento code.

An avatar using the Bento skeleton, as modelled by Matrice Laville
An avatar using the Bento skeleton, as modelled by Matrice Laville

Bone Translation as Well as Rotation

One concern / suggestion already raised is on the matter of providing bone translation rather than just rotation in order to better handle facial expressions (see BUG-1090, “[Bento] A formal method of bone-translating animations is vital for the creation of proper facial expressions”).  This bug was raised at the TPV Developer meeting, with Vir Linden commenting:


This is obviously a very complicated and controversial topic; there’s been a lot of feedback about it in the forums. Where we are right now is, animating positions is not something we ever supported on purpose, which means that our code for it …  it doesn’t work particularly well in the viewer. And our hope is, with adding the new joints, that workaround would no longer be needed to do interesting, alternate avatar shapes.

So the plan, and the way I believe it is currently configured is that on Aditi, uploads of animations that alter positions shouldn’t be allowed. And the intent there is to make sure we’re exercising the alternative pathway and making sure we actually can create the kinds of avatar people want to create using the new Bento skeleton without positions.

That’s where we are right now, but obviously, we’re in the very early stages of testing Bento, and we don’t really know for sure yet whether there are cases where this is required or not until people have actually exercised it. So that’s the kind of feedback we’re hoping to get: people trying different things and letting us know what can and can’t be done in this alternate paradigm which we think is a bit better supported.

As to the specific proposal to have translations for facial expressions, I’m really curious to how that would work. We talked about it when we were putting together the skeleton, and it seemed like it would be kind-of incompatible with the notion of any kind of avatar scaling. If you make the head bigger, or the whole avatar bigger, your translation-based facial animation, it seems like, is not going to scale up with the size of the head. So I’m not sure how well that would work. In any case, I’ll take a look at the report in more detail, and may want to respond to specifics in there, but that’s where we are overall with position animations right now.

It is just disabled on Aditi … for testing Bento, and nothing is final until we go to the main grid. But our hope is that this is just a temporary work-around that you’re not going to have to have, since it doesn’t work particularly well currently.

To this, Oz Linden added:

I think it will help inform that, and any other discussion of how the new skeleton extensions and restrictions work, [is] to try to make everything very concrete. That is, the assertion that “A” cannot be done, or that given the current restrictions, “A” cannot be done well, I think would be well-informed by having people share, publish what exactly they tried to do and exactly what the results are, and share the animation files and the meshes and the rigging and all that; so that everyone can see very, very specifically, what’s going on.

And  it may be that there are different ways to do what people are trying to do, and that they can accomplish a satisfactory result in a different way, and we can all learn what that is, or collectively discover that they can’t, and we need to make some adjustments.

But the assertion that XYZ can never be done, in general and with no specific example, doesn’t really help us to make good decisions.

Potential Timeline for Bento

Uploading of content designed to use the Bento skeleton  to Agni (the main gird) will remain blocked until such time as the Bento viewer reaches release candidate status.

This is unlikely to be much before the end of February 2016, partially because of the Christmas / New Year break, but also to give plenty of time for testing on Aditi and to provide feedback which may help the Lab in making further changes if needed, as per the comments above. It is also hoped the long lead-in time will give everyone the confidence that Bento is going to be something content creators are able to effectively use.

Feedback on Bento

SL project updates: 51/2: TPVD meeting, Aditi inventory changes

Whispering Wind; Inara Pey, December 2015, on FlickrWhispering Wind (Flickr) – click any image for full size

The following notes are primarily taken from the Server Beta User Group meeting of Thursday, December 17th and the TPV Developer (TPVD) meeting held on Friday, December 18th 2015. A video of the meeting is included at the end of this report, my thanks as always to North for the video recording and providing it for embedding.

Server Deployments – Recap

  • On Tuesday, December 15th, the Main (SLS) channel received the server maintenance package previously deployed to all three RC channels, comprising simulator crash fixes, and implementing feature request  BUG-10192.
  • On Wednesday, December 16th the three RC channels all received the same new server maintenance package, comprising crash and internal simulator fixes, LSL HTTP requests accessing data sources that require non-text Accept headers (such as the Destination Guide), updates to group member counts to help deal with recent group database issues.

There will be a further main (SLS) deployment on Tuesday, December 22nd, which will mark the final scheduled deployment for 2015.

SL Viewer Updates

Release Viewer

On Thursday, December 17th, the Chromium Embedded Framework viewer was promoted to the de facto release viewer, version This viewer replaces the ageing LLQTWebKit system used in the Web media plugin with a new one based on the Chromium Embedded Framework (CEF) that supports modern web technologies.

RC Viewers

The Vivox and HTTP RC viewers, currently version and respectively, are being merged into a single release candidate. This RC will also include the CEF updates, and the remaining Maintenance (currently version ) and Quick Graphics (currently version RCs will also be updated to include the CEF changes.

However, again due to the annual Christmas / New Year no change window, no further viewer releases are anticipated before the week commencing Monday, January 4th, 2016.

TLS 1.2 Implementation

As well as supporting the Chromium Embedded Framework  capabilities for media, the latest release viewer (, as noted above) also sees the LL viewer fully support TLS 1.2, which is an important point for TPVs to note, as Oz explained at the TPV Developer meeting:

That is going to be critical by next spring. Anything that does not support TLS 1.2, will not be able to do any interactions with cashier or anything that involves money. This isn’t optional on our part or just an arbitrary choice on our part, this is a compliance requirement. so, be looking for that in your own stuff; if you don’t support TLS 1.2, your users won’t be able to do anything that involves money, because we will have switched off everything earlier than that server-side.

When this change comes into effect, it will mean those users accustomed to using very old versions of viewers are going to have to move to currently supported versions of those viewer if they wish to do anything involving money.

Project Bento

On Wednesday, December 16th, the Lab issues the Project Bento viewer, version, offering an enhanced Second life avatar skeleton. This viewer and the associated support for it, is currently in open beta, and can be tested using the Aditi (beta grid). You can read the Lab’s announcement, and my own initial coverage as background.

The project did come up for discussion at the Third Party Developer meeting on Thursday, December 18th, and I’ve provided a separate report on the matters discussed.

Aditi Inventory Syncing

Recently, people have been experiencing assorted issues when attempting to log-in to Aditi, the beta grid (see here for an example).  As a result of these various issues, the Lab has made changes to the Aditi log-in process, and one of these changes will affect how inventory is synced between the two grids.

Up until now, inventory syncing between the two grids (so that your inventory on Aditi matches your inventory on Agni) has been a manual process: change your Second Life log-in password and this triggers an update to your Aditi inventory (which could take 24-48 hours to apply).

With the new update, which will be coming into effect in the near future, changing your password no longer triggers an Aditi inventory update. Instead, a new methodology is employed, as Coyot Linden explained at the Server Beta meeting on Thursday, December 17th:

The current method of syncing accounts from Agni to Aditi has … issues,  even when you wanted it to happen, it sometimes wouldn’t and when it did it overwrote inventory. Now, there are two major differences: 1. It MERGES AGNI inventory into ADITI inventory instead of overwriting; 2. It is based on whoever has logged into ADITI in the last 24 hours when it runs in the middle of the night SLT. No changing passwords any more.

The merging means that items unique to people’s inventories on Aditi (items they have created there but not replicated on Agni) will no longer be overwritten. However, duplicates of items will not result from the merge, as Oz Linden explained:

If an item is only on Aditi, it will still only be on Aditi; if it was only on Agni, it will be added to Aditi, if it was on both you will have just one copy on each grid … When you “modify” an object, you’re really making a new object, so yes, it knows that it has been modified… they are no longer the same object.

The upshot of this is that as this update comes into effect, changing your SL password will no longer trigger your Aditi inventory being overwritten by your Agni inventory; instead, a nightly process will run automatically, and anyone who has logged into Aditi since the last time the process ran will have their Agni inventory merged into their Aditi inventory. If you are logged-in when the process runs, a re-log will be necessary to see the updated inventory.

Continue reading “SL project updates: 51/2: TPVD meeting, Aditi inventory changes”