
Google Wave: Potentially powerful, but it will make normal users’ heads implode.

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.
Wave offers the way to
combine the two (or three, if you include real-time chat support that some
companies now offer).
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?
The need for speed Preview’s Web interface, written in GWT (Google Web
ToolKit) which frankly pushes browsers to breaking point. It works reasonably
in Chrome, but in Firefox it is sluggish and Safari, which presumably uses some
aggressive in-memory caching to keep things fast can see its memory usage
balloon to 1.6Gigs after half an hour of intense Waving.
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.
Who gave you permission
to do that? To force people into really
seeing what Wave is all about, Google has left out anything resembling a
permissions system. That means I can create a wave to discuss ‘Usablity Issues
in Lotus Notes’ and you can come along, delete everything and change the title
to ‘Elephant farming in Bromley”. And there is not a thing that I, as
originator can do about it. Certainly the other wave participants can see that
you have edited my blips, and even see the history of changes, using the
Playback function - but that’s not enough. Expect to see roles, permissions and
access controls. Locking down permission will also service to make the new
medium seem less strange and unfamiliar. However locking down too far will
destroy what makes it special.
Where is everybody? There’s no point using a collaboration medium, if
there is no-one to collaborate with and at the moment activity on the Preview
has slowed down, it can feel pretty quiet. Google needs to get the protocols
finished and the open source code out of the door before companies can start
using it in anger.
Bugs bugs bugs Yes, it’s full of them. From the way that search and
playback often doesn’t work to the fact that once a wave gets to a certain size
it will - without warning - make itself read-only.
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.