I watched the Google Wave Developer Preview session at Google IO.
It is tedious to sit through 1 hour 20 mins of conference presentation; but it is worth watching at least a little of it to see some Wave demos. In essence, Google is presenting email++ and hopes it will catch on. A “wave” is loosely analogous to an email conversation or a thread on a discussion board. You participate using a browser-based client. Unlike email, in which messages are copied hither and thither, a wave exists on a server so you always see the latest version. Again unlike email, a wave offers real-time synchronization, so that I see your replies or comments as you type. This means you can use a wave like an instant messaging system or like a wiki (collaborative document editing). You can also embed rich media and extend the system with robots (non-human participants which add functionality) or gadgets, such as polls, games, applications. Waves can be embedded into web pages, just as the above video is embedded into this blog post.
The client-side API for Wave is written in Google Web Toolkit, and according to the keynote:
we couldn’t have built something like this without GWT
The server side, such as robots, has an API in Java or Python. You can check out the APIs here, and sign up for a developer account. The Wave protocol is also published, and is documented here. Google is talking about launch later this year. Mashable has a good overview.
Significance of Wave
This is the bit that interests me most. Why bother with Wave? Well, Google is hoping we will find this to be a compelling alternative and partner to email, Facebook, instant messaging, Twitter, discussion boards, and more. For example, you could develop a new kind of discussion board in which the topics are waves rather than threaded discussions. The impact might include:
- Driving users to Google Chrome and other browsers optimized for fast JavaScript, and away from Microsoft IE.
- Promoting use of Google-sponsored APIs like OpenSocial, upon which Wave builds.
- Shifting attention away from classic email servers such as Microsoft Exchange and Lotus Notes.
- Offering an alternative to Microsoft Office and Adobe Acrobat for document collaboration.
- Getting more us to run our content on Google’s servers and use Google’s identity system. This is not required as I understand it – the keynote mentions the ability to run your own Wave servers – but it is inevitable.
The demos are impressive, though it looks like a large Wave with many contributors could become hard to navigate; but it is definitely something I look forward to trying.
Finally, it is notable that Google’s Flash-aversion is continuing here: all the client stuff is done with JavaScript and HTML.
I am not sure how this might work offline; but I imagine Google could do something with Chrome and Gears, while no doubt there is also potential for a neat Adobe AIR client, using the embedded WebKit HTML renderer.
What seems brilliant to me about Google Wave is the underlying protocol that is laying down the foundation for developers to create collaborative applications *by default* and the fact that this is not centralized or owned by Google (although they will seed the market with an implementation).
Their UI is one of the many possible UIs, and their server is one of the many possible servers.
This to me is as important as HTTP the protocol itself was: there will be a choice in servers, clients and hosts.
We are about to see a revolution in the net.
Yes, I think Miguel has it right. Wave really enables the Real-Time Web. Instead of HTTP it uses XMPP. Instead of static HTML documents we have mutable XML documents with concurrency control via the operational transform. There are a lot of possible integration points into the static Web and other systems. I think it has enormous potential.
Just came to say the same Miguel have said already. That could be a huge thing, because it’s the right time for it.
And that’s great they have shown it in earlier stage to be able to get a really important feedback now and not when it would be ready.