11/12/09

Google Wave Product

Google Wave is designed as a new Internet communications platform. It is written in Java using OpenJDK and its web interface uses the Google Web Toolkit. Google Wave works like previous messaging systems like email and Usenet, but instead of sending a message along with its entire thread of previous messages, or requiring all responses to be stored in each user's inbox for context, message documents (referred to as waves) that contain complete threads of multimedia messages (blips) are perpetually stored on a central server. Waves are shared with collaborators who can be added to or removed from the wave at any point during a wave's existence.

Waves, described by Google as "equal parts conversation and document", are hosted XML documents that allow seamless and low latency concurrent modifications. Any participant of a wave can reply anywhere within the message, edit any part of the wave, and add participants at any point in the process. Each edit/reply is a blip and users can reply to individual blips within waves. Recipients are notified of changes/replies in all waves in which they are active and, upon opening a wave, may review those changes in chronological order. In addition, waves are live. All replies/edits are visible in real-time, letter by letter, as they are typed by the other collaborators. Multiple participants may edit a single wave simultaneously in Google Wave. Thus, waves can function not only as e-mails and threaded conversations but also as an instant messaging service when many participants are online at the same time. A wave may repeatedly shift roles between e-mail and instant messaging depending on the number of users editing it concurrently. The ability to show messages as they are typed can be disabled, similar to conventional instant messaging.

The ability to modify a wave at any location lets users create collaborative documents, edited in a manner akin to wikis. Waves can easily link to other waves. It is in many respects a more advanced forum.

The history of each wave is stored within it. Collaborators may use a playback feature in Google Wave to observe the order in which a wave was edited, blips that were added, and who was responsible for what in the wave. The history may also be searched by a user to view and/or modify specific changes, such as specific kinds of changes or messages from a single user.

As of October, 2009, Google Wave is still in active development and is expected to remain in development until later in 2009. It was launched to about 100,000 users on September 30, 2009. Google Wave access can be requested. Developers have been given access to Wave proper, and all wave users invited by Google can nominate up to 20 others.

Open source

Google plans to release most of the source code as open source , allowing the public to develop its features through extensions. Google will also allow third-parties to build their own Wave services as quickly as possible (be it private or commercial) because it wants the Wave protocol to replace the e-mail protocol. Initially, Google will be the only Wave service provider, but it is hoped that, as the protocol becomes standardized and the prototype server becomes stable, other service providers will launch their own Wave services, possibly designing their own unique web-based clients as is common with many email service providers. The possibility also exists for native Wave clients to be made, as demonstrated by Google with their CLI-based console client.

Google has made an initial open-source release of some components of Wave:

1. the operational transform (OT) code,
2. the underlying wave model, and
3. a basic client/server prototype that uses the wave protocol

In addition, Google has provided some detail about the next phases of the open-source release:

1. wave model code that is a simplified version of Google's production code and is tied to the OT code; this code will evolve into the shared code base that Google will use and expects that others will too
2. a testing and verification suite for people who want to do their own implementation (for example, for porting the code to other languages)

Source: Wikipedia

No comments:

Post a Comment