Howard Stearns works at High Fidelity, Inc., creating the metaverse. Mr. Stearns has a quarter century experience in systems engineering, applications consulting, and management of advanced software technologies. He was the technical lead of University of Wisconsin's Croquet project, an ambitious project convened by computing pioneer Alan Kay to transform collaboration through 3D graphics and real-time, persistent shared spaces. The CAD integration products Mr. Stearns created for expert system pioneer ICAD set the market standard through IPO and acquisition by Oracle. The embedded systems he wrote helped transform the industrial diamond market. In the early 2000s, Mr. Stearns was named Technology Strategist for Curl, the only startup founded by WWW pioneer Tim Berners-Lee. An expert on programming languages and operating systems, Mr. Stearns created the Eclipse commercial Common Lisp programming implementation. Mr. Stearns has two degrees from M.I.T., and has directed family businesses in early childhood education and publishing.

QRLs are not SLurls … but they play that role on the 'Net.

We’ve created ordinary http URLs that teleport you to places in-world in Qwaq Forums, Being programmers, we could not resist the pun of calling them QRLs. The most common uses today are:

  • meet me here – telling someone where to meet, in IM, email, or calendar invite
  • I was here – recording a history of where you were in a bookmark or some sort of audit trail
  • go there – even if working asynchronously, you can tell people where to go to explore more from a Web page, blog, or wiki

Most programs will recognize http://… and turn it into something clickable that starts your Web browser if it is not already started. Our QRLs produce a page that displays instructions, which is nice if you don’t yet have the Forums client installed. But if it is installed, the page can automatically launch the client and place you directly at the designated location.

Continue reading

Places, Everyone!

Related to the URL addressing concepts discussed here, there is the question of how to denote places within a 3D world. I really like having names for these.

A typically engineering way to map out locations in a model is with coordinates. There are a couple of problems with this.

Numbers are generally pretty meaningless to users. I hate dealing in part numbers or account numbers rather than product and account names. Numbers just aren’t as mnemonic as a single name, and in 3D it takes a lot of numbers (six numbers of several decimal positions each) to describe the position and orientation you need to be in so that you can see something of interest.

Worse, a position and orientation are only interesting because of the things you can see and do there. If those things change (e.g., move, rotate, or change size), the coordinates for you to work with them are then different. We’re also interested in doing things in cooperation with other people. While it is true that unlike the physical world, several avatars can be in the same place, it is often cognitively and socially nicer to position a group of people around some item of interest rather than stacked up on top of each other.

Our client architect Brad Fowlow has led the development of several ways to address this by interactively or automatically creating a rather sophisticated set of named places from within-world.

Continue reading

Being Seen

I’d been wondering whether anyone on our company’s Board of Directors knew who I was. I know a couple but it turns out most didn’t. But just before the last board meeting I ran into a director that I’m sure I had never been introduced to. He said, “Hi Howard” as we passed.

The only thing I can think of is that he must have recognized me from my avatar. I don’t remember now what I had worn when I had briefly participated in previous meeting. It could have been a photo- or video-faced “Lego man” or it could have been a custom avatar.
<%image(20090530-howard-lego.jpg|227|261|Video-faced Simple Avatar)%><%image(20090530-howard-jake.jpg|227|261|Custom Business)%><%image(20090530-howard-john.jpg|227|261|Custom Casual)%>

I haven’t been very interested in avatar appearance, but I guess there is value in having people build some personal familiarity without physically meeting. I don’t want cold-calls via virtual worlds, but I suppose that a scheduled virtual meeting or happenstance encounter in a virtual reception builds a stronger tie than email or telephone. I wonder how that will play out for sales and relationship-building in the future.

3D vs 2D for Legacy Applications

When Alan Kay’s team at Xerox created the overlapping window user interface, they were working for a document company. Everything was organized around documents mimicking paper, sitting in folders except when being operated on by one application or another.

We don’t need the paper metaphor anymore, but we sure have a lot of 2D paper-oriented legacy stuff laying around. While 3D is pretty clearly winning for new applications in which people work together(*), it hasn’t yet demonstrated something so much better with which to replace all the existing 2D docs and their applications.

The state of user-interface design has provided two ways to deal with this: virtual computer displays embedded into the 3D world, and floating 2D windows. Both are pretty good and have their place.

Intensive Care Unit
One avatar is operating an in-world bio-signs display, which is also being shown in the lower left as a 2D panel floating over the view of the virtual room. The text chat is a 2D floating panel in the upper left, while the procedure timer and other applications are in-world.


(*)Without people, there is no realtime collaboration. 2D includes people only as second class abstractions rather than reifing them as first class objects in the communications model. For teaching, training, and working meetings (as opposed to mostly unidirectional sales presentation meeting and lectures), 3D has emerged as the most natural way to show individual presence, and the simplest way to provide enough immersion to give a sense of shared presence.

Continue reading

Being There

We’ve all seen the cartoons of people sitting next to each other in silence and texting each other. I just picked up my daughter from a concert where she did exactly that.

At work, we meet for a few hours in-world at least twice a week. Usually at least one of us is in some other part of the world and a few at home, but sometimes we’re all in the same room with headphones on. It isn’t always better than being in the same room with someone, it isn’t always worse. It’s just different, although occasionally it isn’t even that.

For folks growing up with texting and ubiquitous computing, it seems working with others in a virtual world should not be an issue. But circumstances matter (context is king) in ways that I still don’t understand. I’m disappointed that even we are passing up some working relationships that are long distance even as we do others that are global.

Sometimes you text the person next to you and sometimes you have to get on a plane.

Goal!

How do we improve the breed of collaborative programming tools? Should we have spectator programming competitions on the Internet? (The people who like those things only watch for the crashes!)

I don’t think there’s a good commercial driver for improving programmer productivity(*), but spectator sports and particularly racing has been a good driver in other fields.

  • I think there’s a lot of relevance for the game-theory outcomes of nice-sized sprint programming problems such as whether, say, Tit-for-tat or Pavlov is a better algorithm for Free-Rider scenarios, or whether that changes for a mix of Free-Rider and Volunteer’s-Dilemma.
  • I think most programmers and programming managers still have never really seen very dynamic languages and live debugging environments, and such competition would be a great way to show them off.
  • I think it would put nice stress on the collaborative environment. How many people can watch? Can they see everything such as keystrokes and mouse movement? Is that important? Can they easily see who is doing what? Can they see multiple players’ activity at once? Multiple teams? Can they record and have instant replay?

What would it take to pull this off?


(*) Me on IT management, Tech failures, and the General Theory.

A Great Miracle Happened There

One of the really great things about the WWW, as opposed to the Internet in general, is that the Web separates the concept of naming from everything else. A URL is bit of text that names a resource. You can type it. Except for some long URLs used by banks and in ecommerce, you can often even remember it. But most importantly, you can include the text in some other technology such as an email, an instant message, a calendar invite, a Web page, or even in a book or piece of paper. It can be sent and stored. The URL can be transmitted through this separate non-WWW media, and it still works on the other end.

When you name something, you have power over it. Like the dreidel mnemonic of the title, names help you to remember stuff. You can speak clearly about places and objects instead of just using misunderstood pronouns and long descriptions. And best of all, if you know something’s name, you can use it in casting a spell. (We call them programs.)

So a big part being able to work with virtual worlds, talk about them with other people, and use them in programs is to have a name – a URL that corresponds to each interesting thing about a virtual world.

Continue reading

Subsumption Assumption

Ack, this was sitting in my drafts folder for nearly a year. At the time I started it, someone had asked about how one might use Croquet virtual worlds to subsume other technical functions in the same way that the World Wide Web has incorporated other resources and functions. I did five minutes on the taxonomy of the problem-space.

I should have just answered with this video of Intel’s John David Miller demoing the use of Twitter from within a Qwaq Forum. He fills in the stuff on the Twitter Web page (crappy hand-held video, below) and then I love how the audience guy asks, “And then you can bring the result in to the world?” JDM answers that it already is, and dollies back to show that the whole interaction has been in world the whole time.

Reminds me of this from way back when.

Hanging Out in the Lobby

A lot of us like to run Forums all day, like an IM client. In the new version, you can log in to your organization without actually entering any of its forums(1). We think of it as hanging out in the lobby of that organization. You can watch people going in and out, text chat with them, and join them in whatever forum they are working in(2).

The idea is that if virtual world technology is a meta-medium that subsumes, for example, instant messaging, then it ought to do IM as well as dedicated IM clients while retaining the benefits of the virtual world technology. In the case of Forums, that means secure communication.


  1. In Forums, each user is a member of one or more organizations.
  2. People tend to have one forum per project at work.

Continue reading