I will be presenting the next big product from Google named Google Wave From the same creators of Google Maps.
Google Wave consists of 3 main parts -> Product, platform and protocol
Google Wave is a communication and collaboration tool. At the beginning (40 years ago) there was email, since then there has been a lot of new ways of communicating. So they started thinking how would email work if it where invented today, given the advances in network speed and computer performance.
The way email work are messages being sent from one to another. The way Google Wave intends to work is that instead of messages, there is one conversation and one or more participants. Every participant can see any part of The conversation no matter when he/she joined.
This is how the default interface looks, on the right side is the wave or conversation, Next to it is the list of waves that has been opened.
All participants can see each other typing, character by character at real time. Participants can join the conversation at anytime and see what has been said from the beginning using playback functionality. Server-based models provide contextual suggestions and spelling correction.
You can embed the wave within you website Share files by drag & drop You can use it as you would as a email tool or as a document where all participants can communicate and work together with richtly formatted text, fotos, videos, maps, etc
Formally defined a wave is a specific threaded conversation, an analogy could be A entire IM history. A wavelet is also a threaded conversation, that is part of a bigger conversation. Blip: is a single individual message.
The Google Wave API allows developers to use and enhance Google Wave through two primary types of development: Extensions: Build robot extensions to automate common tasks or build gadget extensions to provide a new way for users to interact Embed: Make your site more collaborative by dropping in a Wave
Wave extensions are a way to augment the functionality of a wave. Currently, the Wave API supports the following extensions: Gadgets: Build gadget extensions to provide a new way for users to interact. Gadgets provide a means to run small programs in waves. ------------------------------------------------------------------------------------------- The look and feel of a wave can be changed by adding gadget extensions. For example, two participants can play chess, look for directions on a map or even poll participants For some event.
There is the wave client where the gadget runs, and this wave can be saved in the wave server as a wave XML document.
To implement a gadget
Another way of extending a wave is by adding robots. As opposed to gadgets, They sit on the wave server. Robots are automated participants and can perform most of the actions a human participant can do.
Robots can - modify a wave - interact with participants in a wave like adding and removing participants - communicate and synchronize information in a wave to the outside world or to other waves - access or modify state in a third-party (such as a database)
The behavior of the robots throught the events you want your robot to be notified Wave contact the robot whenever these events occur. It then generates operations by manipulating objects in the Wave data model.
You can augment the functionality of your website by embedding waves into your website. An embedded wave acts and behaves the same way as a wave within the Google Wave application. For example, supports drag and drop functionality.
All this makes you’re the web a more collaborative and communicative tool
This is an example of how to embed a wave into a HTML page, Instanciate a WavePanel object, load and init.
Underlying network protocol for wave communication
Communication and Collaboration Tool <ul><li>- Instant messaging </li></ul><ul><li>- Wiki </li></ul><ul><li>- Social networks </li></ul><ul><li>- Groups </li></ul><ul><li>- Media sharing </li></ul><ul><li>- Blogs </li></ul>3
Example of Robots <ul><li>Bloggy: </li></ul><ul><li>Publishes waves to a blog </li></ul><ul><li>Tweety: </li></ul><ul><li>Syncs between waves and Tweeter </li></ul><ul><li>Polly: </li></ul><ul><li>Demostrates forms within a wave </li></ul>14
Gadgets & Robots: Differences <ul><li>Robots : automated participant </li></ul><ul><li>Gadget : wave element </li></ul><ul><li>Robot : interacts and modifies the wave </li></ul><ul><li>Gadget : interact with the user, modifies only its own state </li></ul>16