When worlds collide

Interesting juxtaposition between these two from overnight:

What's New?

People are often pretty good at walking into a room they are familiar with, and instantly knowing what has changed. That’s pretty useful for 3D operations team rooms. But what if things have been “redecorated” — moved around for better functionality without changes to the important content? What if the user has been away for a long time? If the user isn’t visually oriented? What if the “user” is an external computer system? <%image(20090629-rss-forums.jpg|363|472|Firefox RSS feed of some of my forums.)%>

Continue reading

NOW they get it. NOW they don't.

I find two of Microsoft’s current ad campaigns interesting. One asserts that computer technology is all about connecting people, particularly synchronously (as opposed to asynchronous stuff like email, file sharing, and wikis). If you replaced the Microsoft logo at the end with Qwaq’s, I think it would fit my company perfectly. They get it.

But now they’re running another series of adds that dismisses search engines in favor of what they call a decision engine. I don’t want Microsoft to make decisions for me, but I sure do want information much closer to real time. On Friday we saw first one green Chinook helicopter go by our office windows, and then another, and then I think a Huey. What’s going on, I asked of the office in general, as they shouldn’t be training on such a windy day over a populated area. So Keith searched. He figured Google was too old-news, so he immediately went to Twitter. Someone had posted that there were helicopters going past their office windows to the nearby San Carlos field for tomorrow’s helicopter air show. This week a fellow on Colbert interviewed the editor of the New York Times. “Here’s today’s paper,” he said to the editor. “Show me one thing that happened today.”

I figure Wide-Area-Networked computer systems have only been around for a little more than ten years. Most of the realtime applications have been dedicated, structured, proprietary systems. But for people to truly connect, to truly work together, they need to be able to pull arbitrary things together in real time — things that the designer of the system did not specifically envision and provide for. Real time arbitrary search(*) is one example, but the general theme is realtime, unstructured, multi-person, multi-media, multi-application collaboration. It’s going to be huge.


(*) When Web search started, realtime search referred to getting answers to a query in realtime. It wasn’t about the age of the underlying information. Now realtime results are the expected norm, and we can safely use the phrase “realtime search” to mean that the information is live.

I don’t know what to call this general application collaboration: multidimensional, multi-facetted, unlimited, live, organic, unconstrained, …

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.