SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
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>
EMBEDDED WAVE EXAMPLE
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()
GADGET EXAMPLES
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

Contenu connexe

Similaire à Google Wave

Programming For Google Wave
Programming For Google WaveProgramming For Google Wave
Programming For Google WaveRodrigo Borges
 
Developing a Google Wave Extension
Developing a Google Wave ExtensionDeveloping a Google Wave Extension
Developing a Google Wave ExtensionBrian Kennish
 
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitJava Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitIMC Institute
 
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklum Ukraine
 
T 0230 Google Wave Powered By Gwt
T 0230 Google Wave Powered By GwtT 0230 Google Wave Powered By Gwt
T 0230 Google Wave Powered By Gwtsupertoy2015
 
jQuery Mobile with HTML5
jQuery Mobile with HTML5jQuery Mobile with HTML5
jQuery Mobile with HTML5madhurpgarg
 
Google wave-oiss-long-032910-final b
Google wave-oiss-long-032910-final bGoogle wave-oiss-long-032910-final b
Google wave-oiss-long-032910-final bLaddie Odom
 
Google Wave First Look
Google Wave   First LookGoogle Wave   First Look
Google Wave First LookVijay Raj
 
Google Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, PlatformGoogle Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, PlatformPamela Fox
 
Firefox os-introduction
Firefox os-introductionFirefox os-introduction
Firefox os-introductionzsoltlengyelit
 
Making mobile apps with web technology (revised)
Making mobile apps with web technology (revised)Making mobile apps with web technology (revised)
Making mobile apps with web technology (revised)Manyoung Cho
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make itJonathan Snook
 
Google Web Toolkits
Google Web ToolkitsGoogle Web Toolkits
Google Web ToolkitsYiguang Hu
 
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache CordovaHazem Saleh
 
Android App Development using HTML5 Technology
Android App Development using HTML5 TechnologyAndroid App Development using HTML5 Technology
Android App Development using HTML5 TechnologyOon Arfiandwi
 
Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie projectscottw
 
Griffon: Re-imaging Desktop Java Technology
Griffon: Re-imaging Desktop Java TechnologyGriffon: Re-imaging Desktop Java Technology
Griffon: Re-imaging Desktop Java TechnologyJames Williams
 

Similaire à Google Wave (20)

Programming For Google Wave
Programming For Google WaveProgramming For Google Wave
Programming For Google Wave
 
Google Wave Basics
Google Wave BasicsGoogle Wave Basics
Google Wave Basics
 
Developing a Google Wave Extension
Developing a Google Wave ExtensionDeveloping a Google Wave Extension
Developing a Google Wave Extension
 
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitJava Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overviewCiklumJavaSat15112011:Andrew Mormysh-GWT features overview
CiklumJavaSat15112011:Andrew Mormysh-GWT features overview
 
T 0230 Google Wave Powered By Gwt
T 0230 Google Wave Powered By GwtT 0230 Google Wave Powered By Gwt
T 0230 Google Wave Powered By Gwt
 
jQuery Mobile with HTML5
jQuery Mobile with HTML5jQuery Mobile with HTML5
jQuery Mobile with HTML5
 
Google wave-oiss-long-032910-final b
Google wave-oiss-long-032910-final bGoogle wave-oiss-long-032910-final b
Google wave-oiss-long-032910-final b
 
Google Wave First Look
Google Wave   First LookGoogle Wave   First Look
Google Wave First Look
 
Google Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, PlatformGoogle Wave 20/20: Product, Protocol, Platform
Google Wave 20/20: Product, Protocol, Platform
 
Firefox os-introduction
Firefox os-introductionFirefox os-introduction
Firefox os-introduction
 
Making mobile apps with web technology (revised)
Making mobile apps with web technology (revised)Making mobile apps with web technology (revised)
Making mobile apps with web technology (revised)
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Google Web Toolkits
Google Web ToolkitsGoogle Web Toolkits
Google Web Toolkits
 
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
[JavaLand 2015] Developing JavaScript Mobile Apps Using Apache Cordova
 
Android App Development using HTML5 Technology
Android App Development using HTML5 TechnologyAndroid App Development using HTML5 Technology
Android App Development using HTML5 Technology
 
Widgets - the Wookie project
Widgets - the Wookie projectWidgets - the Wookie project
Widgets - the Wookie project
 
Meteor seminar
Meteor seminarMeteor seminar
Meteor seminar
 
Griffon: Re-imaging Desktop Java Technology
Griffon: Re-imaging Desktop Java TechnologyGriffon: Re-imaging Desktop Java Technology
Griffon: Re-imaging Desktop Java Technology
 

Dernier

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 

Dernier (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Google Wave

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