Showing posts with label past. Show all posts
Showing posts with label past. Show all posts

Monday, April 07, 2008

connections and networking

I was chatting with Pathfinder at the Virtual Worlds Conference 08 in New York and we realized that there were two particularly long chains of personal connections that were relevant to the event and Second Life. The first was the State of Play conference, the second a video I had just been emailed showing Second Life being used for public diplomacy in Doha, Qatar.

The inaugural State of Play conference in November, 2003 was the first inflection point in Second Life's growth. It was where Philip took down the house by announcing, during a shared panel with There.com's Will Harvey, that Second Life residents would retain intellectual property rights to their creations. This announcement, the culmination of months of debate initiated by Larry's comment about ownership (1) and a complete rethinking of our EULA, generated incredible excitement and is a huge part of Second Life being what it is today.

But how did Linden Lab end up at State of Play, a small conference about games, economics, and law, created by Beth Noveck and held at New York Law School?

To answer that, we back up a few months to the first Austin Game Conference. Chris Sherman -- who also created the Virtual World Conference -- had decided the time was right for an MMORPG-focused games conference in Austin. Robin Harper and I attended, largely because we were still unsure of whether Second Life was a game or not. Second Life had around 1000 users, so basically nobody had heard of it or knew who we were. On the second morning, Raph Koster delivered the keynote that later became "A Theory of Fun", which hit many topics related to user-created content and motivations for creation, so I decided to go up and say hello.

I hadn't met Raph yet at this point, but he knew about Second Life because our first community relations employee, Peter Alau (2) knew Raph from Sony and had setup a meeting where Philip and Peter visited SOE and demoed Second Life. Raph recognized the Linden Lab t-shirt I was wearing as I waited after the talk. We started chatting and ended up talking about music, along with an ASCAP lawyer who had some very interesting questions about music in online games.

As we walked across the main hall, Raph mentioned to the lawyer that he was speaking at a law and games conference at New York Law School. He said that Ted Castronova was going to be there, too, and this it would also focus on economics. I thought that it seemed like a good conference for Second Life, but then didn't think much about it until I was sitting at Austin airport with Robin, waiting to fly home. We were discussing the fact that even though AGC was a great conference, Second Life didn't really seem to fit in. I remembered Raph's comment, did a bit of googling -- since I hadn't remembered which New York school --
and showed it to Robin. She thought it looked interesting, especially since we were in the midst of our IP transition, so once back at Linden, she and Catherine Smith reached out to NYLS and Beth.

And to think that Robin and I considered skipping the keynote!

This will seem like a left-turn at Albuquerque, but it isn't. I just received a pointer to this video:

This video is thrilling to see, because it raises some of the ideas possible when virtual worlds are applied to public diplomacy. It also demonstrates how far networks can extend.

After State of Play, Beth gave a talk at Harvard on virtual worlds, law, IP, and economics. This talk generated a lot of excitement at Harvard and led to me being invited to speak at the Berkman Center, where I met John Clippinger, a Berkman Fellow. John was working on the user-centric identity project Higgins (3) which seemed very applicable to Second Life, so he invited me to a later Berkman conference. At that conference, John, BCG's Philip Evans, and I ended up kicking around the idea that the massive entrepreneurial activity within Second Life could be a model and tool for real-world collaboration and market activity, and that Dubai might be the perfect test case.

John thought he knew the perfect person to ask about it, so a few weeks later we met Della van Heyst in Palo Alto. Della deserves a blog post -- hell, an entire blog -- all to herself, but for this story it is enough to say that she didn't think Dubai was the right place to start but that she was organizing AMD's Global Vision conference and would I like to speak at it, since Second Life was running on a huge grid of AMD-powered computers? That seemed like a great opportunity for us, so I accepted.

Ironically, by the time of the conference, Intel has reclaimed their lead in the MIPS/watt game and Linden had switched back to Intel CPUs, making for a somewhat awkward talk. The evening before my talk, Della hosted a speaker's dinner where I met Juan Enriquez and talked his ear off about virtual worlds and their uses. Juan subsequently introduced me to Cynthia Schneider, the former US Ambassador to Holland and one of the organizers of the US Islamic Forum in Doha (along with Peter Singer at the Brookings Institution.) Thanks to Cynthia, I attended the conference, spoke at Brookings (4) and re-introduced Cynthia to Josh Fouts at the Center for Public Diplomacy (5).

Which led to the panel and video at this year's Doha conference.

Pathfinder had seen the video -- and has met most of the connections in this story -- but as we laid them all out, we were amazed by how infectious the promise of virtual worlds are. It was against the backdrop of that conversation that I found the sudden smallness of virtual worlds disappointing.

Notes, because there are even more connections...

(1) I've written about the impact of Larry's comment in "Collapsing Geography".
(2) Peter, worked at Linden because his then-girlfriend/now-wife and my wife had met at a mutual friend's wedding.
(3) Higgins also has historical links to Andrew Donoho's Papillon project, which arose in part due to State of Play and a tech talk I gave to IBM Austin's Advanced Technology Group.
(4) Which led to the hiring Sue Singer, who Congressman Markey specifically thanked at the hearings last week!
(5) How I met Josh and Doug, and ended up teaching at Annenberg, is in a previous post.

Friday, February 29, 2008

speaking

One of the unexpected parts of my time at Linden Lab was public speaking. Lots of public speaking.

It is, of course, Beth Noveck's fault.

When Philip and I spoke at the first State of Play conference, we had the opportunity to write white papers about the talks we gave. I thought it was a great opportunity, so I wrote "Escaping the Gilded Cage," which went on to appear in both the New York Law School Law Journal and in a book from MIT press. When I sent it in to Beth, she liked it enough to invite me to give a talk about it at NYLS. Then Yochai Benkler invited me to speak to his class at Yale Law School. The rest, as they say, is history, as speaking became an important tool for evangelizing Second Life, inspiring new ideas, meeting smart people who could help solve challenging problems, and recruiting new employees.

But speaking is not something of done separate from my time as a Linden, so I am tremendously excited to announce that Washington Speakers Bureau is representing me for speaking engagements. While I continue to learn and consider what will be next, I am thrilled by the chance to continue spreading the word about virtual worlds, their impact on learning and innovation, and how Second Life formed a basic part of our engineering process.

Wednesday, January 30, 2008

handling crushing email loads

One unanticipated benefit of leaving Linden has been the elimination of nearly all of my email load. As the primary connector at Linden -- plus the most broadly aware of where the various technical pieces were at any given moment -- I tended to have around 200 emails a day that got past my various filters, of which 50 to 100 required at least some kind of answer. So, how to manage that kind of flow without spending all my time reading email?

Through lots of experiments and conversations with Ian Wilkes, Mark Ferlatte, Mark Lentczner, and others, I came to a solution that worked for me. It might not work for you. However, many people I've told about it ended up copying it, so I thought I'd share.

Mail configuration:

  1. All mailing lists and generated email filtered into folders
  2. All mail that escapes these filters copied into an archive folder, but original left unread in Inbox
  3. Ensure default client display shows sender and full subject line
How I read email:
  1. Block select all new mail
  2. De-select email where subject line/sender are insufficient to know that email need not be read
  3. Delete all email still selected, noting that it is still in the archive folder and can be read or searched later
  4. Read remaining new mail, responding to any emails that are either routing requests ("Who is the best dev to ask about bug foo?") or quick responses ("Can we meet to talk about how manage person bar?"), deleting email after response, again noting it is still in the archive
  5. Leave email that requires more time unread, respond when possible
For me, the big time savings were not having to copy email to the bulk folder by hand, since even keyboard shortcuts for copying email tended to be more work than just deleting it, as well as the bulk select method of initial triage. Now that I'm using Gmail all the time, this system works quite well, although my email load is still small enough that I've gotten lazy about not keeping my Inbox empty. This also works well with the manually configured IMAP Gmail on iPhone, since I can delete off the iPhone without actually deleting. Note that this is not the behavior you get if you use the Gmail automated setup on iPhone, you need to follow the manual IMAP directions.

Tuesday, January 22, 2008

metaverse memory: lsl1

I just had a chance to read James Au's new book, "The Making of Second Life." It was a fun read, but like any collection of memories, it captures only a tiny slice of the events that went into making Second Life. So, I think it would be fun to make a semi-regular part of this site different moments from my memories of the first 7 years of Second Life.

So, my first metaverse memory:

Around August of 2001, back when Second Life was called Linden World (note 1), there was no scripting language in SL. Primitar was about to replace the spaceships and floating eyeballs that were the original avatars and James was doing the first major UI revamp so that we could add to the world without shooting. The entire team had been debating how to add behavior into the system for months, with Philip arguing that we should just use physics. Philip had some really good points, because if we were able to use Havok for all of our behaviors, residents would be able to gauge the complexity of an object by just looking at it -- like mechanical systems in the real world -- and we wouldn't have to divert scarce resources into a project that could take significant time and effort. Mitch was also an advocate of visual complexity representing behavioral complexity, and I think there was something to that idea.

Unfortunately, Havok running on Pentium 4 servers was nowhere near powerful enough to represent complex systems in a general way. We had built some simple slides and teeter-totters, and while these were good geek fun, they didn't extend to create the kind of behaviors we all knew the world needed. But, I also believed that Philip was right. We just didn't have the development resources to divert a large number of people to build a scripting language.

So, I decided to crank one out in a night. Andrew and I both did semi-regular all nighters during those early Linden days -- including a memorable night when Andrew managed to lock me out of the room my keys were in and set the alarm, but that's another story. I am a huge believer is limiting developers to 40-50 hour weeks in order to maintain long-term productivity, but it is fun to occasionally proving you can still create something in a night. A simple language seemed like a perfect fit.

LSL (or, what became LSL1 when I wrote LSL2 to replace it) looked a lot like assembly, because this allowed the least amount of work to go into the parser and compiler. It had some of the functionality of the LSL2 -- for example, it could detect if you clicked on an object or a collision -- and had functions. It also was already event driven, an approach central to LSL2. Most importantly, it was working just in time for a Friday "Show and Tell"! I built a simple garage door, where a box would move from open to closed when you clicked on it, as well as some rotating objects, and demonstrated it.

Everybody was jazzed and after some discussion, we agreed that it should get rolled into the code. Philip immediately combined LSL1 with the physics engine to build the wind chimes that graced the original starting area. It would be about 8 months before I found time to revisit it and build LSL2 (note 2), the scripting language used in SL today. Finding time to build LSL2 became critical because our Alpha residents were building content so quickly in LSL1 and we knew that we couldn't support LSL1 going forward.

But that is a story for another day.

(1) There have been various reports of where the name Linden World came from. Sadly, that name was my fault. When I gave my signed offer letter to Philip, we met down at Accel's office in Palo Alto. One of the best parts of the early Linden offer letters is that Philip wrote them in a relatively informal style that perfectly captured his excitement about Linden. If I recall correctly, it had a wonderful phrase about how happy he was to be hiring me and that we were going to change the world. I was excited and worried, since I was walking away from what I knew -- game development -- and trying something quite new, and a bit intimidated by the whole Accel VC vibe. Philip set me at ease and introduced me to several of the Accel partners, including Jim Breyer. I handed him the paperwork that would put me on a new path and he shook my hand, saying how much fun we were going to have building this new world. I responded with "Yes, building Linden World is going to a blast." I paused. "But, let's never call it that!" Unfortunately, the name stuck in early discussions with Andrew and Frank -- and was cemented thanks to Frank's "Welcome to Linden World!" audio sample -- despite all of us agreeing that it was a horrible name. It wasn't until after Demo, the hiring of Hunter and Robin, and the move to 2nd Street that we were able to really revisit the name.

(2) LSL2 was designed and built over the course of about a week in early 2002. I had done some general Lex-Yacc homework before that, as it had been years since I had used them, and we did one meeting where we brainstormed what the structure of LSL2 should be. The initial LSL2 implementation didn't have lists. An extremely broken list implementation was added a few months later and then debugged for months. LSL2 will soon be running on the Mono open source CLI engine, which will make it much faster. For all of its challenges -- nobody is harder on LSL2 than I am -- it is still satisfying to know that over a million people have collectively written over 2.5 billion lines of code with LSL2.

Friday, January 11, 2008

adding an emmy to the list

The rest of the Second Life blogosphere already got this, but Second Life just won an Emmy! More specifically, the award for "Outstanding Achievement in Advanced Media Technology for Best Use of Commercial Advertising on Stand-Alone Broadband Devices (Personal Computers)" went to the L Word in Second Life, which was created by the Electric Sheep Company.

I am particularly thrilled to see this because I introduced Sibley to Second Life at the 2004 Accelerating Change conference, where I also met Jerry Paffendorf, Randal Moss, Jeremy Bailenson, and John Smart, all names familiar to those playing in and studying virtual worlds. Back then, Sibley was attacking a Holy Grail computer science problem -- video search -- at StreamSage, but being a bright fellow, he was already looking around for his next project. We kept talking and meeting until the timing was right for Electric Sheep to launch. I'm thrilled I was able to play a part in bringing Sibley into this space!

Reading the rest of the press release, it appears Second Life received a second Emmy, for "User Generated Content -- Game Modification"! Congrats, Linden!

Tuesday, January 08, 2008

raster vector raster vector

Just had the best IM conversation with Ian -- thank you Google for integrating AIM in gmail, which means now I actually monitor my AIM account. He's in the midst of a book about the Atari 2600, which pretty much defines cool in my mind. However, it gets even cooler. Ian decided that rather than just doing screen shots of old games, he'd pull them into Adobe Illustrator to create vector versions of the images, allowing him far more control of the presentation. (He claims to have a poster-sized print of the Atari Adventure Easter Egg, but the only way he'll be able to prove that is to send me one.) We'll have to wait for the book to see them all, but his process resulted in a hilarious moment when he got Cinematronics' Star Castle.

ibogost: I'm running Cinematronics' coin-op Star Castle in an emulator, which is emulating its vector display for my raster display, so that I can take a screenshot of that raster display in order to re-vectorize it in Illustrator for use as a figure in a book
So, vector (original game) as raster (emulated) to vector (Illustrator). What really got us laughing was to keep going, since the Illustrator image will be printed (raster, I think), read by humans (raster, with errors due to Nyquist), and be represented in our brains (vector).

So, to go from Ian's desired shot to the readers' brains, we get: vector->raster->vector->raster->raster->vector

OK, so we thought it was funny.

Ironically, one of the screenshots was being used to demonstrate how the 2600 did hardware collision detection. In our modern, tri-linear, multi-buzworded, hardware accelerated game world, we still tend to use some truly horrible approximations for collision detection. Bounding boxes, spheres, and even polygon-polygon collision detection tend to trade off accuracy for performance, since most cd is done in software on the CPU.

But back in the day, we had glorious, perfect per pixel collision detection done by the hardware! Hell, the Atari computers gave us two players and two missiles worth of hardware cd. Of course, with 2 or 4k of ROM on the cartridge, developers had to take what they could get.

OK, back to my Ajax homework. I'll have words for the "Head Rush" book tomorrow.