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 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 current email system.
Problem with current email system
The current email system was introduced few decades ago. So if you ask yourself that if the email was introduced on year 2009 then how it would be? Definitely it would be more smarter and interactive. And that's 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 client and managed on client machine. As email is sent back and forth, different version of the same email (or thread) is 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 allow us to store mail on the mail server but client also may have the copy of the same mail on his desktop/laptop. So the email is not managed in a central location and multiple version 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 if email was introduced on the year of 2009 and if you were responsible to design the system what you 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 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 ensured that the email doesn't have multiple copy. 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 need to be a single instance and need 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 Google Wave is 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 have to have 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 feature my main focus here was how Wave is going to shape the world of email.
I'll try to write an article on this later. you can follow the link http://wave.google.com for more details.