1 / 18

Google Wave for Developers: Making Robots

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 Self-explanatory Workflow Focused on bridging communication and workflow. Leverage

wmitchell
Download Presentation

Google Wave for Developers: Making Robots

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Google Wave for Developers:Making Robots Chris Schalk @cschalk Patrick Chanezon @chanezon Con: Martin Sarsale November 17, 2009

  2. Why build on Google Wave? • Real-time == Real-awesome • Self-explanatory • Workflow • Focused on bridging communication and workflow. • Leverage • New and exciting technology and foundation. • Opportunity! • New business opportunities.

  3. Extensions in Wave The most common ways to extend Wave are to use: • Gadgets • Embed them in a conversation • Built with HTML+Javascript • Interactive with the Wave and it’s participants • Ex: maps, slideshows, search results • Robots • Are actual participants of a Wave which can ‘do things’ • Exactly the same as a Wave participant • Ex: content update, integration with other systems

  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. Robot Architecture Overview

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

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

  8. Robot Examples """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() Smiley (A complete and useful robot in a single slide... with room to spare!)

  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. 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. Wave videos in a theater near you • What is Google Waveemail reinvented http://www.youtube.com/watch?v=rDu2A3WzQpo • Google Wave Pulp Fictioncreative use of robots (strong language:-)http://www.youtube.com/watch?v=xcxF9oz9Cu0 • Introducing SAP Gravity, a Business Process Modeling Tool for Google WaveWave for businesshttp://www.youtube.com/watch?v=FaNhXPSCQWo

  12. Demo: Building Wave Robots

  13. Robot Roadmap • New Robots wire protocol (v0.2) • Publish for community feedback • 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. Beyond Robots: Wave federation • Open Source protocol http://www.waveprotocol.org • Open Source Google Wave Federation Prototype Serverhttp://code.google.com/p/wave-protocol/

  15. Beyond Robots: Wave federation

  16. Wave Robot Development Experience in ArgentinaLocal Expert building Wave Robots! Martin Sarsale

  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/

More Related