As always, please refer to the week’s forum deployment thread for the latest news and updates.
Second Life Server (main channel) – Tuesday December 10th, 2013
The main channel was updates with the server maintenance project that was on the RC channels in week 49. This project includes a few miscellaneous bug fixes. These include a fix for BUG-4431, which Maestro Linden, speaking at the Server Beta meeting on Thursday December 5th, described as:
A fix for avatars with crouch / crouchwalk animation overrides. Previously, the llGetAgentInfo() LSL function would only return AGENT_CROUCHING if the avatar was playing the default crouch or crouchwalk animations, so if your avatar had an AO which replaced those animations, (either with llSetAnimationOverride() or possibly with classic AOs too), scripts couldn’t tell when you’re crouching. But with the fix, the function is looking at whether you’re actually crouching, regardless of which animations are playing.
This should be the only “visible” fix within the package.
Second Life Release Candidate Channels – Wednesday December 11th, 2013
All three RC channels should receive a new server maintenance project containing a single bug fix related to vehicles becoming stuck in the ‘sat upon’ state (which prevents parcel auto return).
This issue is related to vehicles getting into a “bad” state if they lose the passenger right at region crossing. The vehicle is left with what is effectively a “ghost rider” sitting in it, which defeats parcel auto return, leaving the vehicle in-world.
The SL release viewer was updated on Tuesday December 10th to version 220.127.116.114506, formerly the NameUpdater release candidate. This release does not contain any updates to the viewer’s functionality, but does change installer naming and fixes an updater issue.
Code Freeze / No Change Window
Week 50 marks the last week for deployments to release, main and RC channels by the Lab for both the viewer and the servers prior to the Christmas / New Year code freeze / no change window commencing on Monday December 16th. The no change window extends through until the start of January, and will see no significant releases (other than possible emergency updates, if they are required), although there may still be updates to project viewers.
The main reason for the no change window is to allow Linden staff, notably support personnel, have a decent break over the holiday period without the risk of having to deal with significant issues as a result of a change or update immediately prior to the actual holiday period. To ensure this is the case, the code freeze starts ahead of the actual holiday period so that the Lab can ensure those final releases for the year which are made are robust and stable and unlikely to give a major cause for concern while still having staff available to deal with matters should things get a little higgledy-piggledy*.
“Uniform Scaling” LSL Functions
Andrew Linden has been working on a set of “uniform scaling” LSL options which would allow an object / linsket to be rescaled via a single LSL call – such as uniformly increasing or decreasing its size by a factor of 2. The work is still experimental and won’t be deployed until 2014. However, commenting on the work at the Simulator User Group meeting on Tuesday December 10th, he said:
One problem with scaling by multiplicative factor is that the scale operation might fail for a number of reasons; there are four categories of failures: hit the “prim is too small” limit. (2) hit the “prim is too big” limit (3) violation of linkability rules for linked set (when making bigger) (4) misc failures because of navmesh or other things.
The current API includes three calls: (A) llGetMinScaleFactor(), (B) llGetMaxScaleFactor() ; (C) llScaleByFactor(float). I currently handle failures (1) through (3), and the llScaleByFactor() will return FALSE if it fails, but it won’t tell you why it failed. You can use llGetMaxScaleFactor() and friend to ask what the max/min multiplicative factors are possible for reasons (1) through (3). Needs some work, but it is in progress.
A further concern / failure point was raised at the meeting: rescaling an object containing mesh and hitting the land capacity for a region as a result of the LI value increasing. One suggestion for avoiding this would be to have a function which could determine how far an object can be scaled prior to hitting the capacity limit for a parcel (e.g. returns the potential LI for a given scale value before an object is rescaled; however how this might be accurately achieved is unclear, particularly as LI scaling with mesh objects can be subject to a range of factors.
It will be interesting to see how this progresses.
*For those unfamiliar with the term “higgledy-piggledy”, I offer the following explanation:
Alina Lyvette released version 2.5.6 of the Android Second Life / OpenSim Lumiya client on Sunday December 8th, with a further release of version 2.5.7 on Monday December 9th; with both came a chance to have a real play with my latest toy: a gorgeous new Asus Google Nexus 7 HD 2013!
Between them, these two updates comprise:
View your own profile and your transaction history
Send and receive group invites;
Persistent mute/block list support
Improved performance when handling large chat histories and of flexible prims in 3D mode
Fixes for an issue with touching complex mesh objects and a few known crash issues.
Quick fix for broken Unicode support in instant messages
Support for editing scripts, both in inventory and objects.
Note that with this review, I am using a 7-inch display screen, and so have split screens enabled. If you are using a device with a smaller screen / without spilt screen functionality enabled, your screen displays may differ from those shown in this review. All examples may not be the only means of accessing specific functions; they are based on my preferred usage of Lumiya.
Viewing Your Own Profile or Transaction History
Until now, Lumiya has only offered the opportunity to view other people’s profiles. With version 2.5.6+ you can now view your own. you can also view your transaction history, which will list any transactions made during your current log-in session.
To view your profile, display the Chat or 3D world view and tap on the More option (three vertical dots) at the top-right of the screen. This will open a menu of additional options. Tap on My Avatar.
If you have split screens enabled, your profile will be displayed on the right, with the My Avatar options on the left
If you are not using split screens, tap My Profile to display your profile.
To view your transaction history, follow the steps above to display the My Avatar options, then tap L$ Balance option. All transactions which have taken place while you’ve been logged-in will be displayed.
Send and Receive Group Invites
Lumiya 2.5.6 starts into providing more group management functions with the ability to send / group invites with those groups in which you have be granted the required ability, or to receive group invites from others.
Sending A Group Invite
Currently, you can only send an invite to join a group to people recorded on your Recent, Friends or Nearby lists, there is no name picker to allow you to search for and invite anyone.
Tap Chat to display your Chat / Group options
Tap the name of a group to which you wish to invite new members. The group’s panel will open
Tap the invite icon located at the top right of the group’s panel.
A pop-up is displayed, allowing you to select the person you wish to invite from your Recent, Friends or Nearby Lists
Tap the name of the person you wish to extend an invite. A role picker pop-up is displayed
Tap the role you wish to assign to the person. The role is selected and an invite is automatically sent.
Receiving a Group Invite
As with any graphical viewer, when you receive an invitation to join a group, Lumiya displays the invitation in you Chat panel, with the name of the person sending the invitation, details of the group you are being invited to join and option buttons to join the group or decline the invitation.
Persistent Mute / Block
Lumiya 2.5.6 introduces the ability to mute / block IMs and group chat sessions, either for the current log-in session or persistently across all sessions until the block is lifted.
Muting an Individual or Group
There are a number of ways to mute an individual or group:
Muting via the chat list:
If the person or group you wish to mute is in your local chat list, long-touch the name.
A pop-up menu is displayed:
If you have selected an individual, it will include the option to Block them. Tap this. You will be prompted to confirm your action; doing so will add the individual to your Block list
If you have selected a group, it will include an option to Close and Mute the group chat. Tapping this will prompt whether you wish to mute the group chat for just the current log-in session or permanently (until unblocked). Tap the required option to add the group to your Block list.
Muting via the Friends, Group or Nearby lists or from within an IM or Group chat session:
Select the individual you wish to mute / block from your Friends or Nearby lists OR tap on the name of the group you wish to mute chat from in your Group list
The IM or Group chat panel will open. Tap the More option icon (three vertical buttons) to display a further list of options. Tap Mute.
You will be prompted whether you wish to cancel, or mute the individual / group for the current session or persistently across all log-ins – tap your desired preference.
Muting an individual in group chat:
Long-touch the individual’s name within the Group chat panel
A pop-up is displayed allowing you to Copy Message Text or Block the individual
Tap Block to add the individual to your Block list.
Muting via the Block list:
From Chat or the 3D world view, click the More icon (three vertical dots) in the top right of the screen
Tap My Avatar
Tap Block List to display a list of blocked individuals, groups and objects
Tap the ADD button (top right of the list)
A pop-up is displayed for your Recent, Friends and Nearby lists. Tap the required list to display a list of names
Tap on the avatar name you wish to block, it will be added to your Block list
Repeat for any additional names you wish to block.
Blocking an Object
To block a spammy object:
Locate it in Chat and long-touch it
A pop-up is displayed which includes the option to Block it
Tap the Block option to add the object to your Block list.
Unmuting / Unblocking an Individual, Group or Object
The easiest way to unblock an individual or group is via your More menu:
From Chat (or the 3D world view, click the More icon (three vertical dots) to display further menu options
Click My Avatar
Click Block List to display a list of blocked individuals, groups and objects
Scroll through the list to the item you wish to unblock and long-touch You’ll be prompted to confirm the action
Once you have confirmed, the individual, group or object will be unblocked.
Note that you can also unmute an individual or group by tapping on the name in your Friends / Nearby / Group list to start an IM / Group chat session, then tapping the More icon and tapping the Unmute option.
Lumiya 2.5.7 allows users to view and edit scripts to which they have the requisite rights both from within inventory and contained within an object.
Open a Script from Inventory
Tap the Inventory icon to open the Inventory panel
Navigate to the folder containing the script to be edited
Locate the script in the folder’s contents and tap it
The script editor is displayed, together with the selected script in view mode.
Open a Script in an Object
In the 3D world view, long-touch the object containing the script you wish to edit
Tap the More button to display additional options
Tap Open Contents. A panel displaying the objects content is displayed
Locate and tap the script to be edited. The script editor is displayed, together with the selected script in view mode.
Editing a Script
Tap the Edit Script button at the bottom of the script editor
Position the cursor at the point at which you wish to start editing
Use the Save or Discard Changes buttons as required.
Lumiya on the Nexus 7 HD 2013
And now, a short aside.
Until now, I’ve been running Lumiya on a Samsung Galaxy S2. However, when updating my mobile (cell) phone recently, my new service provider offered me a bundled deal of a new ‘phone and free Nexus 7 HD 2013 (and other goodies) for the same monthly tariff rate I had been paying for just the S2. Needless to say, I took the deal.
Lumiya has always worked well on the S2 for me, although it did struggled at times and the relatively small screen tended to make some operations difficult. With the Nexus 7 HD, Lumiya is nothing short of glorious.
Not only do I now have the benefit of full split-screen functionality on a screen big enough to handle it when operating in landscape mode, I have the power of two quad-core processors to handle the application and graphics and twice the available memory to play with. As a result, the 3D view is a joy to behold and move around in, with very fast rendering (as compared to the S2), and much smoother movement – both of which go a long way towards making Lumiya even more of a desirable travel companion.
The in-world view is also given something of a boost as a result of the Nexus 7 HD’s screen resolution: 1920×1200 which is a higher resolution than I’m getting on my main monitor (1440×900) and at an amazing 323ppi. This presents a really crisp, clean in-world image when using the 3D view which is very pleasing to the eye; so much so that I don’t feel a screen cap really does it justice.
The Nexus does still struggle when using the High Quality Textures setting, particularly at higher draw distances (48-96 metres), but given the load this is placing on the tablet in areas rich in textures, many of which will be of very high-resolution, I’m not actually surprised by this.
As I plan to use (and already have used) the Nexus to do “serious” work when moving around, I opted to invest in a bluetooth keyboard to go with it; and I have to say it is an absolute joy to have – part of this article was actually written on the Nexus using the keyboard and Kingsoft Office. The keyboard really adds to using Lumiya in that it obviously avoids the need to use the on-screen keypad, and the cursor keys / WASD keys can make moving around a lot more natural in feel if you’re used to using them on a viewer. Another benefit with a keyovard is the reduction in the amount of finger prints and smears appearing on the screen as you work.
I’m actually rather chuffed with the keyboard, which I obtained via ebay for £15.00 (around 18.00 Euros or $24.00 USD). When not in use it forms a protective cover for the screen, clipping securely around the tablet. Despite being aluminium in construction, it adds very little physical bulk to the Nexus when “closed”, and also has the benefit of solid-feeling keys which have a decent travel distance, which aids typing considerably. With Lumiya, it certainly adds a huge amount of ease to chatting and (now) to editing scripts! If you’re a Nexus user and decide to get one, just make sure you get the version which matches your Nexus model (2012 or 2013).
Two more outstanding updates for Lumiya which significantly enhance its capabilities, although on smaller screen the script editor may have limited appeal due to issues of trying to correctly position the cursor for editing and seeing what you’re actually doing when an on-screen keypad is open as well. On a tablet, the editor performs much better, although big fingers may still have problems positioning the cursor. As noted above, use of a suitable keyboard easily overcomes this problem (although are not always easy to use when on the move), and also makes chatting and IMs massively easier for those who aren’t keen on on-screen keypads.
The group and mute / block options are likely to be heartily welcomed by those putting Lumiya to extensive use and / or who routinely visit busy places. Both work very well using the methods I’ve indicated in these notes, and the functionality appears flawless.
All told, these are more than worthwhile updates to Lumiya further enhancing its reputation as the go-to solution for anyone on android who needs to access SL for a broad range of tasks while on the move.