InstructionalAlchemy

Archive for December, 2009

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 Comment more...

Integrating Wave with Second Life: Lessons Learned

by azwaldo on Dec.22, 2009, under blahblahblah, design, secondlife

Image showing avatars in a meeting area, posters about Google Wave displayed around them

The Second Life Google Wave Users Meet-Up is over and appears to have been a success. A chat log is posted, and edited audio recordings will soon be uploaded. I plan to listen again, first, taking notes this time. Images have been uploaded to Flickr.

My nervousness in the last few days surprised me; this was my first time managing such an event in Second Life. For every item checked off of my planning list, two more tasks had been added. Many things were left undone, some could have been done much better, and—for the moment—I am simply ignoring those that I failed to consider.

Discussion area, Lounge area, and stage and dance floor;
image taken from far away to hide the fact that my
seats were floating. (Click for full size)

I plumb forgot to install a new visual effect created just for the live musical performance. Enough criticism, though, because there is much to celebrate. Rezidents began showing up before midnight (I was still rezzed at the event site; still lining up ducks.), and as many as thirty or more showed up throughout the demonstration and discussion.

In terms of the organization of the event, I had one sure measure of success; it came midway through the discussion. I noticed that I was attending to all manner of administrative tasks; paying very little attention to what was being said. I thought that it would be nice to be able to listen and read what was going on. In other words: I would like to attend an event like this.

Success.

If you have Friendly Fire rocking your sim after an
event, be confident that a good time is had by all.
(Click for full size)

Several advances were made; this post was opened to share these achievements. Firstly, I had a powerful first lesson in virtual world event management…no small thing, I now understand. Next time I throw a party there will be a promoter, probably an event organizer, and I will likely hire out some of the content development. Maybe all of the above. At the very least, I know that my approach will be more confident, my manner emboldened.

Secondly, I learned that my skepticism is well founded in considering the integration of SL with XMPP—or wave technology. One of the reasons for having the discussion was I did not know what I did not know.

  1. Is my understanding of the SL simulator and XMPP insufficient so as to leave me ignorant of what is otherwise an obvious opportunity for development?
  2. Is there some facility of XMPP that can enhance the file sharing capabilities for my avatar?

I now have an answer to the first question, and few clues to help to track down the second.

Among the rezidents I hear talking about this, none of us describe a compelling scenario in which Wave-SL integration is a benefit. I just do not have a clear idea for extending Google Wave’s messaging and presence into the virtual world. Still, I am considering how Wave can supplement activities in world, supporting a process such as Studio Wikitecture’s collaborative design by providing a new tool for communication and documentation. Most importantly, perhaps, I have entered into a conversation with some who may help me to understand the potential.

Image combining the logos of Google Wave with Second Life™, with the Wave sphere shown in the hand of Second Life™

As to XMPP file sharing being a boon to virtual world design? Do not look to drag and drop your OpenOffice document onto my avatar soon. But, the discussion has only just begun.

Thirdly, I am seeing the virtual world platform from a higher vantage point. The most encouraging result of the event came as a welcome surprise. The space occupied by virtual worlds such as SL or OpenSim has expanded for me. The boundaries distinguishing these virtual worlds from the larger Internet? They have become a bit more fuzzy. My experience with Google Wave and knowledge of what is “new” about XMPP suggest that more of the web will begin to seep into Second Life, adding even greater depth to that immersion.

The event brought people to an open forum, taught me a valuable lesson, and focused my own study of XMPP and the platform that is Second Life. I am dusting off my wish list, re-visiting features I feel are lacking in the platform. Virtual spaces that might be filled with new content have revealed themselves. In my next post, I will mention several; for each, I have either a solution, something in the works, or an idea worth pursuing.

Comment form is down below.

1 Comment more...

Design and inspiration

by azwaldo on Dec.16, 2009, under design, secondlife


Particle spores! Tell me about your
biology teacher, Mr. Polke .

Being away from Second Life™ was unexpected. It has happened before. First Life usually trumps SL. But, this time I was not sure when I would return. Now, each day rezzed feels like I’m in the bonus round.

Fortunately, I landed in mushROOM (SLurl) after that long hiatus. Scottius Polke’s “Interactive Illustration” is fresh. I was inspired in moments. Day-glo mirth poking me in the smile, whispering “no boundaries”, “no restrictions.”


Plenty of clever surprises here, don’t let that
idle avatar fool you.

There I was, playing again. Smiling wide when I found an easter egg; smiling wider as I watched someone find an egg I had missed…dancing on the electrical plug. Jump on the bed, Tary? Sure, but you gotta swim with the amoebas, I say!

Something elusive to be learned here; there is craft, and fun…but there is also engagement by design.


Soon after mushROOM, I was wandering around The Companion (SLurl, Flickr group). I will not describe this folktale/storytelling build, as it certainly is of gotta-see-it-for-yourself caliber. But, I mention it here because I was itching to build something minutes after arriving.


Early scene in The Companion


Force Planet

And today, SL Showcase led me to Force Planet (SLurl), with a custom Windlight setting. Design flowing around the build, here; out of the virtual space and into my viewer.

Excellent.

I’ll probably go back to Planet Force, tomorrow. And a return to The Companion is coming, for I have not gotten far on my first two visits there. I rarely do in such spaces. I end up staring in wonder, puzzling over the smallest design details (”I haven’t seen anything like that before.”)

When I go, I will probably still be trying to think of an educational build in SL with the same level of artistry, a space with a comparable sense of engagement. Surely I have seen them, I just cannot recall…

How ’bout you?

Leave a Comment more...

Second Life Wave Users Meet-Up

by azwaldo on Dec.13, 2009, under design, opensource, scripting

  • Who: Second Life™ developers who are also Google Wave users
  • What: Developers Discussion
  • Where: Free University of Berlin*
  • When: 11AM SLT Saturday, Dec 19th
  • Why: To discuss the integration of SL applications and XMPP

* SLurl: http://slurl.com/secondlife/New%20Berlin/95/31/32

Join programmers and content creators to discuss how wave technology (XMPP) might be integrated with SL applications.

  • What would this look like?
  • How could it improve the SL experience?

Friendly Fire, the GLAMest Band in the Land, will perform live right after the discussion. There will be DJs , information, and a Silent Auction for Google Wave Invites.


Event Space at newBERLIN

The main event—A Developers Discussion “Integration of Wave with SL”—will be at 11AM SLT. There will also be a demonstration of an interactive training bot at 10AM SLT. (NOT wave-enabled, but an example of an application that might benefit from XMPP integration.)


The purpose of this event is to attract SL Rezidents to an open discussion about integrating XMPP with SL applications. Some discussion is taking place at this wave (only works if you have a Google Wave account): https://wave.google.com/wave/#restored:wave:googlewave.com!w%252Be8cce8kiD

A wave has been created to plan the event, and now has the complete schedule of events. Here is the wave-URL : https://wave.google.com/wave/#restored:wave:googlewave.com!w%252BAltepd9UA

3 Comments more...

Google Wave as a tool for education

by azwaldo on Dec.11, 2009, under design, education, secondlife

As a teacher, I often thought that my best lessons were trapped inside insurmountable walls…the highest of those being time. So many students were not ready to learn, at least not at that moment we shared.

When the student is ready, the teacher will appear

Put me on wave watch, I say. Let me lurk until the questions arise.

“What does the chloroplast do?”
Blip! [The Wave-watcher posts a simple response within the context of the learner's question. And, after a quick search, pastes a diagram from Wikipedia, or MIT's Biology content.]

Finally, capture that exchange, and archive it. Later on, if a learner asks about the same topic, a search of the archive could reveal that exchange and deliver the same response. If no match is found, the question-as-blip can be tagged and flagged for review by the wave-watchers. Since Katiya (London) and Chris (Japan) are likely to be watching the wave when I am not, the learner may not even have to wait long for a response. And, I might be watching when Katiya and Chris are not. A wave could widen my net.

I did not begin to think about how an educational wave might work until I started to read about extensions, bots and gadgets. Now, for a wave to be used as an educational tool, I can imagine some of what will be needed behind the screen.

Instruction breaks down into any number of simple exchanges. Traditionally—and at a basic level of examination—those interactions include:

  1. Instructor states a learning objective
  2. Instructor presents introductory content
  3. Instructor leads group in an activity (lecture, discussion, exercise, investigation, guided learning, etc.)
  4. Instructor assigns an individual learning activity (to extend the learning)
  5. Student delivers finished product to instructor

This is a very simplistic description, of course; plenty takes place between each step above, and each step can have many variations. For example, the activity in #3 above might be “Write a summary”, “Read a chapter”, “Answer these questions”, “Build a model”, or all of the above. And there is little mention of what the learner is doing. Here, I want to focus on direct interaction between student and teacher—those exchanges that an educational wave will need to facilitate—and identify wave mechanisms or gadgets that will accomplish the task.

And it is feasible, given my view of the technologies, to bring wave-enabled instructional tools into a virtual world like Second Life™. A touch-activated kiosk, or an avatar’s HUD might become a wave participant…or client, allowing the conversation of a wave to seep into that virtual space.

What would be the requirements?

From the learner’s perspective, the tool should be:

  • Easily attainable (pick one up in world, buy on XstreetSL or other merchant site)
  • Easily enabled (worn as attachment or HUD, or rezzed as needed?)
  • Easily engaged (i.e., ask question in public chat)

From the perspective of the mentor (instructor, guide?):

  • All questions should be accessible (imagining question as blip, here)
  • Newly submitted questions should be distinctly tagged or formatted (wave-bot employed here)
  • Once a mentor’s response is submitted to a blip, that blip’s status (tag, tags?) should be modified

From here, it gets difficult; I cannot guess what the user interface would be like for the next transaction. The learner could simply receive a text message (IM? OwnerSay or Floating text in a HUD?). Maybe the user would be prompted (llLoadURL) to open a web page with the response…

That is enough to chew on, I reckon. Now, it is back to the Google Wave API and a bit of Python (nudge, nudge).

Leave a Comment more...

Google makes waves, let’s XMPParty!

by azwaldo on Dec.06, 2009, under design, secondlife

Soon after receiving my Google Wave invite, a quick search for “Second Life” led to SecondLife Wave (wave-link*). Frequent mention of a PARTY caught my attention there. Over a hundred users had joined the wave (think “thread”), with more than fifty responding “Yes” to a survey about a PARTY.

* Wave-links only work if you have a Wave account.

The discussion at that wave trailed off into…nothing. I returned again and again, only to find “I’m here” and “Just got my invite…” messages scrolling further and further down into the void. Nothing was happening to make it a reality.

So many waves are being used like a group chat or forum.

Here was a chance to plan an event collaboratively, riding the wave of enthusiasm mentioned above while exploring the functionality of Wave itself. Event planning is actually one of the uses suggested by Google.

(Note: I am encouraged by the result. Contributions to the event planning wave (wave-link) occurred more rapidly than with any wiki that I have created.)

So, I am organizing an event in world. Initially, the plan was to develop content that would engage visitors over a 24 hour period; providing a space where they might dance, lounge, and learn. Since SL is a global community, it would be best for anyone to be able to visit…hence, a 24 hour event.

However, after a week there is not enough momentum to develop a 24 hour event. Still, planning continues, focusing on a discussion among developers.

XMPP: Extensible Messaging and Presence Party

Objective: Facilitate a discussion among content developers and programmers about the potential for integrating Second Life with XMPP applications.

As a scripter, I often chat with folks who are not familiar with the capabilities of the SL scripting language (LSL). It is my role to help them understand what is possible. They are unable to clearly envision an interaction or behaviour, and —as a consequence—are unable to effectively describe the effect they wish to achieve.

This is how I feel about XMPP and “wave” technology.

I also have the impression that few developers in SL are conversant in both SL design and XMPP. A discussion among a few rezidents would certainly help me to understand the possibilities. It might even spawn some new ideas.

Chatting with several content developers and career programmers suggested enough interest—in every case—to encourage me in moving ahead to organize this event. (This is not a Google Wave promotion.)

Silent Auction Display

There is plenty to keep me busy: The location is not yet decided, (though a new offer has just come along); and, you can never have too many interactive objects in a design, can you? Today, I am working on a series of displays with information about XMPP, some of which will be interactive; and, I hope to attend an “Event Management” class tonight, at New Citizens Inc.

If you do not have a Google Wave account yet, check out the Silent Auction panel. I will be giving Google Wave Invites to the highest bidders. (This, to recoup some of the cost for entertainment. Hey! These invites are being sold on eBay!)

The main event will be a combination of

  1. The demonstration of an interactive bot that might be enhanced by XMPP integration; and,
  2. A discussion among developers and programmers

There will be music provided by several DJs, and live music from Friendly Fire who will perform immediately after the discussion. If you have not heard FF live, they bring some presence to the grid, themselves, rocking an alt/pop/punk style that is GLAMtastic.

Remaining challenges:

  • How to capture the discussion; notes posted in a blog, or a wave? Is this worth recording an MP3? (New to me.)
  • What kinds of content can be designed and developed just for this event? (Combination: social gathering and mini-conference.)
  • What are the particulars of land management for an event? What sort of concierge activity takes place behind the scenes?
  • How to get the word out, and target the demographics that will be likely to participate…
  • Managing an event. Will I be able to have ducks lined up well enough to be ready for the discussion myself?

If you would like to be a part of this event, just holler.

Leave a Comment more...

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!