October 28th, 2009 by Caleb Booker
Catching up on my news reader for the past few weeks, and this leapt off the screen: China Bans Foreign Investment In Online Games, Virtual Worlds.
Good lord!
China’s perverse blanket censorship of the Internet was one thing – if the Chinese people want their thoughts to be controlled by a bureaucracy that’s their business. Public opinion influence and control by political entities is old news. But this is something startlingly new. This is them saying: “keep your filthy stinking money!”
Are they honestly that rich already?
Apparently China’s online games were worth over $900M in Q2 alone. So sure, maybe that’s enough… if there is such a thing as “enough” in modern economies. Still, can anyone really afford to slow down when things are moving so fast these days? Won’t this make foreign investors from a variety of industries flinch a little?
Morality (however you define it) is expensive, and it looks like they’re willing to pay the price. While I’m not entirely certain I agree with their particular philosophies, I have to admit: xenophobia in the digital age takes guts.
It will be interesting to see how this all shakes out five years from now.
October 19th, 2009 by Caleb Booker
I have a lot of work to do today, but to hell with all of it for a minute. This needs addressing.
Last week I put some notes down about what I wanted in a virtual world largely as a thought exercise to help me collect ideas as I worked on a project for Clever Zebra. Interesting pingback links and comments came in, but one stood out (thanks Claus):
I agree with everything except the need for 1,000 or 10,000 concurrent users, in one shared space. The benefit of a virtual environment is the interaction with other people. You can interact with 30,40 people, even 100 will stretch it. 1,000 or 10,000 is a broadcasting event. Unless you break it down again into 30-40 smaller groups.
This is a common objection to the concept of allowing more than 50 avatars to share a space. Many bright people from both academic and technology circles argue that the need for many concurrent users to share a single 3D space is unnecessary and irrelevant.
At the moment virtual worlds just aren’t built that way: get too many people in the same room and the whole thing chokes. Many of the world’s brightest people consider this issue to be very low-priority.
They’re dead wrong.
I have all sorts of arguments, but let’s put my nerdyness on hold for a second and ask a simple question: which of these two clubs would you rather hang out in?
vs. 
Go with your gut here, because that’s what using a 3D space is all about: your gut reaction.
If the issue is settled for you then get to work filing bug reports with your favorite 3D platform that they aren’t supporting nearly enough people in a given place, and that until they do everything else they accomplish is irrelevant. If you’re an Auditory-Digital thinker and the issue is still far too vague for you, read on.
The facetious, in-your-face argument:
If the whole point of using a 3D virtual space is its similarity to being in a physical space, ask yourself this question: in the real world, are conference centers important to business? Are large rooms important? What about auditoriums and theaters? How about trade show floors?
A lack of concurrency forces us to slice all of these things up into small classroom-sized rooms. This is unacceptable. Period.
Take every one of your arguments in favor of small “multiple-venue solutions” or the fact that you can’t chat with more than a few people at a time and apply them to eliminating REAL-WORLD large venues. Do they still hold water? No, of course not. They don’t apply in the virtual world either.
The perception of value argument:
Which of these two speakers at the UN is saying things the world considers important to think about?
vs. 
Note: you could tell without even knowing who was on stage, couldn’t you? Shared presence matters on an instinctive level.
Seeing lots of avatars manned by real people adds a huge perception of value, but it isn’t just a visual phenomenon. Audio comes into play here as well.
One of the most important features of a recent trade show we ran (using four separate servers at once to support a mere 200 people at a time) was the chatter in between the booths. That background hum was something that you can’t fake with a looping crowd sound-effect. The real thing makes a difference.
That sense that something big is happening right here, right now, is huge. It beats the hell out of even a live video broadcast.
The rebooting server argument:
Which server is less likely to crash: one that can support 1000 users, or one that can only handle 50 at a time? I mean, all things being equal, a high-capacity machine can handle one or two extra avatars joining a meeting or sneaking into a lecture much more safely, can’t it?
The “on paper” vs. “in practice” argument:
Bottom line: nobody should be rationalizing what should be important. They should just look around and figure out what seems to be important, based on observation of how things are done in the real world.

This is a chronic problem in both academia and technology circles. People discover a new way to sound clever and stop paying attention to what people are actually inclined to do. This results in user-punishing interfaces, the necessity for hour-long orientations, and the Zune. Check yourself guys.
The “stop saying that’s impossible” argument:
Ok, last one, and then I’d better get back to work… won’t really be proof-reading this either… again…
One thing a lot of people assume is that high concurrency is impossible. The fact is, it isn’t even hard.
Take Activeworlds: you can cram a ridiculous number of people into a single room. Chat his handled gracefully, and on the client side if your computer can’t handle displaying that many avatars at once it just displays them as 2D cutouts in the distance.
A number of other platforms simply reduce the detail level on avatars that are far away. As a result the client doesn’t nag at the server for a ton of data it won’t use, and everything scales. Again, a client-side fix, easy to roll out.
Even voice can scale! Vivox is just one of many companies finding new ways of mixing audio based on proximity, allowing you to see someone in a conversation across a crowded room and walk over to them with your business partner without all sorts of technical hacks and craziness.
Ok, I’m out of time…
which is why this is so long. Usually I ramble, grab a bunch of pictures from Google Image Search to break it up, and then start cutting the text way down… but you’ll have to suffer the length this time, sorry. So, how do I wrap this up? Concluding thoughts?
Concurrency is a make-or-break for business. For games, who cares. That argument I’ll buy for a myriad of reasons. But when it comes to making these things into practical, meaningful tools, worrying about an extra team of 20 observers from the branch office not being able to fit into the venue is just stupid.
We’ve just barely been able to scrape this technology together into something that isn’t a toy in the last few years, but the true explosion of virtual worlds is held back by the inability to do anything large-scale. Delivery of virtual crowds will be the true dawn of the virtual world.
October 15th, 2009 by Caleb Booker
Face it: there just isn’t a single virtual world platform that can do everything. They’re all either too difficult or too simplistic.
While we’ve considered developing our own, software development would take us out of our core competency of events in virtual worlds. Its not that we can’t, its that we really probably shouldn’t right now.
So I’m going to ask you, gentle reader, to go out there and make the 3D platform that the world deserves. I know you’re up to it!
Here’s the wishlist:
- Just focus on the engine and open the API up to developers.
- Crowd-source the extensions, not the core. Make some hard decisions and get it done this century, rather than arguing everything to death.
- Make it browser-based, and avoid plugin downloads at all costs! (beyond maybe the standard Flash or Java)
- Make logging in optional! People should be walking around your world immediately, with the option to log in at any time (to receive special access, abilities, customization, virtual goods, etc).
- Stick to free or open-source standards whenever possible. (Example: COLLADA!)
- Allow HTML and PHP calls to the web, and draw ALL data from the web.
- Allow avatars to hand files to each other. For example: I meet Ted, we’re talking, I say “hey Ted, here’s my card” and then I hand him a JPG or vCard or something from my hard drive… and then he gets it. It KILLS me that this function doesn’t exist anywhere!
- CONCURRENCY for crissakes… if you can only get 10 people in a room, don’t even bother. Just format your hard drive and get the hell off our Internets. We need 100 minimum, 1000 preferably, 10000 ideally. For so many reasons I can’t even begin to get into in a post like this one, I need to be able to fill this concert hall:

About the interface:
- Give the webmaster 100% control over the interface. Ask any webmaster: putting the content in is less than half of their job!
- Respect the standards. Billions of user-hours spent testing them have borne them out. Arrow keys, WASD, with E, R, and C for special functions like strafing or flying. SPACE to jump.
- Voice should just work. (See web.alive for a great example of this.)
- Put nothing on screen at all by default. Open the API up to allow individual content creators the ability to do this themselves if they want. This, for instance, is unacceptable:

CAUTION: red herrings (things people talk to death but aren’t super important… yet):
- Walking from one world to another (“interoperability”)… later. Crawl before you walk.
- Social networking. If you’ve left your platform open enough, a content creator will come up with it eventually.
- Facebook. Someone will probably adopt it into Facebook for you, but putting an app in Facebook is like putting web content in a frame: an awkward design choice that ultimately distracts users from the content.
Things you need to encourage independent developers to create:
- Voice – seriously, encourage competition between providers.
- What avatars actually look like
- Surface textures (on the back-end webmasters should be able to install developer plugins for video, HTML, custom PHP, etc…)
- Transfer protocols (ie: while avatars should immediately be able to hand files to each other, open the API enough to allow plugins for multiple protocols so that they can do FTP, Torrents, or direct HTTP/HTTPS requests)
- Animation protocols (ie: you’ll probably have a default way of doing this, but conventions here change constantly. Let the experts develop tools for you.
- 3D Object standards (You’ll need to pick something to support directly, but there’s just too much innovation out there to lock yourself down. Allow developers to create plugins for accepting other kinds of 3D content.)
- HOSTING. You are a software developer, NOT A WEB HOST. Let people find their own solutions here. Stay focused! Focus dammit!

Ok, go!