Earlier in the year I helped Josh Sanburn and his team put together a podcast series on building Second Life for the Wall Street Journal called “How To Build a Metaverse” which I’m now really enjoying. It’s great to hear all of the amazing stories about the origin of Second Life told by some of the most amazing people I’ve ever worked with, but the stories I’m enjoying the most are the stories I hadn’t heard before.

An incredible example from the most recent episode is the story of how Second Life’s moderation began. Peter Alau tells the tale of how he cribbed together a 20 paragraph Terms of Service using examples from other virtual worlds before Philip stepped in and mandated that the terms of service should be “Be Nice”.

My life was changed forever when I read Julian Dibbell’s article “A Rape In Cyberspace” while working on the literature review for my PhD in Persistent Virtual Environments at the University of Nottingham. The article made me realize that virtual worlds were not just a collection of interesting technical challenges, but that they could become real, meaningful communities and that the people who met in them could be hurt, just as they can in real life. Reading Dibbell’s article made me want to work on commercial virtual worlds that enabled those real human communities rather than experimental worlds that only existed as technical proofs of concept. I left academia, started working in the games industry, and quickly found the Terra Nova group blog that Julian Dibbell was contributing to along with Cory Ondrejka, the CTO of Linden Lab.

Given the path that led me to Second Life, I was saddened to hear that the origin story of moderation in Second Life didn’t mention it. Peter should have known that people wouldn’t read his epic Terms of Service, but at least he tried to apply best practice. “A Rape In Cyberspace” was already 10 years old when Second Life launched and Linden Lab were talking to many of the pioneers who worked on early virtual worlds. Philip should have known better, but pursued a wishful, naive approach to moderation and Second Life ended up learning a lot of lessons that had already been learned the hard way.

Grey Goo

This wasn’t the only occasion that Second Life’s design was optimistic, naive and didn’t give enough thought to how it might be abused by bad actors. When I first visited San Francisco I hosted a party on Russian Hill to get to know my colleagues only to end up huddled in the living room with other engineers battling a plague of grey goo spreading across the grid that was enabled by an over-permissive API. The API allowed scripted objects to self-replicate and so exponentially overwhelm regions until firewalls of shut down simulators limited the spread and space lasers were able to delete scripts to purge the world of the menace. Shortly after I returned to the UK I woke up one morning to my first encounter with the infamous Goatse image which a resident had pasted across the world so that it would show up on the live map that had been naively been added to the front page of secondlife.com without enough thought about how it might be abused.

Eventually Second Life’s moderation policies and processes got to a good place (Robin Harper was one of the people I spoke to about best practices for moderation when I was working on building safety into Oculus Venues) but the story of how moderation began in Second Life is one of missed opportunities. We shouldn’t just laugh off Second Life’s failings as the stories of swashbuckling hackers while at the same time pointing fingers at the similar failings of the current efforts to build a Metaverse. Multi-user virtual worlds were already 20 years old when Second Life was built and many lessons had already been learned.

“How To Build a Metaverse” is incredibly entertaining and illuminating, but this part of the story is a good example of how not to build a metaverse. You can’t just read the fiction about virtual worlds and ignore the non-fiction. You can’t just talk to people who built early virtual worlds or hire them: you have to actually listen to them and apply the lessons they learned.


Virtual Worlds, Real People

Thu 17 March 2022 by Jim Purbrick

Last week I gave a lab talk to my former research colleagues at the Mixed Reality Lab at the University of Nottingham about the work I’ve been doing since leaving the lab over 20 years ago. Rather than talk about technology I focussed on the lessons that todays efforts …

read more

Virtual Objects You Can Touch

Thu 26 August 2021 by Jim Purbrick

Horizon Workrooms

Now that Horizon Workrooms has launched I’m very happy to be able to write about the functionality that I found most exciting while building the experience: the mapping of virtual objects to their real world counterparts.

Typically augmented and mixed reality experiences overlay real world objects with virtual annotations …

read more

The Art Of Social VR

Wed 03 February 2021 by Jim Purbrick

The recording of my recent Stereopsia 2020 talk about the art of designing social VR experiences is now online. The talk summarises a lot of material covered in more depth in my posts on The Conversation Around Content, A Tall Dark Stranger and Small Places Loosely Joined, so if please …

read more

A Past And Present Future Of Work

Wed 30 September 2020 by Jim Purbrick

Studio Blighty

Over the last few years I’ve spent a lot of time helping people new to virtual worlds learn how they work. Over the last few weeks I’ve been sharing a series of short posts on some of the high level concepts I covered which will hopefully be useful …

read more

Replicated Redux: The Movie

Tue 22 May 2018 by Jim Purbrick

The recording of my recent React Europe talk about Replicated Redux is now online and I’ve written several other posts describing designing, testing and generalising the library if you would like to know more about the details. If you’d like to play the web version of pairs or …

read more

Replaying Replicated Redux

Fri 10 November 2017 by Jim Purbrick

While property based tests proved to be a powerful tool for finding and fixing problems with ReactVR pairs, the limitations of the simplistic clientPredictionConstistenty mechanism remained.

It’s easy to think of applications where one order of a sequence of actions is valid, but another order is invalid. Imagine an …

read more

Building Safety in to Social VR

Thu 26 October 2017 by Jim Purbrick

Last year I hosted a panel on creating a safe environment for people in VR with Tony Sheng and Darshan Shankar at OC3. I commented at the time that the discussion reminded me of the story of LambdaMOO becoming a self-governing community told by Julian Dibbell in My Tiny Life …

read more

Testing Replicated Redux

Mon 31 July 2017 by Jim Purbrick

Opening a couple of browser windows and clicking around was more than sufficient for testing the initial version of ReactVR pairs. Implementing a simple middleware to log actions took advantage of the Redux approach of reifying events to allow a glance at the console to reveal precisely which sequence of …

read more

ReactVR Redux Revisited

Tue 04 July 2017 by Jim Purbrick

There were a couple of aspects of my previous experiments building networked ReactVR experiences with Redux that were unsatisfactory: there wasn’t a clean separation between the application logic and network code and, while the example exploited idempotency to reduce latency for some actions, actions which could generate conflicts used …

read more

Generation JPod

Sat 03 June 2017 by Jim Purbrick

I’ve just got back from Kaş where I spent a lovely few days celebrating Pinar and Simon’s wedding and while there spent a few hours reading Now We Are 40: a thoughtful and entertaining look at everything from house music to house prices from the perspective of Generation …

read more

2² Decades

Thu 20 April 2017 by Jim Purbrick

Several years ago when we were in 100 robots together, Max was celebrating his 40th birthday. When I said that mine would be in 2017, it felt like an impossibly far future date, but, after what feels like the blink of an eye, here we are.

Along with many other …

read more

VR Redux

Wed 04 January 2017 by Jim Purbrick

Mike and I have been talking about how to easily build simple networked social applications with ReactVR for a while, so I spent some time hacking over the Christmas break to see if I could build a ReactVR version of the pairs game in Oculus Rooms. Pairs is simple and …

read more

Creating A Safe Environment For People In VR

Mon 31 October 2016 by Jim Purbrick

I was very happy that Oculus found time at OC3 to host a panel on creating a safe environment for people in VR. As social VR becomes more popular over the next few years it will quickly have to learn how to keep people safe together in shared environments. Some …

read more

dConstructing Augmented Reality

Thu 08 September 2011 by Jim Purbrick

One of the events that kicked off Brighton Digital Festival was dConstruct, the always thought provoking conference run by clearleft.

As usual I found most of the sessions interesting, but not always relevant as there’s a heavy design rather than development focus. The most relevant talk this year was …

read more