This is my first article on Google technology. I am always a fan of Microsoft technologies. But recently watching a video on Google Wave, I can't help myself writing on it. I can't remember when I was last astonished seeing something technically innovative. But I did so watching the power of Google Wave. Ok enough with my personal view. Let's dig deep into Google Wave. But before that, let's deal with the major problem with the current email system.
Problem with Current Email System
The current email system was introduced a few decades ago. So if you ask yourself that if the email was introduced in the year 2009, then how it would be? Definitely, it would be more smarter and interactive. And that's what Google wave is. Email is a kind of client based (content) management system rather than sever based. Though server works to route and temporarily (sometimes permanently) store email, the email is finally downloaded by the client and managed on the client machine. As email is sent back and forth, different versions of the same email (or thread) are stored in the different user's PC. So information (contained in the email) is disseminated in different locations of different versions. As shown in the following image, currently email server's main role is to relay the messages. Though nowadays email provider allows us to store mail on the mail server, client may also have the copy of the same mail on his desktop/laptop. So the email is not managed in a central location and multiple versions of the same email exists.
Figure 1: General view of How current email system works.
How to Solve?
Now the question I may ask you is if email was introduced in the year of 2009, and if you were responsible for designing the system, what would be your first consideration? If you would ask me the question, I would reply that I would keep the email as a single entity and all users would work on a single instance. Currently, recipients of the email have their own copy and work on that local copy. But if the copy would be stored in the server and users would work on that single server copy, then it would be easier to manage and keep track of. This would also ensure that the email doesn't have multiple copies. So the information is not disseminated. The concept is a kind of "email is a single content stored in a single location and multiple people are working on it". So here collaboration is a kind of multiple people working on a single entity. So email needs to be a single instance and needs to be stored in a single location and multiple people should interact/collaborate with it. The following figure depicts the idea:
Figure 2: How email could be managed as a shared content.
We developers are used to work with version controlling system (like, SVN, Visual SourceSafe, etc.). The concept shown in figure 2 is something like that.
What Google Wave Does?
In simple terms, Google Wave is a new collaboration system. It includes features of email, instant messaging, documenting and more in a single box. With Google Wave, you'll communicate with other people online just like email but you'll not need to have a local copy like email. In the wave email, you can easily get instant messaging option. While you'll send mail (FYI, mail is not the actual term in Google Wave) to someone with Google Wave, if the user is online, then you can start instant messaging and the messages will be included in the mail. The wave server will maintain all the history of the email (including the instant messaging) and you can easily navigate through the history. Though Wave also has a lot more features, my main focus here was to show how Wave is going to shape the world of email.
I'll try to write an article on this later.
CodeProject