• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Google Wave

Google Wave



High level overview of Google Wave technology

High level overview of Google Wave technology



Total Views
Views on SlideShare
Embed Views



2 Embeds 84

http://dontmindrick.com 75
http://www.slideshare.net 9



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Google Wave Google Wave Presentation Transcript

    • Monika Adamczyk Software Architect, MACO TECH INC http://www.maco-tech.com monika@maco-tech.com
    • AGENDA  Google Wave Overview  Wave Embed API  Wave Extensions  Wave Gadgets API  Wave Robots API  Google Wave Sandbox Demo  Q&A
    • WHAT IS GOOGLE WAVE  New tool for communication and collaboration on web  A wave is equal parts conversation and document  It combines email with instant messaging and real- time collaborations
    • HOW WAVE WORKS  Wave is created by one participant  Other participants are added to the wave  Everyone can use richly formatted text, photos, gadgets etc.  Participants can insert a reply or edit the wave directly  Participants can see on screen nearly instantly what others are typing in the wave  Participants can use “playback” capabilities to rewind the wave and see how it evolved
    • BASIC WAVE ENTITIES  Participants – human participants and robots  Wave – threaded conversation with one or more participants  Wavelet – threaded conversation that is spawned from a wave  Blip – basic unit of conversation which consists a single message
    • GOOGLE WAVE API  Embedded Waves – developers can enhance existing web applications by embedding Google Wave directly in their applications  Extensions – developers can enhance Google Wave by authoring mini-applications that interact with wave  Robots  Gadgets  Extension Installers which bundle up Backend (robots and gadgets) and Frontend UI elements into an integrated package (currently supported only in Google Wave client)
    • WAVE EMBED ARCHITECTURE Web Page <script include…/> Wave Client Wave Server
    • WAVE EMBED API  Methods  LoadWave  SetUIConfig  Add Reply  Follow
    • SAMPLE FOR EMBEDDED WAVE <html > <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>Google Wave Embed API Example: Simple Wave</title> <script src="http://wave-api.appspot.com/public/embed.js" type="text/javascript"></script> <script type="text/javascript"> function initialize() { var wavePanel = new WavePanel('http://wave.google.com/a/wavesandbox.com/'); wavePanel.loadWave('wavesandbox.com!w+waveID'); wavePanel.init(document.getElementById('waveframe')); } </script> </head> <body onload="initialize()"> <div id="waveframe" style="width: 500px; height: 100%"></div> </body> </html>
    • EXTENSION TYPES  Robots  Software backed wave participants  Commonly used for automated tasks  Can interact with the conversation based on their capabilities  Gadgets  Shared programs which run within the wave  All participants of the wave have access to it
    • ROBOT VS. GADGET COMPARISON Robot Gadget  Runs on application servers  Runs within the wave client and interact with the wave itself over a protocol  A gadget can have multiple  Only one instance of each instances, one per participant robot per wave interacting with it  Robots can modify a wave  Gadgets can’t modify a wave and perform the same and have limited visibility operations as human into the wave participant  Gadgets don’t know that a  Robots can modify a Gadget robot exists and can’t modify it
    • WAVE GADGET ARCHITECTURE John’s Multiple clients talking to the Wave Server using Wave client XML Gadget in iFrame Jane’s Bill’s client client Wave HXML Wave Server
    • HELLO WORLD GADGET <?xml version="1.0" encoding="UTF-8" ?> declares that the gadget has <Module> access to the Wave Gadgets API <ModulePrefs title="Hello Wave"> <Require feature="wave" /> </ModulePrefs> <Content type="html"> <![CDATA[ Hello, Wave! ]]> </Content> </Module>
    • WAVE GADGET API  Wave  getParticipants(), getState(), getMode(), getTime(), getViewer(), getHost(), setParticipantCalback(), setStateCallback()  State  getKeys(), submitDelta(delta), submitValue(delta), getKey(kep, opt_default)  Participant  getId(), getDisplayName(), getThumbnailUrl()
    • WAVE ROBOT ARCHITECTURE John’s client Wave Server Robot Linky Spelly Proxy App Engine *Currently all robots run on App Engine
    • WAVE ROBOT API  Model  TextView,  GadgetView  FormView  Events  Wavelets (BlipCreate, ParticipantChange, TitleChanged  Blips (ContributorsChanged, BlipDeleted, BlipSubmitted, DocumentChanged)  Form (ButtonClicked)
    • WAVE ROBOT API (cont.)  Operations  Wavelet (AppendBlip, AddParticipant, Create, RemoveSelf, SetDataDoc, SetTitle, CreateBlip)  Blip (CreateChild, Delete)  Annotation (Delete, Set)  Document (Append, AppendStyleId, Insert, Delete, Replace, Elements, InlineBlip
    • ROBOT EXAMPLES  Polly  Handles the flow of polling  Uses input forms within wave  Bloggy  Publishes waves to a blog  Linky  Generates URL links in blips  Tweety  Synch between waves and Twitter
    • GOOGLE WAVE RESOURCES  Google Wave Main Hub  http://wave.google.com/  Wave Account Signup:  Developer - https://services.google.com/fb/forms/wavesignupfordev/  Non-developer - https://services.google.com/fb/forms/wavesignup/  Google Wave API  http://code.google.com/apis/wave/  Google Wave Protocol  http://www.waveprotocol.org/  Google Wave Developer Blog  http://googlewavedev.blogspot.com/  Google Wave Discussion Groups  Google Wave API – http://groups.google.com/group/google-wave-api  Google Wave Protocol - http://groups.google.com/group/wave-protocol