SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Google Wave for Developers:
 Making Robots

Chris Schalk @cschalk
Patrick Chanezon @chanezon

Con: Martin Sarsale



November 17, 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.
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
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
Robot Architecture Overview
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.
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
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!)
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)
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
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
Demo: Building Wave Robots
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
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/
Beyond Robots: Wave federation
Wave Robot Development
 Experience in Argentina




   Local Expert building Wave Robots!


            Martin Sarsale
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/

Weitere ähnliche Inhalte

Ähnlich wie Google Devfest 2009 Argentina - Building Google Wave Robots

Google Wave Extensions
Google Wave ExtensionsGoogle Wave Extensions
Google Wave Extensionssekartut
 
You Either Surf Or You Fight
You Either Surf Or You FightYou Either Surf Or You Fight
You Either Surf Or You FightMrDys
 
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
 
Collaborative Mapping with Google Wave
Collaborative Mapping with Google WaveCollaborative Mapping with Google Wave
Collaborative Mapping with Google WavePamela Fox
 
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
 
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
 
Android
AndroidAndroid
Androidscottw
 
Wave Hackathon Intro
Wave Hackathon IntroWave Hackathon Intro
Wave Hackathon IntroJose Quesada
 
Programming the Real World: Javascript for Makers
Programming the Real World: Javascript for MakersProgramming the Real World: Javascript for Makers
Programming the Real World: Javascript for Makerspchristensen
 
What Is Google Wave?
What Is Google Wave?What Is Google Wave?
What Is Google Wave?Mark Fidelman
 
CoffeeScript: The Good Parts
CoffeeScript: The Good PartsCoffeeScript: The Good Parts
CoffeeScript: The Good PartsC4Media
 
Getting Social with OpenSocial
Getting Social with OpenSocialGetting Social with OpenSocial
Getting Social with OpenSocialTimothy Fisher
 
WikiLoop: Big tech's Open Knowledge contributions
WikiLoop: Big tech's Open Knowledge contributionsWikiLoop: Big tech's Open Knowledge contributions
WikiLoop: Big tech's Open Knowledge contributionsAll Things Open
 
Google Wave API: Now and Beyond
Google Wave API: Now and BeyondGoogle Wave API: Now and Beyond
Google Wave API: Now and BeyondMarakana Inc.
 

Ähnlich wie Google Devfest 2009 Argentina - Building Google Wave Robots (20)

Google Wave
Google WaveGoogle Wave
Google Wave
 
Google Wave Extensions
Google Wave ExtensionsGoogle Wave Extensions
Google Wave Extensions
 
You Either Surf Or You Fight
You Either Surf Or You FightYou Either Surf Or You Fight
You Either Surf Or You Fight
 
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
 
Collaborative Mapping with Google Wave
Collaborative Mapping with Google WaveCollaborative Mapping with Google Wave
Collaborative Mapping with Google Wave
 
Google Wave ppt
Google Wave pptGoogle Wave ppt
Google Wave ppt
 
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
 
Programming For Google Wave
Programming For Google WaveProgramming For Google Wave
Programming For Google Wave
 
Developing a Google Wave Extension
Developing a Google Wave ExtensionDeveloping a Google Wave Extension
Developing a Google Wave Extension
 
Google Wave
Google WaveGoogle Wave
Google Wave
 
Android
AndroidAndroid
Android
 
Wave Hackathon Intro
Wave Hackathon IntroWave Hackathon Intro
Wave Hackathon Intro
 
Programming the Real World: Javascript for Makers
Programming the Real World: Javascript for MakersProgramming the Real World: Javascript for Makers
Programming the Real World: Javascript for Makers
 
What Is Google Wave?
What Is Google Wave?What Is Google Wave?
What Is Google Wave?
 
CoffeeScript: The Good Parts
CoffeeScript: The Good PartsCoffeeScript: The Good Parts
CoffeeScript: The Good Parts
 
Getting Social with OpenSocial
Getting Social with OpenSocialGetting Social with OpenSocial
Getting Social with OpenSocial
 
Social Media Marketing Open Social App Standards
Social Media Marketing Open Social App StandardsSocial Media Marketing Open Social App Standards
Social Media Marketing Open Social App Standards
 
WikiLoop: Big tech's Open Knowledge contributions
WikiLoop: Big tech's Open Knowledge contributionsWikiLoop: Big tech's Open Knowledge contributions
WikiLoop: Big tech's Open Knowledge contributions
 
Google Wave API: Now and Beyond
Google Wave API: Now and BeyondGoogle Wave API: Now and Beyond
Google Wave API: Now and Beyond
 
RobotStudiopp.ppt
RobotStudiopp.pptRobotStudiopp.ppt
RobotStudiopp.ppt
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Google Devfest 2009 Argentina - Building Google Wave Robots

  • 1.
  • 2. Google Wave for Developers: Making Robots Chris Schalk @cschalk Patrick Chanezon @chanezon Con: Martin Sarsale November 17, 2009
  • 3. 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.
  • 4. 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
  • 5. 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
  • 7. 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.
  • 8. 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
  • 9. 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!)
  • 10. 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)
  • 11. 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
  • 12. 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
  • 14. 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
  • 15. 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/
  • 16. Beyond Robots: Wave federation
  • 17. Wave Robot Development Experience in Argentina Local Expert building Wave Robots! Martin Sarsale
  • 18. 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/