InstructionalAlchemy

Google is waving, at us

by azwaldo on Dec.24, 2009, under Uncategorized, blahblahblah, design, secondlife, usability

Image combining the logos of Google Wave with Second Life™, with the Wave sphere shown in the hand of Second Life™
Is wave technology
already in
our hands?

Some interactions that are routine on the Internet or a computer are still missing in Second Life™ (SL). Yet, the amazing range of functionality in SL now seems to anticipate what we see in new web apps like Google Wave. Maybe we already have those capabilities in Second Life™.

This is a long post; but then, I have been hitting it hard for more than two weeks. To prepare for last Saturday’s Wave users’ event I poked around Google’s Wave API documentation, stalked XMPP through a daily reading regiment, and pestered quite a few rezidents with quite a few questions.

In my previous post, I reported some general impressions from hosting that event. Here, I present what I learned in the process about XMPP (the foundation on which Google Wave was built), make mention of a few milestones (both mine and the metaverse’s), and comment on what I see as lacking in SL…hoping to explain the change in perspective alluded to last time.

XMPP—the framework on which Google Wave was built—is an open protocol meant to facilitate near-real-time, extensible instant messaging (IM) and presence-data exchange. Let’s take that one letter at a time; and, in no particular order.

eXstensible Messaging and Presence Protocol.

Protocol is a term that refers here to the “rules determining the format and transmission of data” (wordnetweb). XMPP gives us a set of guidelines within which to operate. This sounds a lot like a platfom on which to build; but, my use of terms like “platform” and “integration” does not always integrate with others. Let’s just call ‘em “rules.”

Messaging we are familiar with; we have seen instant messages in Yahoo! Messenger or AOL for years, then mobile text messaging spread, and now there is Twitter. To spot the trail cut by XMPP, remind yourself of the immediacy of these messaging applications, that seemingly instantaneous transfer of text (and text is data).

Presence (or what is referred to sometimes as presence data) has me scratching my head the most. It is said to refer to information about one’s availability. While writing this, I am reminded of something I just read: “Today, there is no central repository of virtual identities that associates email addresses, social network user names, and other identifies with a single real identity” (Maria Korolov, in “Metaplace closing…“). And Wikipedia gives us this:

“[We have] a rich choice of additional presence attributes that can be used for presence information, such as user mood, location, or free text status.”

(Notice one little word in there: “location”. Augmented reality finds purchase here, too.)

And yes, I saved the best for last…

XMPP is an open system; it is eXtensible. Anyone can create new applications by building up from this foundation, this platform, using rules to run their own XMPP server and talk to users on other servers. So, once you see that Google Wave is not the protocol, but just one example of a tool built up from an open framework (XMPP), then you begin to see how anyone can take this framework and create a new sort of “wave” application and host it on their own server (just like you can host your own virtual world, OpenSim).

Image of a three dimensional model of a small table top oscillating steam engine.
Oscillating Steam Engine 1
Modelled using Maya
Image by Mark Tomlinson (zcreem)

This next extension raised my eyebrows…it might be new to you, too. Despite the buzz about Wave, the most interesting find in the last few days has been the extension of Maya, the 3D modeling, animation, rendering, and visual effects software. Imagine placing photoshop in Wave, or Qavimator.

Now, there is CoMaya (see video below), a real-time collaboration design tool. Using CoMaya, modelers can work together on the same design even if they are on different continents, seeing each other’s changes in near-real-time.

Yeah…I know! And there’s more…applications like CoWord and CoPowerpoint.

So, let’s sum it up: Where XMPP might let bloggers collaborate on a document in real-time, and CoMaya brings together designers from far apart to fashion a 3D model, we see the crossing of a divide; software bridging gaps in space and time. But, consider this:

That is what is happening every moment in Second Life™.

Right? We already get together to collaborate in the virtual world. We can co-create a document, prepare a slideshow, or create an architectural design by working together; and, everything we do is in real time.

That is how it happened.

Taking a look at another platform opened my eyes. Taking a few steps back helped me to see just how big it is…our Second Life™.

Let’s back up some more.

“…the IETF has formally sanctioned the creation of a working group in the area of virtual world interoperability protocols Virtual World Region Agent Protocol. This is ending of the beginning — or perhaps the ending of the prelude, and the start of a long road.”
Zero Linden, in an office hours log from October ‘09

Zero Linden’s remarks about interoperability mark a point in time. Whatever principles guided Linden Lab previously, this news points to a wider metaverse…at least it does for Zero Linden. Since it is akin to an opening of doors, interoperability means more; more worlds to explore, more avatars coming ’round, more content to experience.

One day, despite having been totally consumed by XMPP and event planning, I might look back and remember last week for having finally joined the User Experience Interest Group (UXIG). I had been going to the meetings for months, when I could make it; and, I have read many of the chat logs when absent.

At first, I thought the UXIG was a Whine-and-Jeez party (”How come they don’t…” and “Jeez! Why didn’t they…?” and the like). Gradually, I began to see through the (constructive) criticism and sense passion behind the dialog: These are serious users, and many of the rezidents you meet there are serious developers. (It is not uncommon to sit at a meeting with three others who are actually constructing new client viewers, like Imprudence and Meerkat, and some you’ll find in the logs from Zero Linden’s office hours.)

The extension of applications is a strategy that I had not appreciated, up until now. The three-dimensional simulation—the server application that is Second Life™—is more than an environment, it is a platform; a serious developer’s platform. And, it is time for me to treat it with respect; so, it is with all due respect that I ask:

  1. Why can’t I drag and drop images for you to see?
  2. Why can’t I view any video I want, whenever I want, no matter where I am at?
  3. Why can’t I access an archival chat log for group instant messages? (All subsequent conversation is lost to me when I log out or close the group chat panel.)

I have designed a workaround for #1, actually (ad); and, given this new perspective, I have begun to tinker with a solution to #2.

But, in the last two weeks I have come to realize that SL already gives us the means to develop extensibility, implement messaging, and utilize presence data.

We don’t need no stinkin’ Protocol.

We just need to recognize the functional spaces where a new tool would fit, and set upon closing that gap. In some cases, the behavior might be similar to that demonstrated by Google’s Wave.

If we step back, we might see that we are already out in front, and…

Google is waving, at us.


Leave a Reply

Some HTML will work <a>, <b>, <i>, <u>

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!