Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Abstract …….…………………..................................…………………………… 01
2. Introduction …..…………...……………………………………………………….03
2.1 Google Wave As Product .……………………………………………………
04
2.2 Google Wave As Platform .
…………………………………………………..05
2.3 Google Wave As Protocol ……………………………………………………
05
5. Anatomy of Wave
………………………………………………………………….18
Chapter 1
Abstract
Google Wave is a real-time communication platform. It combines aspects of email,
instant messaging, wikis, web chat, social networking, and project management to build
one elegant, in-browser communication client. You can bring a group of friends or
business partners together to discuss how your day has been or share files. Some are the
features of Google Wave are, it is Real-time, Open source, etc.
The main idea behind Google wave is instead of sending a message along with its
entire thread of previous messages, requiring all responses to be stored in each user's
inbox for context, message documents (called as waves) that contain complete threads of
multimedia messages (blips) are perpetually stored on a central server. Google Wave
provides federation using an extension of XMPP (Extensible Messaging and Presence
Protocol), the open Wave Federation Protocol. Being an open protocol, anyone can use it
to build a custom Wave system and become a wave provider
Google Wave is a communication system, just like email or instant messaging. Only
it combines these methods of communicating and adds a few more. Google Wave allows
you to see messages near instantaneously as you type, but it also allows people who aren't
logged in to join the conversation later.
Google is building APIs that allow developers to use and build on Google Wave
like extensions, program robots to automate common tasks and/or build gadgets to extend
or change user interaction (e.g., posting blips on microblog feeds). Google wave
Extensions are mainly of 2 types:
Gadgets : A gadget is an application users can participate with, many of which are built
on Google’s OpenSocial platform. A good comparison would be iGoogle gadgets or
Facebook applications.
Robots : Robots are automated participants within a wave. They can talk with users and
interact with waves. They can provide information from outside sources (i.e. Twitter,
stock quotes, etc.)
Chapter 2
Introduction
Chapter 2
Introduction
Protocol
2.1 Google Wave as Product
The Google Wave product (available as a developer preview) is the web
application people will use to access and edit waves. It's an HTML 5 app, built on Google
Web Toolkit. It includes a rich text editor and other functions like desktop drag-and-drop
(which, for example, lets you drag a set of photos right into a wave).
Google Wave has a lot of innovative features, but here are just a few:
- Real-time: In most instances, you can see what someone else is typing, character by
character.
- Open source: The Google Wave code will be open source, to foster innovation and
adoption amongst developers.
- Playback: You can playback any part of the wave to see what was said. A very nice
facility.
- Natural language: Google Wave can autocorrect your spelling, even going as far as
knowing the difference between similar words, like “been” and “bean.” It can also auto-
translate on-the-fly.
- Drag-and-drop file sharing: No attachments; just drag your file and drop it inside
Google Wave and everyone will have access.
2.2 Google Wave As Platform
Google Wave can also be considered a platform with a rich set of open APIs that
allow developers to embed waves in other web services, and to build new extensions that
work inside waves.
The API has been used to build a bunch of cool extensions: Bloggy, a blog client,
lets you make a blog post as a wave. When people comment, they join the conversation.
Spelly is a spell-checker that uses the entire corpus of the web as its dictionary. Linky is a
link-recognition engine that is clever enough to recognize that the link you just entered is
a YouTube video, or a link to a photo, and give you the option to embed the target of the
link into the wave. There's even a twitter client - you can tweet into and out of a wave!
And of course, buggy, a bug-reporting tool that can also be a participant in a wave.
The Google Wave protocol is the underlying format for storing and the means of
sharing waves, and includes the "live" concurrency control, which allows edits to be
reflected instantly across users and services. The protocol is designed for open federation,
such that anyone's Wave services can interoperate with each other and with the Google
Wave service. To encourage adoption of the protocol, we intend to open source the code
behind Google Wave.
The wave federation protocol enables everyone to become a wave provider and
share waves with others. For instance, an organization can operate as a wave provider for
its members, an individual can run a wave server as a wave provider for a single user or
family members, and an Internet service provider can run a wave service as another
Internet service for its users as a supplement to email, IM, ftp, etc. In this model,
wave.google.com is one of many wave providers.
Chapter 3
Different Communication Tools
Chapter 3
There are many Instant Messaging tools available in market like Google talk ,
Rediff Bol etc. Instant messaging (IM) is a collection of technologies that create the
possibility of real-time text-based communication between two or more participants over
the internet or some form of internal network/intranet. It is important to understand that
what separates chat and instant messaging from technologies such as e-mail is the
perceived synchronicity of the communication by the user - Chat happens in real-time.
Some systems allow the sending of messages to people not currently logged on (offline
messages), thus removing some of the differences between Instant Messaging and e-mail
(often this is done by sending the message to the associated e-mail account).
It is typically possible to save a conversation for later reference. Instant messages are
often logged in a local message history, making it similar to the persistent nature of
e-mails. The examples of the Instant Messaging tools are AIM, eBuddy, IBM Lotus
Sometime, iChat, Skype, VZOchat, Yahoo! Messenger and many more…
3.2 Wikis
A wiki website that allows the easy creation and editing of any number of
interlinked web pages via a web browser using a simplified markup language or a
WYSIWYG text editor. Wikis are typically powered by wiki software and are often used
to create collaborative websites, to power community websites, for personal note taking,
in corporate intranets, and in knowledge management systems. On wiki like web sites
many discussions keeps continuously going on and the web pages are updated live.
Media sharing occurs in online social networks and digital communities with a
comprehensive platform and diversified interfaces to aggregate, upload, compress, host
and distribute images, text, applications, videos, audio, games and new media. It is the
interactive process of sending via email, instant message, text message, posting or linking
to media on a website or blog and other methods of sharing media to a targeted audience.
As media is shared it takes on a variety of different contexts and meanings. The same
video posted on YouTube and on Digg will generate different communication outcomes
as the same video being sent to a family member and a college buddy. Social
commentary usually accompanies shared media. Media sharing sustains social networks,
web based communities and other digitally supported relationships. It is a communication
process that requires the participation of both the sender and receiver. Media sharing
platforms that are most popular are user-friendly, highly accessible and include mobile
devices such as cell phones, PDAs, computers, and home game consoles such as the
Playstation 3 and Xbox 360.
3.5 Blogs
3.6.1 Email
Email is simple, wildly popular, and works well—or else it wouldn't have stayed in
such widespread use as long as it has. But email has serious drawbacks when used to
manage a conversation within a group.
Given that email was designed to imitate "snail mail"—where the ultimate
destination was either the circular file or a filing cabinet—letters sent via email
seemed destined for cold storage, not the cauldron of innovative workspaces.
There's no standard or easy way to embed rich content like maps, photo slide
shows, or video clips in the body of an email. Email's answer for anything that's
not text is "The Attachment." Whether it's a document, a photo, a video, a group
survey, or a web page, email wasn't designed to incorporate interactivity or
richness within the body of the message itself. You could include a link to a web
page inside an email message, but sometimes those break or become unclickable,
and they force the recipient to launch a web browser. While some email clients
like Gmail or Microsoft Outlook can display rich message formatting with images
and colors, or display attached files inline, there's no consistency. No one's email
always looks the same.
It's not easy to privately respond to specific people within a group email.
When the group finally does stop for parts, Badger emails them asking for a cargo
drop-off. Zoe wants to ask the crew how they should negotiate payment. She can't
reply to all because Badger will see it, so she has to manually edit the recipient
list on the private email and create yet another copy of the message.
Since email's invention in the 1960s, the internet and then the World Wide Web were
born, which gave everyone an instant electronic printing press. In the early days, web
sites were just static documents that didn't change. As the web grew and the technology
behind it progressed, web sites became interactive, ever-changing hosted applications,
where you could store and update information, communicate with others, chat in real-
time, and even check and send email. In a world where broadband is widely available and
you can use blogs, Wikipedia, instant messenger, and hosted web applications that
obviate the need for any software on your computer besides a web browser, email looks
even more ancient.
3.6.2 Wave’s Solution
Rather than pass multiple copies of messages back and forth, Wave hosts a single
copy of a conversation that all participants can edit and add to. Wave displays the latest
version of the conversation to everyone in the group in real-time, even as it's changing.
That means if Mahesh has the wave she sent Wash open on her computer, and Wash is
typing his responses, Mahesh sees the wave change keystroke by keystroke. Wave treats
an email conversation with multiple recipients and senders as a document with multiple
editors and writers. If you can make the conversations-as-documents and documents-as-
conversations leap along with Wave, the system makes 100% more sense in other,
smaller ways, Wave addresses the rest of the problems with email listed in the previous
section. Using Wave, all the participants in a conversation have the ability to:
Google wave is having many capabilities some of them are discussed here as
follows
First generation email/IM integration let you see when someone was online, and
opt to instant message someone rather than send them an email. Wave simply erases the
distinction.
If both people are online at the same time, a wave acts just like an instant message
except that you see each character as it is typed. (However, it is possible to set Wave to
hold your messages till you are done.)
A key point here is that Google's relentless focus on reducing the latency of
online actions is bringing the online experience closer and closer to our real world
experience of face-to-face communication. When you're talking with someone, you know
what someone is saying before they finish their sentence. You can respond, or even finish
their sentence for them. So too with Wave. The real-time connectedness of Wave is truly
impressive.
4.2.2 Playback
Let's say you are added to a conversation (a wave) that has been going on for a
long time? You can be added at any relevant point, not just the end. But even cooler, you
can do a playback of the entire evolution of the conversation. Let's say you want to edit
your message (or even a message that was written by another participant in the wave).
The original author is notified, but every participant can see that the message has been
modified, and if they want, can replay the changes . This leads to a change in behavior
and conversations become shared documents.
To play back a wave, open it in view mode, and then click its Playback button. A
slider appears at the top of the wave, with rewind, back, forward, and fast-forward
buttons on its left. Just beneath the slider, a yellow bar tells you when the wave was
created. Playback's main purpose is to help Johnny-come-latelies catch up on what they
missed when they've been added to a wave after it's progressed through multiple changes.
For example, if three co-workers are collaborating on a wave, and then add a fourth
person to it, that last person is coming in on a fully developed conversation or document.
To catch up with what happened in sequence, Wave's playback functions as an instant
replay. The fourth person can go back to what the wave looked like when it started, and
watch what changes and contributions got added to it over time to make better sense of
the conversation.
Normally spell checker works by matching the words the words in the dictionary
and if it founds any error it just indicates it. But spell checker in Google wave actually
takes the context of the text in account then it matches the context with an language
model which is made from the entire web. So the spell checker in Google wave
confidently changes some text if spell mistakes.
Like email, you can attach files to your waves, including images. There are two
ways to add a file or image to a wave:
If your browser has the Google Gears plug-in installed, you can drag and drop files from
your computer directly into your wave. (Gears comes with Google Chrome for Windows,
and it's freely available to install for Firefox, Internet Explorer, and Safari for Mac.) Or,
click the paper clip icon on your wave's toolbar, and then select the file you want to
upload using the Open Files dialog box.
Except for images, most file types appear in the wave as an attachment, represented by a
large icon. Every file type has a caption or descriptive text included with it. By default,
it's the name of the file without the extension. Anyone participating in the wave can edit
that caption, but it does not change the file name. If you click a file to download it, the
downloaded file name will be the original name the file had when it was uploaded, not
the edited caption. Google limits file attachments to 20MB in size.
Anatomy of Wave
Google Wave actually has its own lingo – yes, you have to learn a few definitions
if you’re going to really understand this new communication platform. Having
knowledge of these terms will help you understand more about Google’s newest project.
Fig 6 : Anatomy of Wave
- Blip: Even smaller than a Wavelet, a Blip is a single, individual message. It’s like a
single line of an IM conversation. Blips can have other blips attached to them, called
children. In addition, blips can either be published or unpublished (once again, it’s sort of
like typing out an IM message but not yet sending it).
- Document: A document actually refers to the content within a blip. This seems to
refer to the actual characters, words, and files associated with a blip.
- Extension: An extension is a mini-application that works within a wave. So these are
the apps you can play with while using Wave. There are two main types of extensions:
Gadgets and Robots
- Embedded Wave: An embedded wave is a way to take a Google Wave and the
conversation within it and place it on your website. Users could use this as a chatroom, as
a way to contact you, or for something more.
Chapter 6
Google Wave API
Chapter 6
Extensions:
Developers can enhance Google Wave itself by authoring mini-applications
(extensions) that interact with the Wave. Developers can create robots which
interact with waves, or gadgets which participants may interact with and
combinations of robots and gadgets are also supported
Embeded Waves:
All initial Wave API development should take place in the sandbox. The sandbox is a
developer-only instance of Google Wave where you can freely test and debug extensions
you develop with other developers. You can request developer access to the sandbox
using this form. When they are ready to share your application with the general
population, you will want to deploy your extensions to Wave Preview.
The sandbox is similar to the Google Wave Preview, though there are some differences:
Wave extensions are a way to augment the functionality of waves and the wave client.
Currently, the Wave API supports the following extensions:
Gadgets: Gadget extensions provide a shared program which runs within the
wave, and to which all participants have access.
Robots: Robots are applications which can be added to waves as automated wave
participants. Robot extensions commonly automate tasks, but can also participate
in the wave as a participant, interacting with the conversation based on their
capabilities
A Wave Gadget is one of two types of Google Wave extensions. Gadgets are fully
functional applications. According to Google, gadgets are primarily for changing the look
and feel of waves, although this seems to only scratch the surface of the potential of a
wave gadget.
Almost any iGoogle or OpenSocial gadget can run within Google Wave. That
means thousands of applications that have been already created will work in Google
Wave. A gadget built within Google Wave can take advantage of live interaction with
multiple users. This means something like a live online game with active participation
from all users. In that way, it has similarities to Facebook or MySpace applications,
which take advantage of your friend network to make games, quizzes, and applications
more meaningful and useful. Gadgets are specific to individual waves, rather than to
specific users. Thus, it’s not like having a Facebook app on your profile – the gadget
belongs to everyone within the wave. They also do not have titles, to better integrate with
the actual conversation. Some of the gadgets already built include a Sudoku gadget,
Bidder (which turns your wave into an auction), and Maps (which allows for
collaboration on a Google Map).
Chess Gadget : In this gadget two participants can participate into the game Playback
facility is also provided so that any other participant can watch the steps after also.
Playback is ilso helpful in case of incomplete games. Remaining games can be completed
later.
Wave SuDoKu : This is simple sudoku game in which two participants can participate.
Separate scoring mechanism is there that will give points each participants according to
their moves.
HTML : HTML is the stuff that web pages are made of, and you can copy HTML code
from sites all over the web (including the embed code available for most internet videos,
for example). By default you can't simply copy and paste HTML into a blip and expect it
to work, however. What you can do is install the HTML gadget, click its Edit link, insert
your HTML text, and then click the View link. In response, the HTML gadget renders
your HTML code as it was meant to be displayed.
Yellow Highlighter : This sample is an extension installer that uses annotate Selection to
annotate the selected text when a toolbar icon is clicked. It annotates it using the key used
by the Wave client for specifying the background color of text, and specifies the value as
yellow. This results in the text being highlighted.
Map Gadget : This Gadget lets users edit a map together, adding markers and poles with
titles and descriptions. Users can also search for addresses and businesses and add those.
Yes No Maybe Gadget : This gadget collects the responses of the participants in three
formats like Yes/No/Maybe. It shows the candidates reply with its image in different
columns. The interesting thing is that you can change your reply later also. There are
many Interesting Gadgets available to use with Google wave.
The figure shows the basic model of the gadget. There is the wave John’s client
where the gadget runs and Bill’s client where also the gadget is running.
When John do something to the gadget it looks like you manipulating the
background but internally it maintains a XML document which contains the entire state
of wave. When changes are made to wave it reflect changes in the XML document. After
that the Client calculates the difference and sends to the Wave server. Wave server takes
all the changes made by all user continuously and then reflects all changes on every
client. The Gadget can change only one node in its document that is gadget node.
Class Wave
Class Wave represents the wave object in java library. Here are some
Methods to use are given below:
Class Participant
Class Participant represents the Participant object in java library. Here are some
Methods to use are given below:
Class State represents the state object in java library. Here are some Methods to use
the are given below:
You can write a gadget with any text editor. Once you write the gadget, you must
host it somewhere on the internet, where it is publicly visible (that is, not behind a
firewall). A few options for hosting are Google App Engine and SVN.
1. Place the cursor in the wave and click the more actions menu in the upper right
corner of the wave. The More actions menu appears as an ellipsis (...).
2. In the More actions menu, click the Add Gadget by URL.
3. In the Add gadget by URL dialog, type the URL for the gadget spec (in this
example, http://gadget-doc-examples.googlecode.com/svn/trunk/wave/hello.xml)
and click Add. The "add by URL" feature is useful for testing gadgets during
development. When you are ready to share a gadget with users, you should install
it in a wave to make it easy to reuse and share.
Robots are the other type of Google Wave extension. Robots are like having
another person within a Google Wave conversation, except that they’re automated.
They’re a lot like the old IM bots of the past, although far more robust. Robots can
modify information in waves, interact with users, communicate with others waves, and
pull information from outside sources. Because it acts like a user, you can define its
behaviour based on what happens in the chat. You could build one as simple as “change
the word dog to the word cat” or one as complex as a fully-functional debugger. We’ll
probably start seeming some very advanced robots in the near future. Some of the
robots already in service include Debuggy (an in-wave debugger), Stocky (which pulls
stock prices based on stock quote mentions), and Tweety (the Twave robot, which
displays tweets inside of a wave).robot is an automated participant on a wave. A robot
can read the contents of a wave in which it participates, modify the wave's contents, add
or remove participants, and create new blips and new waves. In short, a robot can
perform many of the actions that any other participant can perform.
You can do many more things with robots than those listed here. Additionally, as we
expand the capabilities of the API, robots will be able to take advantage of these new
features.
6.3.1 Different Wave Robots
Polly the Pollster: One of the most promising Wave bots available in the preview, Polly
the Pollster lets you create multiple choice polls with custom questions and answers, and
distribute them among any number of Wave contacts. As your contacts respond by
selecting a radio button and clicking the Submit button, you can watch Polly's poll
results, in the form of a pretty graph, update in real-time.
TwitUsernames: The TwitUsernames bot inspects the contents of any wave it's
participating in, and converts the words that start with the @ sign to Twitter user links.
For example, if you add TwitUsernames to a wave and then type @malcolmreynolds into
a wave.
Emoticony : The Emoticony bot converts textual smiley faces into smiley face images.
Add Emoticony to your wave, and in any blip (except the first one), Emoticony
automatically converts emoticons to images.
Rosy Etta : Rosy is Language conversion robot which converts English to different 40
languages & vice versa. Rosy translates the word character by character so while writing
the other person watches different words.
CleanTXT : The CleanTXT bot is an automated janitor for a wave, especially helpful on
active waves with lots of participants, like public waves. When CleanTXT is participating
in a Wave, it automatically deletes empty blips, reduces repetitive blank lines in a blip,
automatically corrects common typos (such as a mistyped "teh" for "the"), and inserts
missing spaces after commas and semi-colons. The CleanTXT bot also offers a hook into
the Approver gadget, a thumbs-up/thumbs-down control that lets participants rate blips in
a wave. With CleanTXT participating in your wave, type !approver to add the Approver
gadget to that blip. Type! Approver++ to have CleanTXT adds the Approver gadget to
every new blip submitted to the wave going forward. CleanTXT is especially useful on
public waves, which can get cluttered with accidental empty blips and typos quickly.
6.3.2 Wave Robot Architecture
Figure shows the Wave Robot Architecture. As shown in the figure we have a john’s
client which maintains a XML document and directly contacts with the wave server. The
wave server not only responds to the wave clients but it also deals with the bunch of
agents called robot agents. So Spelly & Linky are the Robot agents. Robots reside on the
App Engine and the get complete access to the document in which they participate. App
Engine is something special. To keep development of robots simple Google had created a
proxy server called robot proxy. The robot proxy takes the wave protocol from the wave
server and converts it into HTTP protocol. It also takes all the HTTP protocols which are
required for a robot. Then it manipulates it encodes it and sends back to the wave server.
Wave server makes the required changes it the Wave document. Currently the robots are
dependant for some good technical reasons. Google has said the it will remove that
dependence since it is in development. Google has developed some libraries in the JAVA
& PYTHON .
Event Bundle
When the Wave event system determines that an event has occurred for which a robot has
expressed an interest in being notified, Wave creates a JSON Message Bundle and sends
the message to the robot. Each bundle consists of one or more components:
Robot Operations
Robot operations are those operations not tied to a particular element in the wave (e.g.
wavelet, blip, etc.) All operations that operate over all these elements are attached to the
"robot" namespace. You can think of robot operations as global operations.
Wavelet Operations
Wavelet operations are operations specific to a particular wavelet within the wave.
Blip Operations
Blip operations are operations specific to particular blips within a wavelet. Note that all
blips are also documents as well, so operations specific to documents are also applicable
to blips (but not vice-versa).
Document Operations
ROBOT GADGET
Runs on application servers Runs within the wave client itself.
Each robot may instantiate at most Each gadget may have multiple instances per
.Robot is like a participant on a wave wave, one for each participant interacting with
one instance per wave. the gadget.
Robots may modify a wave and Gadgets are not able to modify a wave, and
perform the same operations as a have limited visibility into the wave
human participant.
Robots can modify a gadget. Gadgets have no way to know that a robot
exists, and thus are not able to modify a robot.
Wave embeds are a little more complex than embedding a YouTube video onto your
blog, yet in the end, that’s really what Google Wave Embeds are: a way to take Google
Waves onto a third party website. Embedded Waves support many of the functions of the
actual Google Wave client, including dragging-and-dropping files. While the Wave
Embeds is still very early stage, Google has already built two: YouTube Playlist Discuss
and Multiple Extensions Embed. The former allows you to discuss a YouTube video via
a wave and the latter allows for interaction with multiple waves on the same page. One
possibility: Google Wave Embeds may be a real-time replacement to static comments. If
Google perfects wave embeds, you could even see YouTube.com comments replaced
with waves, although it is way too early to make any calls on the potential of this.
Fig 9 : Wave Embedding
The Google Wave Embed API allows you to easily (and quickly) add communication and
collaboration tools to your web applications. The Embed API allows you to embed waves
on third party websites, anywhere in the web, for easy discussion and collaboration using
wave's cutting-edge user interface. Any conversations on those waves also show up in
your Wave client, making Wave an easy way to aggregate conversations you care about
all over the web in one place. An embedded wave acts and behaves the same as a wave
within the Google Wave application. An embedded wave even supports drag-and-drop
functionality, allowing you to provide your users with a truly interactive collaboration
tool. The Embed API is currently small and has a limited feature set
Embedding is the way by which you can put Google wave in the outside World that is u
can have a wave in your web site. While embedding the wave in the other web sites wave
embedding keeps the part of wave in website which is not dependant on the crome. And
that special part acts as wave client as shown in figure then talks with the wave server.
Class WavePannel
This class defines an object to hold the embedded wave, in which an <iframe> is
constructed.
Methods Return Val Description
ue
addListener(eventType:Stri None Adds an event listener.
ng,
handlerFunction:Function)
addParticipant() None Adds the current user as a participant to
the wave.
addReply(participantId:Stri None Adds a reply to the currently loaded
ng, opt_callback:Function) wave. An empty reply will be added to
the wave for the user specified. If
participantId is empty, an attempt is
made to authenticate the user against
Google. If that fails, a url is provided in
the callback to which the client should
be redirected to provide for the login.
getFrameId() String Returns the frame ID.
getId() Number Returns the Id of this frame
init(container:Object, None Actually creates the wave <iframe>
opt_loadCallback:Function inside the given container. This creation
) is not done in the constructor to allow
the caller to set various initialization
options.
loadSearch(searchExpr:Stri None Loads a new search expression into the
ng, opt_callback:Function) digest. This can be called before or after
init.
loadWave(waveId:String, None Loads a new wave into the WavePanel.
opt_callback:Function) This method can be called before or
after init.
provideProfiles(profiles:Ob None Provides information about profiles.
ject) This method is used to return values
from the profile provider. The expected
input format is a map of wave addresses
to objects with the following fields:
firstName
lastName
photoUrl
setAuthToken(token:String None Sets the authentication token. This
) token must have been obtained by a
signed request to wave.
None Sets the function which can be called to
setContactProvider(provide provide profile information. This
rFunc:Function) method is used when users need to be
displayed but their information is not
yet available.
setContacts(contacts:Array. None Sets the IDs of the contacts that will be
) displayed in the contact picker.
Fetching their profiles is independent
from this.
setEditMode(value:) None Sets the edit mode for the wave. This
method currently affects only the root
blip.
setToolbarVisible(value:) None Sets the visibility of the panel switch
toolbar.
setUIConfig(bgcolor:String None Set the UI configuration for the wave.
, color:String, font:String, This must be done before init() is
fontsize:String) called. Note that fontSize must be
expressed in points, such as "12pt", or
in pixels, such as "12px". Other CSS
properties are not fully supported. This
can only be done before init.
setUIConfigObject(config: None Set the UI configuration for the wave.
WavePanel.UIConfig) This can only be done before init().
Chapter7
Google Wave Federation Protocol
Chapter 7
Google Wave provides federation using an extension of XMPP, the open Wave
Federation Protocol. Being an open protocol, anyone can use it to build a custom Wave
system and become a wave provider. The use of an open protocol is intended to parallel
the openness and ease of adoption of the e-mail protocol and, like e-mail, allow
communication regardless of provider. Google hopes that waves may replace e-mail as
the dominant form of Internet communication. In this way, Google intends to be only one
of many wave providers. It can also be used as a supplement to e-mail, instant messaging,
FTP, etc.
A key feature of the protocol is that waves are stored on the service provider's
servers instead of being sent between users. Waves are federated; copies of waves and
wavelets are distributed by the wave provider of the originating user to the providers of
all other participants in a particular wave or wavelet so all participants have immediate
access to up-to-date content. The originating wave server is responsible for hosting,
processing, and concurrency control of waves. The protocol allows private reply wavelets
within parent waves, where other participants have no access or knowledge of them.
All waves and wavelets (child waves) are identified by a globally unique wave id, which
is a domain name and an id string. The domain name identifies the wave provider where
the wave originated. Waves and wavelets are hosted by the wave provider of the creator.
Wavelets in the same wave can be hosted by different wave providers. However, user
data is not federated; i.e., not shared with other wave providers. Private reply wavelets
are also possible, of which other participants have no knowledge or access. If a private
wavelet is sent between users on the same wave provider, it's not federated regardless of
where the parent wave is hosted.
Chapter 8
Advantages & Disadvantages
Chapter 8
Disadvantages:
1. Since it is in developing state so many bugs will be there .
2. Speed is slow.
3. Very tedious to register & limited no of users are allowed.
4. Only 20MB of attachments are allowed.
Chapter 9
Conclusion
Chapter 9
Conclusion
Chapter 10
Appendix
Chapter 10
Appendix
10.1 References