Thursday, April 22, 2010 | 5:39 PM

Labels: Wave Blog

One of the more glaringly obvious missing features over Google Wave's short public life has been the ability to remove participants from waves. It has several obvious benefits:



Removing someone who you accidentally added

Removing yourself from a wave that's no longer interesting

Removing someone who's not participating in good spirit or at all

Removing another person as a courtesy when the wave is no longer relevant to them

It-Never-Happened

Posted by Dhanji R. Prasanna, Software Engineer, Google Wave team

We knew this would not just be as simple as eliminating a user abruptly from a conversation. For instance, if you removed your friend as a courtesy, she should still be able to access to the content she has already seen.Furthermore, the interaction between private replies and the larger wave conversation is interesting. Should you keep participating in a private reply even though you've been removed from the main conversation? How about if you've never seen the main conversation?Answering these questions is a lot tougher than it may seem at first glance -- particularly considering Google Wave's unique liveness, where every action has an immediate consequence that's visible to all participants on a wave. Designing a scalable infrastructure for this proved challenging, at times confounding, and ultimately very rewarding.Our coolest innovation in my opinion is what we think of as thescenario. Imagine this: after a rough day at work, you spend the night out with friends and return home to write a less-than-flattering message to, say, your boss. At 6am you wake up and realize what you've done to your implacable horror! Alas, with email and other forms of communication, you'd be out of luck, and perhaps spend all morning inventing clever excuses about how your computer was taken over by crafty hackers. With a wave however, you simply remove your boss as a participant, and when she wakes up at 7am to check her messages, the wave is gone from her inbox.But what if she had already opened the wave by the time you removed her from it? Well, consider a different scenario: someone adds you to a wave promising they'll fetch the water if you'll whitewash their fence . You open the wave, agree to the proposition, and proceed with the whitewashing. Yards of fence later, that someone removes you from the wave. You certainly would want to have a record of the deal ('Ithappened')! Since you had opened the wave before you were removed from it, you retain a read-only copy of the wave up to the time you were removed. You can still play back the wave, but you won't see future changes or be able to make further contributions.We carefully designed the feature so neither the person who removed you, nor others on the wave can see whether or not you have opened the wave. They can only tell you have been removed and that you no longer see changes to the wave (unless, of course, someone adds you back).Finally, you also have the option to remove yourself from a wave. We've all been added to conversation threads that turned out to be unimportant or uninteresting. With email you have to ask someone else to take you off the thread, or set up a filter to stop those messages from appearing in your inbox. Now in Wave, when your friend adds you to a wave about the dinner party he's having the same weekend that you're out of town for business, you can simply remove yourself from the wave and you won't have a constant reminder of all the fun you'll be missing.We hope the considerable amount of effort we've put into designing and building this feature increases your productivity and ability to organize and share waves the way you want.Wave on!