SlideShare a Scribd company logo
1 of 16
Download to read offline
Google Wave for Developers:
         Making Robots

        Patrick Chanezon, Google @chanezon

        Salvador Diaz, SFEIR, @salvadordiaz




      December 9, 2009

Wednesday, December 9, 2009
Why build on Google Wave?

   • Real-time == Real-awesome
     o Self-explanatory

   • Workflow
      o Focused on bridging communication and workflow.
   • Leverage
      o New and exciting technology and foundation.
   • Opportunity!
      o New business opportunities.




Wednesday, December 9, 2009
Extensions in Wave
           The most common ways to extend Wave are to use:


      • Gadgets
        o Embed them in a conversation
        o Built with HTML+Javascript
        o Interactive with the Wave and it’s participants
        o Ex: maps, slideshows, search results

      • Robots
        o Are actual participants of a Wave which can ‘do things’
            Exactly the same as a Wave participant
        o Ex: content update, integration with other systems




Wednesday, December 9, 2009
Wave Entities: Data Model
 “Show me your flowchart and conceal your tables, and I shall continue to be mystified.
 Show me your tables, and I won't usually need your flowchart; it'll be obvious.”
                                          Fred Brooks, The Mythical Man-Month



   •    Wave
   •    Wavelets
   •    Blips
   •    Documents




Wednesday, December 9, 2009
Robot Architecture Overview




Wednesday, December 9, 2009
Wave Robot Concepts

   • Wave Robots...

         o   Live in the cloud.
         o   Are external (robotic) participants.
         o   Have full access to wave.
         o   Respond to events on a wave.
         o   Are currently available for Java and Python APIs on
             Google App Engine.




Wednesday, December 9, 2009
Wave Robots Essentials

   • APIs in Python and Java
   • Runs in Google App Engine
   • Events:
     o "Robot added to Wave" - WAVELET_SELF_ADDED
     o ”New blip" - BLIP_SUBMITTED
     o "Blip edited" - BLIP_VERSION_CHANGED
     o "New participant"
       - WAVELET_PARTICIPANTS_CHANGED
   • Responds to:
     o Augmented or edited Wave content
     o Invites from other participants
     o Interaction with other systems outside of Wave




Wednesday, December 9, 2009
Robot Examples
  Smiley

    """Smiley: Yet another smiley robot."""

    from waveapi import events
    from waveapi import robot

    def OnBlipSubmitted(properties, context):
      blip = context.GetBlipById(properties['blipId'])
      contents = blip.GetDocument().GetText()
      contents = contents.replace(':(', unichr(0x2639)) # happy
      contents = contents.replace(':)', unichr(0x263A)) # sad
      blip.GetDocument().SetText(contents)

    if __name__ == '__main__':
      smiley = robot.Robot('Smiley')
      smiley.RegisterHandler(
          events.BLIP_SUBMITTED, OnBlipSubmitted)
      smiley.Run()




     (A complete and useful robot in a single slide... with
     room to spare!)

Wednesday, December 9, 2009
Other Robot Examples

   •   Swedish Chef
   •   Monty + Syntaxy (a match made in robot heaven)
   •   Wikify (wikifier@appspot.com)
   •   CleanTXT (cleantxt@appspot.com)
   •   Polly the Pollster (polly-wave@appspot.com)
   •   Yelpful (yelpful@appspot.com)
   •   TwitUsernames (twitusernames@appspot.com)
   •   XMPP Lite (wave-xmpp@appspot.com)
   •   Madoqua Wave Bot (blog-bot@appspot.com)
   •   Emoticony (emoticonbot@appspot.com)
   •   Inbeddable (inbeddable@appspot.com)
   •   Easy Public (easypublic@appspot.com)



Wednesday, December 9, 2009
Robot Lists

   •   http://wave-samples-gallery.appspot.com/
   •   http://completewaveguide.com/guide/Wave_Bots
   •   http://www.waverobots.com/
   •   http://www.cloudave.com/link/the-top-11-google-wave-
       robots-for-the-enterprise




Wednesday, December 9, 2009
Wave videos in a theater near you

   • What is Google Wave
     email reinvented
     http://www.youtube.com/watch?v=rDu2A3WzQpo
   • Google Wave Pulp Fiction
     creative use of robots (strong language:-)
     http://www.youtube.com/watch?v=xcxF9oz9Cu0
   • Introducing SAP Gravity, a Business Process Modeling Tool
     for Google Wave
     Wave for business
     http://www.youtube.com/watch?v=FaNhXPSCQWo




Wednesday, December 9, 2009
Robot Roadmap

     • New Robots wire protocol (v0.2)
        o Publish for community feedback
        o Implement Java and Python API parity
     • Internal speed improvements for AppEngine robots.
     • Robot Gateway / OpenSocial REST Access
     • Robot access to OAuth controlled resources
     • Better multiple wave access
     • Sunset robot cron in favor of direct access to Wave
       servers.
     • Gateway support: Improve the current tweety type of
       access to support outside addresses of the form address
       +robot@appspot.com



Wednesday, December 9, 2009
Beyond Robots: Wave federation
     • Open Source protocol http://www.waveprotocol.org
     • Open Source Google Wave Federation Prototype Server
       http://code.google.com/p/wave-protocol/




Wednesday, December 9, 2009
Beyond Robots: Wave federation




Wednesday, December 9, 2009
Summary – How to get started

   • Familiarize yourself with the developer sandbox.
     http://wave.google.com/a/wavesandbox.com/

   • Explore the docs.
     http://code.google.com/apis/wave

   • Stay up-to-date on our blog updates.
     http://googlewavedev.blogspot.com/




Wednesday, December 9, 2009
Demo: Vacation Workflow Wave Extension




Wednesday, December 9, 2009

More Related Content

Similar to Leweb09 Building Wave Robots

Google Devfest 2009 Argentina - Building Google Wave Robots
Google Devfest 2009 Argentina - Building Google Wave RobotsGoogle Devfest 2009 Argentina - Building Google Wave Robots
Google Devfest 2009 Argentina - Building Google Wave RobotsPatrick Chanezon
 
Devfest 09 Building Wave Robots
Devfest 09 Building Wave RobotsDevfest 09 Building Wave Robots
Devfest 09 Building Wave RobotsChris Schalk
 
Introduction to Machine Learning with H2O - Jo-Fai (Joe) Chow, H2O
Introduction to Machine Learning with H2O - Jo-Fai (Joe) Chow, H2OIntroduction to Machine Learning with H2O - Jo-Fai (Joe) Chow, H2O
Introduction to Machine Learning with H2O - Jo-Fai (Joe) Chow, H2OData Science Milan
 
For a Social Local and Mobile Drupal
For a Social Local and Mobile DrupalFor a Social Local and Mobile Drupal
For a Social Local and Mobile DrupalAdyax
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGuillaume Laforge
 
Apache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - VerisignApache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - VerisignMichael Noll
 
Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)
Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)
Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)Google Developer Relations Team
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Jody Garnett
 
Lessons learned maintaining Open Source ActionScript projects
Lessons learned maintaining Open Source ActionScript projectsLessons learned maintaining Open Source ActionScript projects
Lessons learned maintaining Open Source ActionScript projectsZeh Fernando
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1benDesigning
 
Google Wave Extensions
Google Wave ExtensionsGoogle Wave Extensions
Google Wave Extensionssekartut
 
Scalable Plone hosting with Amazon EC2 for Rice University's Rhaptos open lea...
Scalable Plone hosting with Amazon EC2 for Rice University's Rhaptos open lea...Scalable Plone hosting with Amazon EC2 for Rice University's Rhaptos open lea...
Scalable Plone hosting with Amazon EC2 for Rice University's Rhaptos open lea...Jazkarta, Inc.
 
Gnome, linux mobile stacks, and you
Gnome, linux mobile stacks, and youGnome, linux mobile stacks, and you
Gnome, linux mobile stacks, and youAndrew Savory
 
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...Codemotion
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium IntroNicholas Jansma
 
Ionic 4 + capacitor + angular 7
Ionic 4 +  capacitor + angular 7 Ionic 4 +  capacitor + angular 7
Ionic 4 + capacitor + angular 7 Marino Di Clemente
 
Michael(tm) Smith WND09 Presentation
Michael(tm) Smith WND09 PresentationMichael(tm) Smith WND09 Presentation
Michael(tm) Smith WND09 PresentationMichael(tm) Smith
 

Similar to Leweb09 Building Wave Robots (20)

Google Devfest 2009 Argentina - Building Google Wave Robots
Google Devfest 2009 Argentina - Building Google Wave RobotsGoogle Devfest 2009 Argentina - Building Google Wave Robots
Google Devfest 2009 Argentina - Building Google Wave Robots
 
Devfest 09 Building Wave Robots
Devfest 09 Building Wave RobotsDevfest 09 Building Wave Robots
Devfest 09 Building Wave Robots
 
Google Wave
Google WaveGoogle Wave
Google Wave
 
Introduction to Machine Learning with H2O - Jo-Fai (Joe) Chow, H2O
Introduction to Machine Learning with H2O - Jo-Fai (Joe) Chow, H2OIntroduction to Machine Learning with H2O - Jo-Fai (Joe) Chow, H2O
Introduction to Machine Learning with H2O - Jo-Fai (Joe) Chow, H2O
 
For a Social Local and Mobile Drupal
For a Social Local and Mobile DrupalFor a Social Local and Mobile Drupal
For a Social Local and Mobile Drupal
 
Google App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and GaelykGoogle App Engine Java, Groovy and Gaelyk
Google App Engine Java, Groovy and Gaelyk
 
Apache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - VerisignApache Storm 0.9 basic training - Verisign
Apache Storm 0.9 basic training - Verisign
 
Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)
Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)
Google Developer DAy 2010 Japan: HTML5 についての最新情報 (マイク スミス)
 
Squeak
SqueakSqueak
Squeak
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
Lessons learned maintaining Open Source ActionScript projects
Lessons learned maintaining Open Source ActionScript projectsLessons learned maintaining Open Source ActionScript projects
Lessons learned maintaining Open Source ActionScript projects
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
 
Google Wave Extensions
Google Wave ExtensionsGoogle Wave Extensions
Google Wave Extensions
 
iSoligorsk #3 2013
iSoligorsk #3 2013iSoligorsk #3 2013
iSoligorsk #3 2013
 
Scalable Plone hosting with Amazon EC2 for Rice University's Rhaptos open lea...
Scalable Plone hosting with Amazon EC2 for Rice University's Rhaptos open lea...Scalable Plone hosting with Amazon EC2 for Rice University's Rhaptos open lea...
Scalable Plone hosting with Amazon EC2 for Rice University's Rhaptos open lea...
 
Gnome, linux mobile stacks, and you
Gnome, linux mobile stacks, and youGnome, linux mobile stacks, and you
Gnome, linux mobile stacks, and you
 
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
Sinfonier: How I turned my grandmother into a data analyst - Fran J. Gomez - ...
 
Appcelerator Titanium Intro
Appcelerator Titanium IntroAppcelerator Titanium Intro
Appcelerator Titanium Intro
 
Ionic 4 + capacitor + angular 7
Ionic 4 +  capacitor + angular 7 Ionic 4 +  capacitor + angular 7
Ionic 4 + capacitor + angular 7
 
Michael(tm) Smith WND09 Presentation
Michael(tm) Smith WND09 PresentationMichael(tm) Smith WND09 Presentation
Michael(tm) Smith WND09 Presentation
 

More from Patrick Chanezon

KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)Patrick Chanezon
 
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...Patrick Chanezon
 
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesDockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesPatrick Chanezon
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesPatrick Chanezon
 
Docker Enterprise Workshop - Intro
Docker Enterprise Workshop - IntroDocker Enterprise Workshop - Intro
Docker Enterprise Workshop - IntroPatrick Chanezon
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalPatrick Chanezon
 
The Tao of Docker - ITES 2018
The Tao of Docker - ITES 2018The Tao of Docker - ITES 2018
The Tao of Docker - ITES 2018Patrick Chanezon
 
Microsoft Techsummit Zurich Docker and Microsoft
Microsoft Techsummit Zurich Docker and MicrosoftMicrosoft Techsummit Zurich Docker and Microsoft
Microsoft Techsummit Zurich Docker and MicrosoftPatrick Chanezon
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018Patrick Chanezon
 
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with DockerDocker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with DockerPatrick Chanezon
 
The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017Patrick Chanezon
 
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...Patrick Chanezon
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Patrick Chanezon
 
Moby Introduction - June 2017
Moby Introduction - June 2017Moby Introduction - June 2017
Moby Introduction - June 2017Patrick Chanezon
 
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logicielsDocker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logicielsPatrick Chanezon
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapPatrick Chanezon
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectPatrick Chanezon
 

More from Patrick Chanezon (20)

KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)
 
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
 
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesDockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
 
Docker Enterprise Workshop - Intro
Docker Enterprise Workshop - IntroDocker Enterprise Workshop - Intro
Docker Enterprise Workshop - Intro
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - Technical
 
The Tao of Docker - ITES 2018
The Tao of Docker - ITES 2018The Tao of Docker - ITES 2018
The Tao of Docker - ITES 2018
 
Moby KubeCon 2017
Moby KubeCon 2017Moby KubeCon 2017
Moby KubeCon 2017
 
Microsoft Techsummit Zurich Docker and Microsoft
Microsoft Techsummit Zurich Docker and MicrosoftMicrosoft Techsummit Zurich Docker and Microsoft
Microsoft Techsummit Zurich Docker and Microsoft
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with DockerDocker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
 
DockerCon EU 2017 Recap
DockerCon EU 2017 RecapDockerCon EU 2017 Recap
DockerCon EU 2017 Recap
 
Docker Innovation Culture
Docker Innovation CultureDocker Innovation Culture
Docker Innovation Culture
 
The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017
 
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
 
Moby Introduction - June 2017
Moby Introduction - June 2017Moby Introduction - June 2017
Moby Introduction - June 2017
 
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logicielsDocker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
 

Recently uploaded

Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 

Recently uploaded (20)

20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 

Leweb09 Building Wave Robots

  • 1. Google Wave for Developers: Making Robots Patrick Chanezon, Google @chanezon Salvador Diaz, SFEIR, @salvadordiaz December 9, 2009 Wednesday, December 9, 2009
  • 2. Why build on Google Wave? • Real-time == Real-awesome o Self-explanatory • Workflow o Focused on bridging communication and workflow. • Leverage o New and exciting technology and foundation. • Opportunity! o New business opportunities. Wednesday, December 9, 2009
  • 3. Extensions in Wave The most common ways to extend Wave are to use: • Gadgets o Embed them in a conversation o Built with HTML+Javascript o Interactive with the Wave and it’s participants o Ex: maps, slideshows, search results • Robots o Are actual participants of a Wave which can ‘do things’  Exactly the same as a Wave participant o Ex: content update, integration with other systems Wednesday, December 9, 2009
  • 4. Wave Entities: Data Model “Show me your flowchart and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won't usually need your flowchart; it'll be obvious.” Fred Brooks, The Mythical Man-Month • Wave • Wavelets • Blips • Documents Wednesday, December 9, 2009
  • 6. Wave Robot Concepts • Wave Robots... o Live in the cloud. o Are external (robotic) participants. o Have full access to wave. o Respond to events on a wave. o Are currently available for Java and Python APIs on Google App Engine. Wednesday, December 9, 2009
  • 7. Wave Robots Essentials • APIs in Python and Java • Runs in Google App Engine • Events: o "Robot added to Wave" - WAVELET_SELF_ADDED o ”New blip" - BLIP_SUBMITTED o "Blip edited" - BLIP_VERSION_CHANGED o "New participant" - WAVELET_PARTICIPANTS_CHANGED • Responds to: o Augmented or edited Wave content o Invites from other participants o Interaction with other systems outside of Wave Wednesday, December 9, 2009
  • 8. Robot Examples Smiley """Smiley: Yet another smiley robot.""" from waveapi import events from waveapi import robot def OnBlipSubmitted(properties, context): blip = context.GetBlipById(properties['blipId']) contents = blip.GetDocument().GetText() contents = contents.replace(':(', unichr(0x2639)) # happy contents = contents.replace(':)', unichr(0x263A)) # sad blip.GetDocument().SetText(contents) if __name__ == '__main__': smiley = robot.Robot('Smiley') smiley.RegisterHandler( events.BLIP_SUBMITTED, OnBlipSubmitted) smiley.Run() (A complete and useful robot in a single slide... with room to spare!) Wednesday, December 9, 2009
  • 9. Other Robot Examples • Swedish Chef • Monty + Syntaxy (a match made in robot heaven) • Wikify (wikifier@appspot.com) • CleanTXT (cleantxt@appspot.com) • Polly the Pollster (polly-wave@appspot.com) • Yelpful (yelpful@appspot.com) • TwitUsernames (twitusernames@appspot.com) • XMPP Lite (wave-xmpp@appspot.com) • Madoqua Wave Bot (blog-bot@appspot.com) • Emoticony (emoticonbot@appspot.com) • Inbeddable (inbeddable@appspot.com) • Easy Public (easypublic@appspot.com) Wednesday, December 9, 2009
  • 10. Robot Lists • http://wave-samples-gallery.appspot.com/ • http://completewaveguide.com/guide/Wave_Bots • http://www.waverobots.com/ • http://www.cloudave.com/link/the-top-11-google-wave- robots-for-the-enterprise Wednesday, December 9, 2009
  • 11. Wave videos in a theater near you • What is Google Wave email reinvented http://www.youtube.com/watch?v=rDu2A3WzQpo • Google Wave Pulp Fiction creative use of robots (strong language:-) http://www.youtube.com/watch?v=xcxF9oz9Cu0 • Introducing SAP Gravity, a Business Process Modeling Tool for Google Wave Wave for business http://www.youtube.com/watch?v=FaNhXPSCQWo Wednesday, December 9, 2009
  • 12. Robot Roadmap • New Robots wire protocol (v0.2) o Publish for community feedback o Implement Java and Python API parity • Internal speed improvements for AppEngine robots. • Robot Gateway / OpenSocial REST Access • Robot access to OAuth controlled resources • Better multiple wave access • Sunset robot cron in favor of direct access to Wave servers. • Gateway support: Improve the current tweety type of access to support outside addresses of the form address +robot@appspot.com Wednesday, December 9, 2009
  • 13. Beyond Robots: Wave federation • Open Source protocol http://www.waveprotocol.org • Open Source Google Wave Federation Prototype Server http://code.google.com/p/wave-protocol/ Wednesday, December 9, 2009
  • 14. Beyond Robots: Wave federation Wednesday, December 9, 2009
  • 15. Summary – How to get started • Familiarize yourself with the developer sandbox. http://wave.google.com/a/wavesandbox.com/ • Explore the docs. http://code.google.com/apis/wave • Stay up-to-date on our blog updates. http://googlewavedev.blogspot.com/ Wednesday, December 9, 2009
  • 16. Demo: Vacation Workflow Wave Extension Wednesday, December 9, 2009