Sunday, October 18, 2009

Few Thoughts on Google Wave

I have been using Google Wave (henceforth "Wave") for about four days now, and think I have a decent idea of what Wave is and what it is not. This is not a review, so I won't be discussing features or enumerating cool things that can be done with it. But if you want to know what makes Wave such an exciting product or the philosophy behind it, you may want to hang on till the end of this post.

The first thing I have found myself shouting to nearly everyone is that Wave is primarily a substitute to email. It is not meant to be (or ever, in my knowledge, advertised to be) a substitute to Facebook, Twitter, or sliced bread. What this means is that it is only as good as you collectively make it. If you have an email address that no one knows of, you know how lifeless and empty it can get. The real advantage of Wave cannot be felt unless a significant majority of your contacts use it proactively for communication and collaboration.

"Communication and collaboration": These are precisely the two words which are the driving philosophy of Wave. The Wave Development Team started to improve upon email, and while they were at it, found it easy to squeeze in instant messaging and document collaboration in the existing framework. The team working on Wave must have been quite understandably frustrated with the limitations of email. It is not that email can't be improved. But since it is a de-facto standard of communication with same rules, any unilateral change will not work very well. People will be vary of using the new features that will not work everywhere and the massive inertia of people would likely make the product a failure. This is the reason wave had be launched as a totally new product.

They haven't categorically mentioned it, but I feel a major driving force behind development of Wave was managing disk space on server. Whenever an email is sent to a list of recipients, the server has to store separate copies of that email for each one of the recipients. These copies are identical and offer no significant benefit other than making the system decoupled. A change in one does not alter the other. While this may offer some advantages, there are often cases when we want the changes to be visible to any interested party in a multiparty conversation. It is not without reason that the Reply All button is the most worn out button in an email dashboard. Wave makes it possible to have a single conversation hosted in the server that everyone can access simultaneously and independently. If you are no longer interested in a conversation, you can either mute it (still visible to you but no updates will bother you) or delete it altogether. The wave will remain on the server till the last user deletes it. So now the servers don't have to pass around volumes of email that you may not even read, and will only serve them when you request it. Also, just because you are a party to a conversation with huge attachments, it won't clog your mailbox. The Wave Team hasn't yet made it public if they plan to associate the space requirement of wave with a user (or a group of users). Probably just the fact that they have solved the problem of disk space management affords them the luxury to allow people to use and abuse it for some time before they can come up with a policy on it. Of course, the option to reply privately exists so that users of email will not miss something they have been used to.

But there are other issues that will require people to learn a lot of etiquette. Case in point is the Forward Email feature. While it is most intuitive to just add a group of people to a wave (which you mean to forward), the person who sent it to you isn't exactly interested in the LOLs blurted out by your friends. Never, ever mix friends from different groups. The Best Practice is to copy the wave and start a new thread yourself. Another issue that I believe that the Wave Team should address is the CC Recipients. As in traditional email, wave might allow in future to have separate class of people who have been added just with the intent of observers. Unlike traditional email where people get a new mail message irrespective of the fact whether they are active participants or CCed in (and have to actually open the mail to check), Wave users will often find themselves muting conversations that are not of their interest and Wave must provide a means to ping people back into wave even if they have muted it. It won't be Google's fault that they misuse the mute feature, but they have made it so easy that people are bound to misuse it.

Message playback is another feature that Wave counts as a strength, but frankly the thing I am most thankful to them is remove those pesky headers and legal disclaimer signatures. All that remains is just the contextual association of a blip (or a blurb) of text with a user. Since Wave stores just the changes made, Wiki style, it didn't take them much effort to incorporate the playback feature.

This brings us to the most visible thing people see when they first use Wave: The real-time relaying of messages as they are typed. Many people feel they have been betrayed into using Wave when all they got in return was real-time messages. It isn't cool enough to convince them to switch. Unfortunately they have misunderstood Wave because the trivial happens to be the most visible. In fact, the real-time relaying is a feature that most people want to be able to opt out of. They want a Draft Mode. This is not to say that this feature is trivial by itself, or otherwise unimportant. It certainly didn't call for reinventing the email and could have been incorporated into existing IM systems. I call it trivial in comparison to all other features that make Wave so powerful. If all you want to do is pure IMing, you may even find Wave clumsy, having to press Shift+Enter (or clicking Done) to sent the message for good. But if you want the freedom to do many things within the same framework without making it a mess, Wave is your best bet around. PS: If you find the real time message relaying cool, try Fuzzmail. Warning: Fuzzmail mails are public, so be careful with what you type.

All your waves are belong to usWe now come to the topic that makes waves so strong: its customizable gadgets and bots. No review of Wave can be complete because there is so much in developers hands to make out of it. What truly constitutes a Wave experience is the limitless customization that can be done by making a gadget or a robots for it, making Wave a platform like Windows or Linux rather than an application software. You want a collaborative drawing broad? You got it. Wanna play chess? You got it. Want to have a multi-party video chat from inside Wave? You got it. A straw poll? You-Got-It. This makes it very similar to iPhone...if you can think of it, there's an app for that! In just the little time Wave has been out, I have come across over three dozen useful gadgets and bots. For the uninitiated, a gadget is a software code that will add a new kind of content to a wave, visible to all participants. This can be a drawing board, a voting module, or even a game board. A robot on the other hand is kind of automated participant that typically adds/modifies content. It can be as simple as shortening the bare URLs or even looking up definition on the web. The robots can also run back-end gadgets, adding content to the wave.

Based on what I have seen of Wave, I am confident that it will be successful in its niche. But I don't see email going anywhere anytime soon. There is a lot of inertia against change and people who have grown up used to the email-style conversations may even hate Wave. What eventually happens, only time will tell.