Paul Dundon’s Weblog


A little cheese and a little whine

Google Wave

What is it?

To begin: Jabber is an open-source instant messaging protocol. Applications can use Jabber to communicate across the net in real time. For example, a text editor written in Jabber would allow multiple people to work on the same document and see each other make changes as they type. Given a suitable host environment, an application like this can save its state so that users could edit that document over many sessions; and the persistence mechanism could save not just the latest version of the document but all historical versions, allowing users to view the way in which the document has changed over time.

This is the basis of Wave. Documents managed by applications like this are called blips; a hierarchy of blips is a Wave. Google provides a text editing application like the one I have described, which provides default blip behaviour, so by default, a Wave is a hierarchy of documents which can be edited in real-time by many users. However, many other kinds of blip are supported through extensions, so for example, there are mapping applications, polling applications, chat applications and so on. This makes a Wave a sort of extensible workspace which can be bent to lots of collaborative tasks.

Google describes Wave as “what email would be like if it were invented today.” This is silly: if email were invented today, it would look like email, because it’s an automated version of a familiar manual process. Wave is, if anything, what NNTP would look like if it were invented today, and in fact, a very quick way to understand Wave is to think of it as NNTP where each post is a live chatroom. In relation to email, Wave is an attempt to solve the problems which arise when email is used for collaborative working, which are in fact exactly the same problems which arise using IRL mail for collaborative working.

Waves can be embedded in other web pages without loss of functionality.

Paradigm, Protocol or Product?

In trying to understand the impact of Wave it’s important to separate out three different levels of analysis. First, Wave could claim to offer a new paradigm for collaboration, that is, one could argue that Wave allows people to work together in novel ways. Second, since the Wave protocol is open, any number of different clients and servers could spring up to take advantage of the underlying concept. Third, Google will (presumably) offer Wave alongside GMail and GTalk and other services as a product people can use.

There is nothing particularly radical in the way Wave allows people to collaborate. Being able to see other users edit a document live is novel, but in no way useful. Wave brings together multiple modes of collaboration, and makes them slicker, but doesn’t, so far, offer anything new. This shouldn’t come as a surprise: there are limits to the way people can collaborate, and software to support those modes of collaboration has been around for a long time. As a paradigm, then, I don’t think Wave offers anything novel, although I think it will have an impact on collaborative working as a product, as I detail below.

Wave is both a protocol and an API and I think it’s fair to think of that API as a protocol in itself. The communications side of Wave is not particularly interesting, since most of the hard work is done by the underlying Jabber protocol. The API, however, is interesting in that it allows us to build both extensions (which are basically new sorts of blip) and robots (which can automate the interactions between blips). I haven’t looked at the API in detail yet but it seems likely that it will solve some interesting problems about how to stitch together a hierarchy of interactive applications.

The “open” nature of the Wave protocol means that people other than Google can set up Wave servers and offer Wave hosting. Again, I don’t have the technical detail but a key point in the success of these offerings will be whether extensions and robots built against one server implementation will be transparently portable to other server implementations, since any failure in this area would quickly fragment the market for Wave services and slow down adoption.

This leads us to the place where I think Wave will have the biggest impact. Wave provides a platform for collaborative applications with a low cost of entry for users, and thus a market for those applications rather akin to the market for mobile applications established by Android Market. Developers with ideas for collaborative working need now only build a Wave extension or robot and make it available, and users can make use of that idea without buying wholesale into a new collaboration platform.

I currently use CVS, MSN, Groove, Google Documents and email for different forms of collaboration on different projects. Each of these has had some level of adoption cost and the mixture of platforms is cumbersome. I would probably balk at adopting a further collaboration tool, even if it was a very good one. But, if my present position was that I used Wave and a few extensions to do all this collaboration, adding another extension to the list would not seem so onerous.

Adding Value (aka making money)

There are therefore two levels at which one can add value to Wave. First, there is the possibility of hosting a Wave server or perhaps providing Wave server software which would run behind a corporate firewall. Then, there is the possibility of providing extensions and robots for particular vertical applications. It is here that I think the most exciting possibilities lie. Medium to large scale websites in vertical markets often require collaboration platforms. For example, the UK Government is increasingly seeing the web as a way to share best practice across public, private and voluntary sector organisations.

Now of course, any group who wants to collaborate could simply log on to Wave, in the same way as they can use email now. However, the possibility of embedding wave into a site means that people can make use of it in a tightly located context which can bring together otherwise inaccessible waves (topically relevant, but created by other groups of people) along with non-wave reference material, so there is an opportunity to add “content value” here. Further, developers can add “functional value” by building extensions which help structure and navigate waves for particular applications, and which support particular specific collaboration tools (for example, a limited shared whiteboard for user groups who find a rich shared whiteboard confusing).


As a product, Wave is unlikely, I think, to supplant any of its competitors. It is quite the wrong model to replace most email, and overblown for IM. Unless you install Gears, it lacks the file system integration of Gears and even with Gears installed I’m skeptical that we’ll be seeing a Wave source code control system any time soon. For the enterprise, Lotus Notes has been doing very Wave-like things for a long time, and there’s no obvious benefit in migrating.

There are three ways in which Wave will succeed, though. First, as we’ve seen already, it will create a new ecosystem for collaborative applications, and thereby support more rapid evolution of those technologies. Second, it will make a certain style of flexible collaborative working available to a much wider audience, enhancing people’s understanding of collaborative processes and making collaboration more common and more efficient. To state it more simply: Wave will help more people work together more often. Third, and as a consequence of these two, Wave will support mashups in which a combination of new plugins, robots, and wave structures becomes a genuinely novel, or perhaps just highly efficient, way of collaborating.

So the value of wave, I believe, doesn’t lie in its core concept – which is basically sticking chat rooms onto NNTP – but in the fact that with a sponsor like Google, it will succeed in creating a new ecosystem within which a great many more people will have the opportunity to contribute to the development of collaborative technologies. This means that its ultimate contribution will depend on Google sustaining their support of it – not something they always do.


Filed under: Tech

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 14 other followers

My Bookshelf

The Golden Bough
The Value of Nothing
The Fire
A Wolf at the Table
Devil Bones

My links

%d bloggers like this: