Google Wave for Developers:
 Making Robots

Chris Schalk @cschalk
Patrick Chanezon @chanezon

Con: Martin Sarsale



Novem...
Why build on Google Wave?

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

•  Workflow
    o  Focused on bridging com...
Extensions in Wave
    The most common ways to extend Wave are to use:


 •  Gadgets
    o  Embed them in a conversation
 ...
Wave Entities: Data Model
“Show me your flowchart and conceal your tables, and I shall continue to be mystified.
Show me y...
Robot Architecture Overview
Wave Robot Concepts

•  Wave Robots...

  o    Live in the cloud.
  o    Are external (robotic) participants.
  o    Have ...
Wave Robots Essentials

•  APIs in Python and Java
•  Runs in Google App Engine
•  Events:
   o  "Robot added to Wave" - W...
Robot Examples
Smiley
 """Smiley: Yet another smiley robot."""

 from waveapi import events
 from waveapi import robot

 d...
Other Robot Examples

•    Swedish Chef
•    Monty + Syntaxy (a match made in robot heaven)
•    Wikify (wikifier@appspot....
Robot Lists

•    http://wave-samples-gallery.appspot.com/
•    http://completewaveguide.com/guide/Wave_Bots
•    http://w...
Wave videos in a theater near you

•  What is Google Wave
   email reinvented
   http://www.youtube.com/watch?v=rDu2A3WzQp...
Demo: Building Wave Robots
Robot Roadmap

•  New Robots wire protocol (v0.2)
    o  Publish for community feedback
    o  Implement Java and Python A...
Beyond Robots: Wave federation
 •  Open Source protocol http://www.waveprotocol.org
 •  Open Source Google Wave Federation...
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....
Devfest 09 Building Wave Robots
Upcoming SlideShare
Loading in …5
×

Devfest 09 Building Wave Robots

1,035 views
979 views

Published on

This is a presentation on building Google Wave Robots at Devfest 2009 in Buenos Aires Argentina on Nov 17, 2009 by Google Developer Advocates, Chris Schalk & Patrick Chanezon

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,035
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
18
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Devfest 09 Building Wave Robots

  1. 1. Google Wave for Developers: Making Robots Chris Schalk @cschalk Patrick Chanezon @chanezon Con: Martin Sarsale November 17, 2009
  2. 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.
  3. 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
  4. 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
  5. 5. Robot Architecture Overview
  6. 6. Wave Robot Concepts •  Wave Robots... o  Live in the cloud. o  Are external (robotic) participants. o  Have full access to the wave. o  Respond to events on a wave. o  Are currently available for Java and Python APIs on Google App Engine.
  7. 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
  8. 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!)
  9. 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)
  10. 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
  11. 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
  12. 12. Demo: Building Wave Robots
  13. 13. 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
  14. 14. 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/
  15. 15. Beyond Robots: Wave federation
  16. 16. Wave Robot Development Experience in Argentina Local Expert building Wave Robots! Martin Sarsale
  17. 17. 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/

×