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 ...
WHAT IS GOOGLE WAVE
 New tool for communication and collaboration on web


 A wave is equal parts conversation and docum...
HOW WAVE WORKS
 Wave is created by one participant
 Other participants are added to the wave
 Everyone can use richly f...
BASIC WAVE ENTITIES
               Participants – human
                participants and robots
               Wave – th...
GOOGLE WAVE API
 Embedded Waves – developers can enhance existing
  web applications by embedding Google Wave directly
  ...
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>G...
EMBEDDED WAVE EXAMPLE
EXTENSION TYPES
 Robots
    Software backed wave participants
    Commonly used for automated tasks
    Can interact w...
ROBOT VS. GADGET COMPARISON
            Robot                           Gadget
 Runs on application servers    Runs with...
WAVE GADGET ARCHITECTURE
  John’s       Multiple clients talking to the Wave Server using Wave
  client       XML
   Gadge...
HELLO WORLD GADGET
<?xml version="1.0"
  encoding="UTF-8" ?>
                               declares that the gadget has
<...
WAVE GADGET API
 Wave
    getParticipants(), getState(), getMode(), getTime(),
     getViewer(), getHost(), setParticipa...
GADGET EXAMPLES
WAVE ROBOT ARCHITECTURE
                                                 John’s
                                          ...
WAVE ROBOT API
 Model
    TextView,
    GadgetView
    FormView
 Events
    Wavelets (BlipCreate, ParticipantChange,...
WAVE ROBOT API (cont.)
 Operations
   Wavelet (AppendBlip, AddParticipant, Create,
    RemoveSelf, SetDataDoc, SetTitle,...
ROBOT EXAMPLES
 Polly
    Handles the flow of polling
    Uses input forms within wave
 Bloggy
    Publishes waves to...
GOOGLE WAVE RESOURCES
 Google Wave Main Hub
    http://wave.google.com/
 Wave Account Signup:
    Developer - https://...
Google Wave
Google Wave
Google Wave
Google Wave
Google Wave
Google Wave
Google Wave
Upcoming SlideShare
Loading in...5
×

Google Wave

2,148
-1

Published on

High level overview of Google Wave technology

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,148
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
198
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Google Wave

  1. 1. Monika Adamczyk Software Architect, MACO TECH INC http://www.maco-tech.com monika@maco-tech.com
  2. 2. AGENDA  Google Wave Overview  Wave Embed API  Wave Extensions  Wave Gadgets API  Wave Robots API  Google Wave Sandbox Demo  Q&A
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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)
  7. 7. WAVE EMBED ARCHITECTURE Web Page <script include…/> Wave Client Wave Server
  8. 8. WAVE EMBED API  Methods  LoadWave  SetUIConfig  Add Reply  Follow
  9. 9. 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>
  10. 10. EMBEDDED WAVE EXAMPLE
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. 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>
  15. 15. 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()
  16. 16. GADGET EXAMPLES
  17. 17. WAVE ROBOT ARCHITECTURE John’s client Wave Server Robot Linky Spelly Proxy App Engine *Currently all robots run on App Engine
  18. 18. WAVE ROBOT API  Model  TextView,  GadgetView  FormView  Events  Wavelets (BlipCreate, ParticipantChange, TitleChanged  Blips (ContributorsChanged, BlipDeleted, BlipSubmitted, DocumentChanged)  Form (ButtonClicked)
  19. 19. 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
  20. 20. 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
  21. 21. 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
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×