Sim-on-a-Stick: Everything is better on a stick!

Do you like sausages? How about pancakes? Sure you do, they’re awesome — especially when you have them together. And through the magic of modern food processing machinery, these two brillant foods come together and are made better when they’re attached to a stick, like Jimmy Dean Sausage-Pancakes on a stick. In fact, all kinds of things are made better by putting them on a stick: pizza on a stick; fries and bacon on a stick; spaghetti and meatballs on a stick; scorpion, seahorse, and silkworm larvae on sticks; and more! As chef and author, Anthony Bourdain, is fond of saying, everything tastes better on a stick.

That things are improved by putting them on a stick holds true in other industries too, including software. Since former Linden, John “Pathfinder” Lester blogged about it back in October, I’ve been intrigued by the idea of putting an OpenSim server on a USB stick. It seems Second Lifer, Ener Hax, has been experimenting with the “sim-on-a-stick” idea for several months now and has gotten to the point where she is now sharing the fruits (on a stick) of her labour with the world at simonastick.com. (Who is Simon Astick? It’s a mystery.)

Today, having a bit of time on my hands, I decided to give Ener’s Sim-on-a-Stick a try, so I downloaded the zip file from simonastick.com. The setup was amazingly simple: you just copy the files to a USB stick (or to a folder on your hard drive, as I did) and run the various components. Within a few minutes of unzipping it, I had a single-region grid running locally, and had logged in and rezzed this cube:

It all starts with a cube: running OpenSim server, MoWes, and the Imprudence viewer.

The possibilities for applied use are intriguing. If I can find a way to export my content from Second Life and import it into OpenSim, then there’s a chance that I can take Abbotts Aerodrome and all of my creations with me should Second Life or its economy falter. Because it’s hosted locally, and therefore private, I could use OpenSim for simulations, demonstrations, and presentations for work-related projects.

Sim-on-a-Stick makes OpenSim approachable to an average user. It requires little in the way of technical skills to set up, and it’s completely self-contained so that it can be easily carried with you on your keychain. Everything really is better on a stick.

Oh my… USER

In the original Tron movie, the programs saw users as their gods, essentially. In that movie, when a program dies, he casts his eyes to heaven and cries, “Oh, my User!”

Obviously, the concept of the user as a god doesn’t exist in reality, and the idea that our programs should treat us as gods has essentially vanished. No application is truly subservient to your needs — in fact, that sentiment might have died with Clippy, the helpful paperclip. If anything, software developers create applications with the idea that the user is subservient to it. Create the basic functionality with no regard to ease-of-use, and if the user has difficulty, that’s their problem: if it works somehow, more or less, then the developer’s job is done.

While this is usually how software is made, this isn’t how good software is made. This is how useful software products fail, in fact. You can have the most functionally complete application ever created, but if you ask your user to fill in too many gaps, to do too much work to make your tools useful, then you might as well not have any product at all. If you want to create usable software, as opposed to useful software, then you have to keep your user in your mind with every line of code.

But who are your users? You know by talking to your customers that some are more technically competent than others. As much as you’d like to give the middle finger to anyone you don’t consider your intellectual equal, they are the reason you have a job. Your job is to write tools for actual users. So your job is to first understand who these users are.

No, they aren’t one homogenous mass of people with wallets. Each approaches your product with their own skill level and background. However, if you look carefully, you can break down the user base into three distinct groups, and focus your efforts accordingly.

First, and most obviously, there are the Beginners. Beginners have no extensive experience with computers or software in general, and they need a crapload of hand-holding. A subset of these are the ones who attack the software with no experience and no desire to read the manual — the needy users. Another subset will rely entirely on phoning tech support. Despite the fact that you speak to the needy users more than anyone else, these are a tiny minority. If you’ve designed your software correctly, the majority of Beginners will be able to intuitively understand how to use the tools you provided.

Second, we have the Skilled users. These are the ones who have spent enough days using your product that they’ve moved on from simple “how to” questions to advanced questions of how to affect the best use of your product. If you have a basic user manual, chances are, they are way beyond it already. Now they need advice on specific use-case scenarios and implementations. If you don’t cover these issues in your manual, these questions will inevitably fall to tech support and end up costing you money.

Finally, we have the Advanced users. These are the users you love, because they don’t actually need help. In fact, they’ve used your software so much, they can inform you as to what changes you need to make for future releases. It’s important to listen to these users, but at the same time, avoid being guided too much by their needs, because their needs by definition don’t match the needs of the vast majority of your user base.

So those are your users: Beginners, Skilled, and Advanced. If you design your product with the user in mind, which user are you designing for when the needs of each group is vastly different? Let’s focus on the learning timeline, because it’s clear that Beginners don’t stay Beginners forever; eventually, they’ll become Skilled. In fact, it’s likely that they’ll only remain fumbling, needy Beginners for a week or so before they master the basic skills and move on to more advanced issues. Advanced users are a tiny subset that could really master any interface in spite of even vast usability problems, while at the same time informing you of the problems as they work.

The group that you need to focus on is the Skilled group. Every day, these individuals sit down and use your product to solve problems. Your task is to make their life easier. And if you’ve designed your user interface right, you’ve eliminated the pain of repetitive tasks, and streamlined daily activities based on what they need. In terms of documentation, your manual provides tips on how to improve their work flow, rather than focusing on clicks and menus.

The ideal software is easy to approach for the Beginners, provides obvious benefits to the Skilled, and is open-ended enough to allow Advanced users to expand on what you started. If any of these users needs to read the manual to perform any basic function, then you’ll know that you screwed up the interface. A user’s experience both begins and ends with the interface. User experience is the alpha and omega of interface design, and for that reason, if you haven’t once said, “Oh, my User!” then you’re doing something wrong.

Will Kitely fly?

Having noticed a bit of Twitter buzz about Kitely, the latest Second Life spin-off, I decided to investigate. Unlike the other spin-off worlds, Kitely targets Facebook users by letting anyone with a Facebook account create a single-region, SL-based virtual world. My impression is that if you want more than that, you’ll need to start buying up their virtual currency to pay for it.

Arriving at their site, I clicked the link to “log in using Facebook”, which is essentially adds Kitely as a Facebook app with full permission to access all of your Facebook account. If you’re at all concerned about privacy or identity theft, this is a point of concern already. Any app to which you hand over the keys to your personal info can essentially mine your data or post on your behalf. However, since my Facebook account is largely free of info that I need to hide, I went ahead and agreed.

The next problematic step, after creating the world and naming it (in my case, it’s named “Terra”), is that to enter the world, you need two things:

  • A Second Life client installed on your computer.
  • A “Kitely plugin”, which is an installer that you download and run.

That you need a Second Life client isn’t a problem for anyone already in Second Life, but that’s a big step for a lot of casual Facebook users. Also, there isn’t an obvious link for users to download the SL client, but maybe I just missed that.

The Kitely plugin is an installer for a small program that launches the SL client to connect to a particular Kitely world. Now, if you’ve ever connected to a grid other than the default Second Life grid (“Aditi”), you know that you can do this manually at the SL login screen, so the “plugin” is simply a convenience to users who are less technically inclined.

I did have strong reservations about installing this plugin, but mainly that’s a trust issue. As in, do I trust Kitely enough that I’m certain there’s no malware in the plugin, for example. I installed it despite my concern, because there are no instructions on how to connect to a Kitely world without the plugin.

Once in my new world, Terra, it was perfectly familiar. I had an avatar, a male one, though I hadn’t been presented with any choices there, and a tiny round island in a vast ocean. It looked like my world was ready to be terraformed and filled with goodies.

The first thing I tried, of course, wasn’t the inventory, but the physics. I rezzed a cube, turned on physics, and dropped the cube from a height. The result: not good. It rubberbanded a few times while falling and bouncing, and oddly ended up in the exact spot where I rezzed it. At a guess, that kind of physics time dilation is a sign that they’re hosting way too many sims per server, and the physics engine is simply overloaded.

Next test: I put a simple airplane flight script into the cube. I encountered a couple of odd bugs in the script editor, where it wouldn’t let me paste overtop of existing text, but I worked around that and compiled successfully. Great… time to fly. I sat on the cube, which gave a status message, as my script should, so that meant the script was running. So far so good.

Touching the throttle, though, led to my avatar being mashed into the sim corner underwater with the camera flailing all over. Standing didn’t work, and teleport home resulted in an error message. So that was my first encounter with Kitely. Technically speaking, the performance falls well short of where it should be to be a usable SL-based VW.

But beyond the technical issues, I have to question the purpose of Kitely. What advantage does Kitely offer a user over Second Life? Certainly, Facebook users can log into Kitely with an existing user ID, but is that really much of a convenience? The Second Life sign-up process is easy and free. Where Kitely seems to suggest that you will eventually have to buy Kitely currency to use their service, you never need to drop a cent in Second Life unless you want to buy land or content.

And this brings up another question. Where does the content come from? Second Life’s user-created content is rich, vast, and arguably matured. While it is possible to upload an entire region based on an OAR file (an entire region ripped from an SL-based VW and saved to a file), the vast majority of Facebook users will arrive to their new virtual world with nothing but the virtual clothes on their back. In this area, Second Life seems to have the clear advantage.

Privacy might be an area in which Kitely offers an advantage, in that you can control who comes in, but Second Life offers that ability as well, albeit only to estate owners.

In the end, I’m unconvinced that Kitely is a viable product. It technically falls well short of Second Life itself, but in fairness, maybe the performance issue will be rectified with more money for hardware, and if it’s used for purely social reasons, like standing around chatting, I’m sure it would be perfectly adequate. And bugs can be worked out, given time. The key issue is that it fails to address any specific user need that Second Life doesn’t already provide or exceed. And for that reason,  I think that Kitely just won’t fly.

Where’s the action in SL?

I logged into Second Life a couple of times recently with the idea of exploring and engaging in things I don’t usually. So I started with the Search window. It’s so amazingly hard to find a link to anything good, but this Search window makes it almost impossible to even just browse the list.

I may be wrong here, but Search is supposed to present organized lists of links, right? Isn’t that something that we’ve had for over fifteen years on the web? And somehow that’s beyond the capabilities of LL devs? You can’t navigate easily, the search basically doesn’t return expected results, and you can’t bookmark for later exploration without actually going there and making a landmark. It’s just phenomenally poor design and implementation.

I couldn’t find much with the search function, so I wandered through each of the dozen or so featured links and found a handful interesting but empty locations. Nothing truly engaging. I know there are people in SL doing fun things. I’ve been engaged in SL since 2003. But I can’t, despite my best efforts, actually find them. At that point, I ended up wandering through empty sims for an hour or so.

Essentially, there is no way to get to good content beyond word-of-mouth and shared landmarks. That is inexcusable this late in SL‘s life. We need a Google of SL, and then nobody will say there’s nothing to do in SL. They’ll say there’s too much.

I’m about to go off on a rant. I work as a tech writer and I have a love-hate relationship with MadCap Flare, my authoring tool of choice. On one hand, it has simplified my work immensely by making it easy to create professional-quality documents in a variety of format from a single source. In that respect, Flare is head-and-shoulders above its competitors. On the other hand, every day I have to struggle with Flare’s bizarre, non-standard WYSIWYG editor. Honestly, simple editing tasks are brutally painful. Continue reading “”