
So. Google Wave. The hype has dispersed, the hubbub has calmed down. Moreover in some quarters there’s already a backlash in progress. “Slow, over-hyped, doesn’t do much new” are opinions I’ve seen aired recently. But I think the backlash is misplaced.
Certainly Wave’s current Preview implementation is flawed and there are good technical reasons for people to dislike it. However, the more I’ve come to understand Wave, the more I believe it is potentially absolutely brilliant - a communication and collaboration … I’m going to use the phrase… game-changer. Sorry about that.
In fact, I believe that he technical problems with the Preview implementation are the least of it. The biggest challenge that Wave faces is going to be getting users to wrap their heads around it: Wave is so flexible that there is no natural metaphor that properly describes its capabilities.
When introducing an Internet-based communications medium to new users, real-world similes have always been the easiest way to go. Ten years ago it was simple: E-mail is like a letter, instant messaging is like a one-to-one chat. A blog - it’s like an online diary. Once those were sorted out you could rely on second-level metaphors that built on some knowledge of the Internet: Wikis - they’re a Web page anyone can edit - and you can see everyone’s edit history.
Wave Guide - the
jargon
Some context: Google Wave was developed by its creators, Lars and Jens Rasmussen, as a modern reinvention of email. They were sick of e-mail’s shortcoming as a collaborative tool (the Re:Re:Re:Re: problem). The thing they came up with - Wave describes a platform, a product, and a federated protocol. What it provides is a system for creating a discussion-document mix that can be edited by multiple users in near real-time. A wave is the overall container for a threaded conversation, consisting of one or more participants (which may include both human participants and robots). The wave contains state and stores historical information. A wave always contains at least one wavelet… A wavelet is the basic container for one or more messages - known as blips - which are often organised into a threaded conversation. The wavelet is the basic unit of access control for data in the wave. All participants on a wavelet have full read/write access to all of the content within the wavelet. Many waves will only contain one wavelet, however whenever you create a new private conversation within a wave you are spawning a new wavelet. Every wavelet contains at least one ‘blip’… A blip is the basic unit of conversation and consists of a single message in a wavelet.. Each wavelet always consists of at least one root blip. From a technical point of view the blip’s content is actually stored in an attached XML ‘document’ |
Not only does Google Wave need to be described with a messy simile melange: (“it’s a mash-up of e-mail, IRC, Wiki, and IM”). But more problematic is that the best metaphor to describe Wave’s use tends to morph from minute to minute. What seems like IM one minute can become akin to a Wiki the next and E-mail the minute afterwards. From what I’ve seen on the Preview this transition from one mode of use to another can cause a mental jolt. Overcoming resistance to those jolts and getting users to embrace the flexibility is going to be a hurdle when unlocking its full potential within a business.
In Use…
Starting off a wave conversation
when you are the only person on line can seem like e-mail. But if there are
several of you online simultaneously, the experience is more like IM or IRC.
One unnerving quirk of Wave is your ability to see other people’s keystrokes,
complete with pauses and back-spaces in real-time. Often this means that one
person will start typing… and before they have even finished their first line,
someone else will have chipped in and started replying. The first person,
seeing the reply emerge will sometimes go back and start amending their
original thought, leading to the second person deleting their own reply.
It makes for a fast-moving
collaborative environment that feels like a meeting where everyone is talking
at once. And that is even before someone starts editing the very same blip you
are typing, even as you are writing it.
Potential applications
This fluid environment
presents some novel applications. One example may be to transform the technical
support discussion forums and FAQs that are common on technical Web sites.
The problem with discussion
forums is that they are poor when it comes to finding previously answered
questions. Consequently, they often contain the same question, asked multiple
times in slightly different ways by different people and , answered in a
variety of manners. After trawling through a discussion board for a while, the
user is often left screaming ‘yes, but which is the right answer? Before deciding to post their new version of
the same question. By contrast the FAQs are easy to navigate to find answers
but the content can quite often be stale.
In the Wave-using scenario,
a user would visit a company’s support area and begin typing their question
into a new wave. If another user or employee was online, this might turn into a
real-time chat, if not it would turn into a typical threaded discussion. But
once an answer had been found a
moderator could edit the discussion thread down to the essential Q and A,
adding it to a FAQ list, if appropriate, or deleting it from the discussion
board entirely. The result is a fluid evolution from online support t to
finished support document.
Why open source matters,
why federation is key.
Google has committed itself
to releasing Wave code under the permissive Apache open source license, in fact
the first tranche is already
released. The implications of open source and open protocols is clear enough
- anyone will be able to implement their own Wave server, in the same way that
anyone can implement their own e-mail server using the SMTP protocol. Moreover
since Wave is an open Platform there are already a plethora of Gadgets and
Robots that extend
the base Wave functions,
Just as important, the Wave
protocols will work in a federated manner - again like SMTP, meaning that
contributors to a Wave can use their own local Wave servers to communicate.
For a time, the federation
aspect puzzled me, since I was locked into the idea of using Wave as a
conventional Web-based Internet or intranet-based collaboration medium. Why
federation? I wondered. Surely, if I want to use Example Inc.’s Wave-based
support forum, I’ll just point my browser at wave.example.com and away I’ll go.
But here’s the clever thing about federation - it’s the key to the original
Wave aim of replacing e-mail
In the federated Wave world,
rather than sending an e-mail, you would create a message (actually the initial
blip of a wave) on your local Wave server and then sent it to colleagues in the
same way that you would send an e-mail. It would pop up in their Wave in-boxes.
Your colleagues would then simply add their reply/edits, which would be seen by
all the people who received the initial blip. No more Reply-to-all nightmares.
So Wave doesn’t have to be something attached to a Web site for collaboration;
federation makes it a peer-to-peer personal communication tool.
Problems Problems
So why do the people who
hate Wave, currently hate it so?
Currently nearly all the
usable dedicated Wave clients out there are in effect site-specific browsers,
accessing the Web interface. This is akin to only being able to use e-mail via
Web mail. What appears to be missing is a usable client-server protocol - the
POP/IMAP elements. Google itself doesn’t appear to be prioritising this (not
surprisingly, it likes Web interfaces). It has open-sourced a rudimentary
text-based client which uses a minimal protocol implementation, but appears
happy to rely on community efforts to develop a properly rich protocol. The
community efforts are stuttering along at the moment. Now, I know Web
interfaces are all the rage, but personally I think that a nice snappy user
experience is likely to need on a native client app.
In summary: It’s a lovely
idea, its open source and federated, it will have a serious impact on any
business whose business is collaboration and groupware vendors will need to sit
up and take note. However it needs a lot of technical work before it becomes a
practical tool, I estimate a couple of years at best before we see Wave in the
wild. That will give you long enough to think about exactly how you explain the
new working methods to your users and customers.