LandOwner Tools

August 13, 2009

I know of at least two Blind/VI people who own land. I have been putting this off by rationalizing that “Nobody needs it yet” and pushing it down the list. Foolish, foolish!

Here’s a few useful things I could do with Land Tools easily, I think. Note that I haven’t fully tested this, so there may be a troll hiding under one or more of these bridges.

  • Media and Music: Get and set the Music and Media URLs.
  • Prim Count: Give you the max prims, the current number of prims, and the list of prim owners with count.
  • Give you the power to eject someone from your land, the power to ban them, and the power to send them home.

What’s not so easy?  llModifyLand, as found at http://wiki.secondlife.com/wiki/LlModifyLand

It seems doable.  It would be very interesting to see someone make the attempt! Like object creation and editing, the tools are there, but I will need to just code it to someone’s spec and watch them learn how to use it by trial and error, I suspect.
So, End-Users! What is your priority? What commands would you like to have to call these various functions?  This won’t go in the Guide, it will go in something else.  Call it…what?  You tell me. You’re the Customer, and the Customer is, if not always right, always the person who knows their own needs and desires best.

By far, the most difficult project on the slog to 2.0 is clothing.  RLV gives some interesting and complex options.

A few lessons I have learned along the way:

  • Avoid homophones when coding for people who use Text-to-Speech.  This would also apply to Speech-t0-Text.  So, “wear” conflicts with “where”.  wear is now replace.  (I will include add as well, another post.)
  • It works on a “partial match” basis.  Be careful when naming your folders.
  • It’s a good idea to add “outfit” to the name of anything that is a complete set of clothes. If you name something “Concert T-Shirt”, is that a T-Shirt alone, or a T-shirt added on to your usual jeans and such?  If it’s just the T-shirt, it better be a LONG t-shirt, or replace is going to get you banned from a PG sim.

Sit. Stand.

July 27, 2009

We now have /3 sit <name> and /3 stand.

And there was much rejoicing.

Going to let the beta testers take a few whacks at it.  I am thinking this is all going to go out in a big 2.0 release.

In another post, I explained the compromise that I had to make regarding the facing command:  Navigation normally uses 0 to 359 degrees, running clockwise from North (0).  However, mathematics often uses a different rule, and this is used when rotating objects in SL: East is 0, and degrees run from 0 to 180 counterclockwise, and 0 to -179 clockwise.  Actually, it uses radians, but the editor shows degrees.

Asking users to deal with negative degrees when navigating seemed a bit much.  Moving 0 to north and “flipping” the whole affair would lead to later confusion when we get to building/editing tools.  So, the Guide’s facing command takes you from 0 to 359, running counterclockwise from East.

It seems to me an awkward compromise, but I haven’t heard any complaints yet.

Once I discovered the Restrained Life Viewer, avatar rotation was an obvious first step.  The first version of /3 face accepted 0 to 359 (actually, it will accept higher numbers, but I am not responsible for what it does if you do that!), and then translated anything over 180 to the appropriate negative number.  Then it converted to radians and formatted the @setrot:<radians>=force string, which was sent to the viewer via llOwnerSay().

That’s when I learned a most peculiar fact:  the RL Viewer, unlike LSL, expects avatar rotation that has 0 as north and runs clockwise to 359!  I don’t know if this is peculiar to Restrained Life or if it is part of the core viewer: I don’t read source code well enough to make the comparison.

So, I coined a new word that greatly amuses some of my colleagues: “mathenastics”.  Mathematical Gymnastics, or Mathenastics.

The face command still accepts input consistent with output from the facing command, but considerable mathenastics are involved in making this something the viewer expects.

Big Changes Ahead

July 25, 2009

I need to start posting code here again.

Happening now:

  • Working on forking the scripts into two sets: the standard version, and one designed to work with the Restrained Life Viewer.  RLV offers some options such as access to a limited part of your inventory, avatar rotation, improved teleporting, and other features.  This will NOT be a set of tools for “Adult” purposes. That will be a separate project, and I may create an alt to handle it, just to keep it clear in everyone’s mind. :)   For this project, only the owner of the object will have access to the RLV functions, and only for accessibility purposes.
  • Made the profile command.  It only works on people in llSensor() range, and it will return a URL like http://world.secondlife.com/resident/89c8aca9-8340-4ce1-b1ea-dfce86d9d20c
  • Continuing to attempt to discern the flaw in follow.  A total rewrite may be in order.
  • Working on an outfit command, that will let you store names and descriptions of outfits.  Basically, an invisible object attached to your avatar with this script in it.  Hand it a name and description, make sure it is always in that folder in your clothing directory, and you don’t have to ask yourself, “Did I change out of that swimsuit after the party?”
  • Thinking about the name.  BOSS sounds pretentious. I need a better acronym, don’t I?  Hrm.

Other things on the planning board or workbench:

  • Something like profile, but for places and regions. *Maybe* groups.  Getting access to groups might be tricky: what do you scan for to get the group key?
  • look is never far from my mind.
  • I keep forgetting that you can set an alarm to go off when you reach a particular rotation target.  Must add that.

Still here!

July 17, 2009

I realize I have not posted in a couple weeks.  RL issues have taken up much of my time, but I have not been idle with this project.

I am considering carefully where to go next with it. I’ve had some requests, and I need to get my thoughts and plans in order.  I also want to bring more people actively on-board with designing and coding these tools.

One of the common questions is “How can we make the pie menus in SL accessible to people who are Blind/Visually Impaired?”

You can’t.  Oh, you probably could, but the level of technology needed, combined with the learning curve required, makes it effectively moot.

Let’s ask a better question:

“How can we make the diverse functions accessed via pie menus accessible to Blind/VI Residents?”

This, we can answer, at least in part. But it’s going to take a while!

What can we access via Pie Menus?  Many Sighted/Abled Residents of SL never fully explore the options that they can find by right-clicking and working through the various submenus. I’ll risk the ire of some of my readers and say: I sometimes hate the Pie Menu concept entirely.  It needs to be slimmed down to essentials!  There’s a lot of redundancy built in, and sometimes it just gets in the way.

This is what I have been able to find.  The available options are dependent on context: you won’t get the same options if you click on an object you own, an object you have no control over, another avatar, a piece of land, or an object for sale.  It is possible to rename some of the pie menu options: renaming “Sit Here” to “Teleport” is common: you are really sitting on something and immediately standing up some distance away, but it is renamed “Teleport” for convenience.

TOUCH
DETACH
OPEN
SIT HERE
TAKE
PAY
EDIT
TAKE COPY
WEAR
ATTACH
ATTACH HUD
RETURN
DELETE
BUY
REPORT
MUTE
INSPECT
CREATE
GO HERE
BUY PASS
BUY LAND
ABOUT LAND
EDIT TERRAIN
TAKE OFF
GROUPS…
PROFILE
STAND UP
GESTURES…
APPEARANCE…
GO TO
SEND IM
ADD FRIEND
GROUP INVITE
GIVE CARD
FREEZE
EJECT

Adding to this: for “Attach”, “Attach HUD”, and “Take Off”, we have 30 attachment points on the avatar, 8 on the HUD, and “Detach All” and “All Clothes”.  That’s another 40 items on the pie menu right there: we’re up over 75 now!

I do not claim to have found them all, even excluding those renamed by script. If you see one I missed, comment here please. :)

In later posts, I will try to carve this up into logical and useful chunks, and address the various issues.

Known Issues

July 2, 2009

  1. Follow appears to be using only partial matching with llSensor.  At times, the follower will “change course” and start following another avatar, especially in a crowded area.
  2. what with an argument does not always pick up the objects.  This appears to be related to (ACTIVE | PASSIVE | SCRIPTED) in the llSensor() call.  I am working on a way to check each in turn for the requested target.

Please Vote!

June 29, 2009

http://jira.secondlife.com/browse/SVC-56

That little feature would make life so much easier for some of us.

First, apologies for not posting in a while.  We’ve been busy with stuff RL and SL.

I had to patch to 1.01 due to a bug in what and who. I also added help version to channel 4: it will tell you the current version of the device that you are using.

I am working on a patch to 1.02.  This will address the fact that the device will sometimes not recognize that it has changed owners, and so will not handle llGetOwner() in the way one might expect. I have been told this is a feature, not a bug.  We’re just not going to agree on that… :P   I do sorta understand, in the grand scheme of things, why it works that way.

I have to admit that I was warned about this, and planned to add an on_rez() script reset, but forgot.  So, mea culpa, mea maxima culpa.  If SL’s servers calm down enough to let me actually save scripts, I’ll get this done!

I did a little test just now: I attached my Guide to my HUD, or Heads-Up Display, and tested it.  It worked!  I had no reason to believe it wouldn’t, except that I hadn’t tested it, and I have learned the hard way about assumptions.  (See the thing about llGetOwner above for what happens when I assume!)  Now, I could really use some feedback from some users on this, either here or in-world:

Why use a HUD?

If you aren’t going to use something like an Identity Cane, or a Bracelet, or whatever, you probably want your assistive device out of public view.  I have been accomodating that with the invisible sphere.  This works great for some people.

But, I freely admit that I am used to working with someone who is totally Blind.  I actually have very little experience with those who are (what we call) Visually Impaired.  (AKA “Partials”, “Legally Blind”, “Low-Vision”–there are many variants.)  We define this as someone who has some vision, though below certain thresholds set by law and by the medical profession. My experience is somewhat ironic, as those who are totally Blind are only about 20% of the Blind/VI population.

I can see where someone who has some vision might desire something that they can see on the screen and interact with, without allowing others to see it attached to their avatar.  Hence, the HUD.

Here’s the thing: I, personally, rarely use HUDs. I find them distracting and intrusive.  But, I am Sighted, and I am also a bit picky. :)   I do recognize that others make use of them.  I just have to remind myself that, on this topic, I need to “empty my cup”, to quote an earlier post.  The needs of those who are Visually Impaired are even more diverse than of those who are Blind, from what I have heard. Black Text on a White Background might be perfect for one and useless to another.

So, I would like some ideas.  If you are Visually Impaired, and you think you would like a HUD object to hold the BOSS Scripts, please let me know.  If you choose to do so privately, I will not divulge your name–I am a privacy nut!

Here’s some perspective: I use one of the smaller iMacs.  When I rez out a standard cube prim, half a meter on a side, and attach it to the “Center 2″ HUD location, it’s about 6 inches high and wide on my screen, roughly.

What should I do with it?  What should be added, if anything?  Where should it attach?  Suggestions?

Any HUDs I made to provide assistive tech would be free, just like the invisible sphere.

When working on prototype vehicles: start with BLIMP.

Fixed-height, put it up about skybox range, nothing to run into, no obstacles to worry about, no neighbors to annoy.  Work out as many problems as possible up there before moving to land or water.

EDIT: First person to say “Oh, the Humanity!” gets flamed.