At its annual Google I/O conference in late May, Google unveiled Google Wave, a forthcoming online service that will provide a personal communications and collaboration hub for users and an extensible platform for developers. Google's descriptions of Wave are both goofy and unhelpful--example: "Google Wave can make you more productive even when you're having fun"--and the service isn't available yet for testing. But Google Wave is an important new web platform, and it presents a credible threat to Microsoft's online efforts. Here's what you need to know about Google Wave.
Cutting through the hype
Though unspoken this explicitly by Google, it's pretty clear that Google Wave is the online giant's social networking play, an attempt to wrestle away some usage share from services like Twitter and Facebook, obviously, but also with Microsoft's popular SharePoint. In atypical fashion--Google's tools are usually quite Spartan and to the point, like web versions of UNIX command line utilities--Google Wave is also a Utopian attempt to rewrite the rules of email, instant messaging, document and image collaboration, and other tasks. It is an uber-service, the type of over-thinking we typically associate with Microsoft and not Google.
Google explains this leap by noting that today's email and IM solutions emulate communication models that date back to the 1960s. Google Wave, it says, is an attempt to rethink these activities as if they had just been invented and implemented with modern, web-based technologies. In Google's view, the web has already won the platform wars, which is convenient for the company, since Google, of course, primarily makes web-based services. (And unlike most other Google services, Google Wave is being open-sourced because the company would like to see this technology adopted and extended as broadly as possible. Google notes that it would like to see Wave servers become as ubiquitous as SMTP servers.)
Part of the reason Google previewed Wave so early is that it wants to convince developers that web application and services development can provide environments that are as rich and full-featured as traditional desktop PC applications. A large part of Google I/O this year, in fact, was dedicated to pushing home this concept, using technologies like HTML 5, Google Web Elements (a way to embed Google products on your own web sites), a Java App Engine, Google Web Toolkit 2.0, Google Latitude, and the Google Android smart phone platform. But Google Wave is, arguably, the most far reaching of the technologies the companies discussed this week. It is inarguably the most surprising announcement this week given Google's history.
How it works
Google Wave rethinks the way we communicate online. In Wave parlance, individuals will engage in "hosted communications" that are called waves. Waves can consist of any combination conversations (such as email and IM) and documents (collaboration). They provide for rich interaction via text, photos, videos, maps, and more, according to Google. From a usage standpoint, a wave is sort of like an email thread except that it can happen in real time (like IM), is always considered live, and participants can jump in and out of the conversation at any time. A playback capability allows participants to "rewind" the wave at any point and review what's already happened. Edits can be made to any part of the wave at any time, and it's always possible to see who did what. If you think of how an email thread and an IM conversation might be combined into a single entity, that's pretty much a wave.
Google highlighted only some wave capabilities at Google I/O. These include real-time collaboration, natural language tools (including context-sensitive spell checking), and Google Wave's extensibility model, which allows third party developers to add gadgets to the platform and embed waves in other sites.
To the user, Google Wave is a web-based application that runs completely in the browser. It's based on HTML 5 and Google Web Toolkit, and long time Microsoft users will recognize the basic layout as the one that was made famous by Microsoft Outlook. It features a multi-pane ("panel" to Google) interface with Navigation ("folders" like Inbox) and Contacts panes on the left, the selected folder in the middle (like Inbox, which Google calls the Search panel), and, on the right, the selected wave (the message, in an email application). Familiarity with Outlook and other email applications was no doubt intentional, and it will help users make the transition to this new communications and collaboration model.
When you create a new wave, you typically start as you would with an email message, by typing a message (as contrasted with an IM where you would always select a contact or group of contacts first). You can then add users--or participants, as Wave calls them--using a pop-up window.
To users who are asked to participate in a wave, the experience is very much like email. You can hit a Reply to write your own message response. This can happen offline, where the conversation is conducted like a long-distance chess match per email, or in real-time, as with IM, where the other participants can see you formulating your response as you go. The other big difference is that because waves are "hosted conversations," you can easily jump in anywhere an reply to any part of the conversation. With email, previous parts of the conversation are typically bulk pasted into your reply, making it hard for anyone to jump around in the conversation at a later time. You can even split a previous message anywhere and reply to just a certain part of it.
It's also worth noting that a wave represents an entire discussion, and individual waves will be represented in the middle Search panel as singular entries. This contrasts with email, where each message is typically its own entry. So if you send out an email to five people and they all reply to you, you'll see five new emails in your Inbox. With Google Wave, the appropriate wave just appears bolded, indicating that others have participated in the conversation. There's only one entry for the entire conversation.
So at a basic level, you can certainly treat waves like email messages. But waves go beyond email by providing for live, interactive conversations--a la IM--and by providing more granular ways to converse; you can more easily go back into the conversation and respond to something that happened early. You don't get swept up in just worrying about the most recent response as you do with email.
But Google Wave is also an improvement to traditional IM. If you think about the way IM works, you can typically see that the other participant is typing a message (because it will say something like "Rafael is typing...") but you don't see the message as its being typed. With Wave, you do. And as with a real conversation, you could conceivably interrupt at any point and begin typing yourself. Conversations proceed more quickly when you're not waiting for the other person's thoughts to be completely formulated.
Looking beyond the basics, there's a lot more going on here. You can add participants at any point in a conversation, as you can in email or IM, of course, but using a nice drag and drop action from the Contacts list. Participants that join a conversation in progress may be confused by how things developed previously because waves let you reply to any part of a conversation. So Google Wave includes a playback tool that lets you see how the conversation actually developed. (You can also create private messages that can only be viewed by certain participants.)
You can also drag and drop multimedia content, like pictures and video, into a wave. (Or, it will. This feature isn't actually supported by the HTML 5 standard, so Google is working to get it added.) This works as you'd expect, with thumbnail previews that appear almost immediately while the full images (or video) download in the background. In the case of pictures, an online slideshow is created, and when you compare this capability to photo sharing via email or IM, it's quite an improvement. But thanks to the ability to create Wave gadgets, you could actually add a blog or web site to a wave like a traditional contact; that way, every time photos were added, they would automatically be published to that site as well.
As would the rest of the wave, as it turns out. This provides an interesting glimpse into both halves of the Wave extensibility model: Not only can you access other sites and services from within Wave using gadgets, but you can also access Wave from your own sites. By embedding a wave in a traditional web site, you gain the ability to allow others to participate in a conversation from the web, adding their own comments and replies. (You can also just create waves from these sites and forego the Wave web app entirely if you want.) And this means that Wave can replace blog and web site comments systems as easily as it does email and IM. And not just replace them, combine them. Which makes sense. After all, these things are all different forms of electronic conversations.
Google made a big deal of Wave's automatic and immediate spelling correction functionality and other editing features. Given the deep platform work occurring here, however, none of this was surprising or interesting to me. You can easily edit anything after the fact, and Google Wave's auto spell checking seems to work well.
As you might expect given the company's new Android platform and support for other popular mobile devices like the iPhone, Google will also provide mobile access to Wave. The company showed off this access via web-based versions of Wave on iPhone 3.0 and Android 1.5 (both of which are currently available in pre-release form only). In both, the three pane Wave interface is replicated one pane at a time in a manner similar to the layout of the iPhone email application, where you basically move left to right, screen to screen. Mobile interaction with Wave works similarly to traditional PC/web-based interaction otherwise. And of course we can expect
What really makes Google Wave fascinating is that it can both replace existing email, IM, and social networking solutions and work well with them; it's your choice. If you're a dedicated Facebook user, for example, you can expect any number of Wave plug-ins to appear for that service. But if you'd rather keep up with friends and family via Wave, or some other solution, you can use Wave to draw them in from Facebook and then move on. Similar models apply to different solutions, like email, IM, social networking, blogs, and collaboration sites like SharePoint: You can extend them with Wave. Or you can replace them with Wave.
What this means
For Microsoft, the implications are enormous. When Google started chipping away at Microsoft's core businesses with web-based solutions like Gmail, Google Calendar, Google Docs, and many others, the threat didn't seem substantial. After all, none offered the full range of functionality provided by Microsoft's traditional solutions, and none of Google's disparate services--even its dominant search engine--had the "stickiness" that characterizes Microsoft's deeply integrated and full-featured products and services. But with Google Wave, it's clear that Google's decision to offer services piecemeal over time wasn't random but was in fact a strategy. Now, Google has a platform that can be used, piecemeal, across Google and non-Google web sites and applications. It has created, in effect, a communications and collaboration engine for the cloud computing wave. And Microsoft has nothing like it, though there are silos of related functionality in products like SharePoint and Exchange Online. The question, of course, is whether Google is onto something here or just mapping its strategy to its own strengths. But if you're looking for a clear indication that free software may eventually overpower the proprietary software model that dominated the last three decades, I can't think of a more obvious example.
An edited subset of this article appears in the August 2009 issue of Windows IT Pro Magazine. An excerpt of this article was previously published as First Look: Google Wave. --Paul