Who, What, Why?
Enterprise uses of Immersive Environments and Virtual World technology for collaboration. As CTO of vComm Solutions and co-founder of Flying Island I'm particularly interested in the ways that collaborative 3D immersive environments might help bring dispersed teams together

Neil Canham
Year Archive
User name:
Remember me 
This Month
November 2010
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
View Article  Second Life running in a Browser
It's here - the much vaunted Second Life running in a browser - using cloud rendering / streaming service Gaikai. Here's a video of my first use, in Chrome. Worked remarkably smoothly, except that changing appearance didn't always respond to my clicks and even then sometimes just didn't work. First place I was dropped was not very interesting and empty (see video). However, it works - from the timer it seems you get an hour to explore select destinations, during which you can obviously sign up at any point for a full account. This is exactly as needed a way to drop into events and places of interest for 'a quick look'. Cloud rendering is expensive,so the one hour limit seems reasonable, given that there is as yet no measure of how many 'guests' will convert into real accounts - which has to be the ambition - there's no way to participate in the economy of SL as a guest.

If you want to try simply go to http://interest.secondlife.com/beta and wait. The only disconcerting thing is that you don't get to choose anything at all before being dropped in world, so I started as a girl. This is not quite purist "one click and you are in" - they are capturing your email so they can pester you to sign up later I guess.Normal 'ALT' camera controls work, and work very smoothly. I'm now a lot more interested in cloud rendering than I was 15 minutes ago.

I've spent a bit more time with this now. Seems that going back in with the same email address resets the 60 minute timer, so right now you could effectively keep coming back as a guest as often as you like. Contrary to first reports, it is a flash based viewer, at least in Chrome. There are 30 destinations, very varied. Some are quite busy - just depends what timezone they are in and whether there is actually an event on at the time. It's still SL though, which is good and bad. The second time I jumped in, I landed in a shop underneath someone else. I could hear music, but there was nothing to indicate to me that actually this was also a concert venue and I needed to walk through the shop to the concert. Concert was busy - and therefore laggy - someone did eventually welcome me, and I typed 'thanks' - and the typing animation started 20 seconds later, and never stopped.

I then jumped to a Caribbean destination and the first to things that rezzed right next to me were pose balls labelled Massage M and Massage F. All quite disconcerting and confusing for new users.

This is a huge step for Second Life and virtual worlds in general. For me the jury is out on the business model - given the costs of cloud rendering - how do you pay for it? A clue is that Gaikai describe themselves as a game advertising service, not a cloud rendering service for games. Having tons of people connected for long periods 'really' playing would require them to pay a substantial subscription. Still, it seems the viewer technology is ready to bring lots of people into Second Life. But the Second Life world itself might not be.
View Article  OpenSim - How many people can you handle?
Exactly how many people can a region in OpenSim support? How many people could meet for business meetings or presentations in an OpenSim region? Allow me to illustrate with this piece of string and a tape measure. There are unfortunately many variables to consider, so much so that it is almost impossible to give any hard and fast rules. For example - how complex is the 3D 'static' environment (how many prims are there?), how many scripts are running in active objects, how many event listeners are running in those scripts? What will the people be doing - if they are constantly moving about and even crossing region boundaries, there will be a lot more load on the server to deliver new 3D data and textures whereas if they are simply sat in a chair in an office, there will be almost no strain, the only data being sent around typically being where the avatar is looking and maybe gestures (and of course voice traffic). Are the users interacting with in-world tools and obects such as display panels, noteboards or camera control objects? Finally we have infrastructure variables - what CPU is being used, how many cores, how much memory and what operating system (Windows and hence .NET or linux and Mono.)

All of this uncertainty is fine and accepted if your users are pioneers of virtual worlds, creating social spaces, playing with the technology, enjoying the feeling of being into something at the start. It may even be acceptable or at least accepted by educators who may be willing to deal with the uncertainty to get the well documented educational gains and low costs of OpenSim. But if you expect business users to pay to use a service based on OpenSim, you need some better answers.

The only real way to find out how many avatars your environment can handle is to log lots of folk into it and see what happens. There's nothing quite the same as a bunch of real 3D clients connected from a range of IP addresses all downloading textures and receiving updates. However, this may not be practical if you don't have a huge team of people to hand. You can try running multiple clients yourself, but a full 3D viewer such as Imprudence or SL Viewer 2 is a heavy weight beast, even the best of PCs may struggle with more than a few client instances. Another option is a lightweight non-graphical viewer such as Radegast. This allows you to log in, interact with objects and move about but consumes about a third the resources allowing you to run many more clients on each PC. Since it isn't downloading the textures this most closely resembles the scenario of users staying roughly in one place, as they might for a business meeting. The next option if you are technically adept is to use libopenmv - the C# client library that allows you to write your own clients that can connect to OpenSim and SecondLife (and that underpins Radegast and OpenSim itself). This comes with an example app 'TestClient' which provides the ability to log an AV in and do some simple things. From that starting point, you could go on to automate the process of logging in many accounts and log the resulting stats from the sim. You could also automate some typical actions such as sitting on chairs, changing presentation slides and so on.

At the end of this process you will have some numbers. Lets say that you find that on current hardware in the environment you plan to use you start hitting unacceptable performace with 25 users logged in. What to do? If your customer only needs a maximum of 20 users you can go back to the couch, but we need an option for when they come back and say "We love it, can we have 100 people meeting at once?". If those 100 people want to meet in the same space and all interact, then with OpenSim you may have a problem right now. However, if what you want is simply to have more people meeting in small groups, campus-like then here are two immediate options:

1. Create a grid - connect 4 regions each of which can support 25 users, ensure that when launching a meeting users are routed to a sim with capacity
2. Create stand alone regions - again with intelligent routing

Currently there is no mechanism in OpenSim for limiting the number of users who can attempt to log into a region - at some point the experience will begin to degrade for users already logged in as more people join, then at some point new users may find they can't log in or they can but everything has ground to a halt. This assumes that the route in is directly from the client. It would be nice if there was a configurable 'max_users' setting, resulting in a nice friendly eror messages for connections above that number, maybe I should write one. However, if you launch the viewer from your own web-client as we do then you have more options. Before starting the viewer, you could check how many users are logged in, and change the loginUri dynamically to another region in the grid. Or you could exploit a room reservation system - limit the number of users that can use each of several meeting spaces, and ensure that the total can't exceed your known limit (say 25, 40, whatever your load testing revealed) - then effectively the reservation system is looking after the limit for you. Once all the spaces in the first region are booked, people will automatically only have the option of reserving spaces in the second region. They won't even need to know that these spaces are in different regions if the spaces are reserved by name - "Meeting Room 1" etc. Even better, these regions could be spawned on demand since the reservation system knows in advance how they are needed and can fire them up (say on Amazon EC2) just before they are required.

Do you have experience with opensim hosting? How many avatars can you comfortably host on a region? Let me know, if enough people respond I'll try to summarise the results.
    follow me on Twitter
    Recent Visitors
    antojames - Tue 13 Mar 2012 10:04 GMT 
    Ascetshoisilt - Thu 08 Mar 2012 06:23 GMT 
    keithferrer - Wed 15 Feb 2012 04:12 GMT 
    june - Thu 09 Feb 2012 06:46 GMT 
    Rite - Tue 07 Feb 2012 06:36 GMT