New User Experience

I went through creating a new avatar the other day…Welcome?

… and here’s what I found.

  • The account creation dialogs on the website are okay, but:
    • they still don’t make it clear that you cannot change your account name and don’t offer you the option to customize your display name at registration time… Action: ask for your preferred DISPLAY name, then munge it to create an acceptable account name as a second step.
    • There’s no email validation step – this seems like a bad idea. Action: add one.
    • You don’t have to retype your password, combined with no email validation, this is realllly bad.  Action: require retype.
    • BTW, I chose a nice one-word avatar name “Alemayehu” which, according to means “I have seen the world” in Amharic.
  • Avatar selection
    • The carousel is a nice idea, but it doesn’t work terribly well (the animations glitch or fail on various browsers).
    • Why only three categories?  and why would “Vampires” make it as a category, especially when half the avatars in the section are clearly not vampires? Action: more categories.  Maybe a set of dialogs or a hierarchy.
    • What happened to the black avatars? I chose an African name and the only remotely African looking male avatars are.. monsters which are more or less racist caricatures of black men?! I know there used to be a pretty decent black male in the library, but he’s not in the “Classic” section. Action: expose more library avatars at the signup phase.
    • Best practice would be to either offer a very small number of generic avatars and do an appearance modification exercise in-world or run through a more involved dialog during setup… or maybe let you select a “starter avatar” from a new marketplace section and have it pre-applied?
  • Learning Island
    • Build is acceptable, but needs more environmental effects and music.  It DOES have some very very repetitive wave sounds at the landing point, but otherwise is dead dead dead: no animal sounds, no wind, the fountains are silent. Action: this is the very first environment a new user sees.  Make it GREAT.
    • Few indicators of what you are supposed to do.  Arrows point the direction (fine), but some instruction is really required.  There are hints that instruction is supposed to happen as popups:  once an empty window popped up on the right side of my HUD, but… well… it was empty and soon went away. Action: fix the popups, make things work.
    • A few minutes in, I was told that there was a new version of the viewer and offered to install it for me – it did, which was nice and fast, but I couldn’t log back in immediately, which was unexpectedly annoying.
  • Social Island
    • wait… we’re done learning already?!?  Action: basic training should include touch and sit, use a dialog, chat something, maybe some basic inventory manipulation before sending them to a social space open to anyone.
    • landing point crowded with avatars, mostly not new, some dancing and waving stuff around.  At least they were chatty and seemed willing to answer questions.
    • … which is good because there are no indications where to go and what to do.
  • The Mesh Avatar
    • First thing I noticed is that it doesn’t move anything like it moved in the avatar selection carousel on the web page.  Not only no AO, but still the same old horrible default animations. Action: all starter avatars should be animated like the carousel.
    • This guy seems to be almost unmodifiable and there aren’t any clues as to what you need to do to customize, including what clothing you need to look for. Action: starter avatars need to be customizable or they undercut one of the major selling points of SL (shopping, personalization, expressiveness).


Perfect petite hair from biggee hair (and other stuff too!)

New product from Motley Tech: a script to drop into any mod hair (and other objects too) to resize for petites, tinies, or other small avatars. Here’s the link: L$50 (copy, nomod, notrans).Advert
Why bother? Well, you’d know why if you ever tried manually resizing hair from standard to petite size – the drag handles get “stuck” when you try to shrink an object when any prim in the linkset gets to the point where any dimension gets to 0.01m. This is a serious problem for hair because designers (and customers) like nice, thin wisps of hair for maximum realism. How does the script avoid this problem? it keeps shrinking all dimensions that it can, while keeping them positioned and rotated properly. This works well for most wearables, at least down to petite/tiny sizes… while, strictly speaking, it isn’t perfect, you will probably not be able to tell the difference unless you try shrinking something much smaller.
Of course, you can use the same script to shrink other things too. I’ve used it for hair, wings, utility belts and sculpted clothing (obviously, anything with system layer components isn’t going to work). Also trees, vehicles, and buildings. Warning: vehicles can act very strangely since prim size interacts with the physics simulation. Also, remember that just because your small avatar looks small, doesn’t mean that the SL server thinks it is really that small – if you shrink a building that you actually want to be able to walk through, you may need to make it phantom (so you can go inside) and then add transparent prims for the floor and walls (so you don’t pass through the building)

Keep your transaction logs forever!

Yes, I’ve turned the transaction log automation system I’ve been using for years into an actual product.  Heck, I like the new version much better than the old – it was a great excuse to hack on it and I might even sell a few copies.

The interesting thing is what was holding me back… well, two things really:  First, I reallllly didn’t want to be responsible for having anyone’s credentials (read “SL password”) going through any of my systems.  What LL really ought to do is implement a nice API where you can grant read-only access to your logs… think Facebook, Google, Twitter… well, just about any system that would like to interoperate with other web apps (yes, yes.  I know).  Anyway, it took some pondering and I’ve got a solution that does in-world generation of a per-user registration key for validation, and then the user installs and runs (and gives their password to) a small external program that checks the registration key against the account.  Simple and the truly paranoid can run a network sniffer to confirm that my program only talks to and not some shadowy password hoarder.

Second, getting it to work right was more effort than I wanted to give away for free.  Yes, I did it for myself, but there’s significant value in it (I think) and I don’t want to undervalue the effort required to get it to work right as a product.

So, I’m probably going to turn on the marketplace vendor soon and see what happens.  Should be interesting.

BTW: here’s the marketplace link:


University_of_Washington_SealAnother year, another University of Washington Virtual Worlds program semester!  We’ll be trying out some new ways of doing things this semester:  can’t wait to see the awesomeness of this year’s students!

Linux vs SL annoyances

SLTuxAnother cheat sheet here. Some issues and, hopefully, workarounds for running SL under Linux. I use Ubuntu 12.10, so have your grains of salt ready.

  • Control-Meta-T brings up a new terminal window. That’s nice except when you are in SL and want to highlight transparent. Solution: Keyboard settings, Shortcuts, set Launch terminal shortcut to something less nocuous – I changed it to Super-T
  • Accidentally clicking on the bottom border of a window maximized it vertically. Solution – this is, IMHO, a bug resulting from the combination of the edge resize function (click and hold on bottom border, for instance) and the “Maximize Vertically if screen edge hit” feature. Not a bad idea, but when the window is already snapped to the bottom of the screen, any click on the bottom border will maximize the window. Bad compiz! Use CCSM, Resize Window, General tab, disable “Maximize Vertically if screen edge hit” option.

More writing in the works!

I’ve finally dug myself out of a backlog of RL work and firefights… So to avoid the horror of not being fully over committed, I’ve starting moving again on writing some more content. Lots more information to come, hopefully coincident with the launch of some text, but for now I’m keeping things under wraps.

That said, I’m willing to say that the new stuff:

  • will only be available electronically for now, probably PDF to start, maybe Kindle and Nook if I can figure out how to make it look reasonable and there’s enough call to justify the extra work
  • will be published incrementally in “chapbooks”
  • will be cheap
  • is likely to have a mix of authors
  • not be limited to SL topics
  • will continue to focus on scripting and related content creation topics
  • will be fully tech edited and tested
  • all chapbooks will have a consistent and quality style.  If we can’t make them look good and be useful, we wont publish them
  • each chapbook will come with associated scripts, demos, etc – no need to buy separate resource packs. Note: I still think you are better off doing things yourself than just editing our scripts – you’ll learn it much more quickly and understand it much more deeply!

So, with all that in mind, I’m asking you – what would you like to read about?  Sorry, no kickbacks for ideas though if you have something that you’d like to write yourself and have us publish it, I’m happy to talk!  Send suggestions to me at or IM me in-world!

Inventory: The Black Pit of Despair

This is going to be my magnum opus – a comprehensive document of foolproof best practices for inventory management… A living document that tracks The Best Way To Manage Your Inventory!

What to delete:

  1. Ditch the stuff that has no value.  For instance:
    • Bad unpacker scripts.
    • Ads for stuff you don’t care about
    • Hunt prizes for which the builder didn’t bother to remove the dummy prize
    • Bag holding animations
    • Empty boxes
    • Adverts, especially from dumb welcome mats
  2. Ditch the theoretically useful stuff that you can get back for free if you need ’em.
    • Megaprims (use one of the utilities instead).
    • Instructions notecards (I like to past instructions into real documents that I store in my dropbox)
  3. Store stuff of purely historical significance in archive prims.  I do this for old versions of products sometimes.  Script versions are better kept in a source control repository out-world anyway.


  1. When sorting, open up an additional inventory window so you can drag stuff around easily.  Don’t drop stuff on the ground or on another avatar.
  2. Sorting?
  3. Filtering?


  1. The sort order of the characters is determined mostly by unicode with exceptions for letters as: !”#$%&'()*+,-./0123456789:;<=>?@[\]^_`AaBb…Zz{}~Note that you cannot use space or “|” (vertical bar) and all letters are sorted alphabetically, uppercase first (so “AaBb..”).  Other unicode characters get filtered out if you type them in a folder name. So: Use a high sorting prefix like “!” or “#” to bring folders of stuff up to the top of your inventory and “~” to the end.  I sometimes do things like “#1 TODO” and “#2 WORK” to order.  Vendors: PLEASE don’t put those sorts of characters at the start of product names – it is annoying and likely to cause me not to buy your stuff any more because I might never find it in inventory.

P.S. As a side comment, if you are a scripter, PLEASE don’t write scripts that make a mess of people’s inventory!

P.P.S For further reading:

P.P.P.S. that photo isn’t my house, but a snapshot from the wikipedia article on compulsive hoarding. Apropos, huh?

Avatar Names: Should you Trademark yours?

TMAfter reading about Opensource Obscure’s run-in with Google+ (also covered here), I was pondering the following question: As (presumably) authors writing under pen names and SAG actors who are required to act under a previously unused name would be allowed to use their assumed names on google+, how do they protect their names from misuse.

Certainly, some (at least one) atomic persons have applied for and been granted a trademark (even registered!) for their avatar’s name. Would it be worth registering such a trademark? Would a Servicemark be more apropos for an author? What about “Doing Business As” arrangements? A US federal trademark registration is approximately $300, a state-filed trademark registration is $50 and a DBA in my city is $60  all for various terms, all not counting things like notarization, postage, etc.

I guess the real question isn’t about what is possible so much as what makes sense. Go to it!

Second Life Viewer Contribution Agreement

Hooray! I finally worked through my corporate bureaucracy to get my Second Life Viewer Contribution Agreement approved, signed, submitted, and accepted by Linden Lab.

Now, of course, I need to collect up my viewer patches to see what still makes sense to submit!

Tentacular magic for SL (Squidifying your viewer)

You might have seen Tateru Nino’s article Proxying Second Life HTTP Textures with Squid …  And then gotten frustrated for any of a number of reasons.  This mini-article expands on Tateru’s excellent post, adding two big hints: first use the right version of Squid and second how to get it working without fancy firewall rules.  The bottom line is that using these two extra tricks you can get a (much!) larger than 1G texture cache working with existing SL client software and even get it all running on a single machine!

Obviously, this procedure will only really be interesting if you are running a Second Life viewer using HTTP textures – I’ve tested using both Linux and Windows versions of a number of official Viewer 2s as well as Phoenix (and Firestorm).

So hop in your deep sea submarine and follow me below the waves in search of the elusive… Second Life Squid! …

NOTE: There is a followup on the way HERE
Continue reading “Tentacular magic for SL (Squidifying your viewer)”