SlideShare uma empresa Scribd logo
1 de 50
Baixar para ler offline
Social Software for Robots
         XTech 2007
Kellan Elliott-McCrea
Flickr
Blaine Cook
Twitter
For Robots?
Social Software
Social Software is

•social software is made of people
•people talking to people?
•people talking to computers, talking to
  people.
Software to
 collect and share
individuals’ actions
        in a
  social context.
web apis
Server

                       no.
         bored




                                        distracted
                                    ?
                                   t
                             re ye
                      e the
                 are w
                       no.
         bored




                                        distracted
                                    ?
                                   t
                             re ye
                      e the
                 are w
                       no.
         bored

                                        distracted
                                    ?
                                   t
                             re ye
                      e the
                 are w
Client
Client
                    bored                    bored                      bored                       bored
         are we there yet?




                                    are we there yet?




                                                               are we there yet?




                                                                                          are we there yet?
                              no.




                                                         no.




                                                                                    no.




                                                                                                               no.
                                                                                                                     Web
                    ?                       ?                          ?                          ?
                                                                                   no.
                                                        no.




                                                                                                              no.
                             no.




                                                                                                                     DB
         distracted                 distracted                 distracted                 distracted
Client
                    bored                    bored                      bored                       bored
         are we there yet?




                                    are we there yet?




                                                               are we there yet?




                                                                                          are we there yet?
                              no.




                                                         no.




                                                                                    no.




                                                                                                               no.
                                                                                                                     Web
                    ?                       ?                          ?                          ?
                                                                                   no.
                                                        no.




                                                                                                              no.
                             no.




                                                                                                                     DB
         distracted                 distracted                 distracted                 distracted
Server

           we’re there
                           arrival
          let me know re
                       e
         when we’re th
Client
PASSING NOTES
YOU DID THIS WHEN YOU WERE EIGHT.
           IT’LL BE OKAY.
Social Software
  For Robots
Robots do it with
Message Passing
Where it Works.
•real time data           •historical and static
                            content - not so much.
•wire-level data
                          •interactive searches -
  (no db interaction)
                            not so much
•shift from access-past
  to notify-future

•very long
  running queries
New Patterns
(how else can you use it?)
tim
                       e
Realtime Craigslist
Spontaneity
Flickr TMI Addiction
Fishing

•Put a net out, and get notified when
  you catch something.

•When real-time data is more important
  that knowing in advance or researching
  the future.

•Who’s going for lunch NOW?
<message from=”driver@local” to=”car@local”>
PEN DOWN
FORWARD 40
RIGHT 65
LEFT 25
FORWARD 40
</message>
Jabber
What’s in it for me?
•flexible & extensible
•asynchronous, low latency (realtime)
•delegated
•security & identity baked in
•presence
•standardized
It’s Just XML

<message
 to=quot;horatio@denmarkquot;
 from=quot;hamlet@denmarkquot;>
 <body>Angels and Ministers
  of Grace, defend us!</body>
 <foo
  xmlns=quot;http://www.foo.org/quot;>
   <bar>ab<fb/>cd</bar>
 </foo>
</message>
Asynchronous
<message from=quot;xena@gmail.comquot;
 to=quot;sparql@w3c.orgquot;>meow!</message>




             <message from=quot;sparql@w3c.orgquot;
              to= quot;xena@gmail.comquot;>meow!</message>
Secure + Identity
•dialback server authentication (dns)
•s2s encrypted
•c2s encrypted
•from address set by server (no
  spoofing!)

•globally unique jids (like email)
Delegated Delivery
I CAN HAS
CALLBACKS
Standardised
Open Sourcerrific
•ejabberd        •ruby
•djabberd        •php
•wildfire         •java
•lmnop-jabberd   •perl
•twisted suite   •python
                 •firefox
Presence!


•Ralph is going to talk about this in the
  next talk. Y’all stick around now,
  y’hear?
Decentralized,
 But not all the way.

•Smarts on the Edge-1 is what you want
  for ubicomp / device saturated world.
that was a lot.
•async, real-time.      •presence
•extensible             •decentralized, but not
                          p2p*
•secure w/identity
•delegated
•i can has callbacks!
•standardized
Robots
Twitter.
You use it every day. It’s a Social Robot.
Use Jabber::Simple
require 'xmpp4r-simple'

jabber = Jabber::Simple.new
             (quot;flickrit@gmail.comquot;, quot;passwordquot;)




        send your tags to flickrit@gmail.com!
               wifi is “icanhasinternet”
jabber.deliver(quot;flickrviz@laughingmeme.orgquot;,
               quot;hey there.quot;)




        send your tags to flickrit@gmail.com!
               wifi is “icanhasinternet”
jabber.received_messages do |message|
  puts message.body
end




 send your tags to flickrit@gmail.com!
        wifi is “icanhasinternet”
require 'xmpp4r-simple'

CLIENT = Jabber::Simple.new(quot;flickrit@gmail.comquot;, quot;passwordquot;)

def post_photo_update(message)
  CLIENT.deliver(quot;flickrviz@laughingmeme.orgquot;, message)
end

def request_flickr_photos(message)
  CLIENT.deliver(quot;flickrapi@gmail.comquot;, quot;#{message.from} wants to see
photos of #{message.body}quot;)
end

loop do
  CLIENT.received_messages do |message|
    case message.from.strip.to_s
    when 'flickrapi@gmail.com': post_photo_update(message.body)
    else request_flickr_photos(message)
    end
  end
end
pretty

send your tags to flickrit@gmail.com!
       wifi is “icanhasinternet”
Photo Credits
http://www.flickr.com/photos/jayjizzle/205165885/
http://www.flickr.com/photos/heather/384134566/
http://flickr.com/photos/kevinsteele/473590084/
http://www.flickr.com/photos/exfordy/123370328/
http://flickr.com/photos/pingnews/426262117/
thanks!
especially to tom from stamen. he totally rocks.

Mais conteúdo relacionado

Mais de Blaine

Social Privacy for HTTP over Webfinger
Social Privacy for HTTP over WebfingerSocial Privacy for HTTP over Webfinger
Social Privacy for HTTP over WebfingerBlaine
 
Social Software for Robots
Social Software for RobotsSocial Software for Robots
Social Software for RobotsBlaine
 
Building the Real Time Web
Building the Real Time WebBuilding the Real Time Web
Building the Real Time WebBlaine
 
You & Me & Everyone We Know
You & Me & Everyone We KnowYou & Me & Everyone We Know
You & Me & Everyone We KnowBlaine
 
Scaling Twitter
Scaling TwitterScaling Twitter
Scaling TwitterBlaine
 

Mais de Blaine (6)

Social Privacy for HTTP over Webfinger
Social Privacy for HTTP over WebfingerSocial Privacy for HTTP over Webfinger
Social Privacy for HTTP over Webfinger
 
Social Software for Robots
Social Software for RobotsSocial Software for Robots
Social Software for Robots
 
OAuth
OAuthOAuth
OAuth
 
Building the Real Time Web
Building the Real Time WebBuilding the Real Time Web
Building the Real Time Web
 
You & Me & Everyone We Know
You & Me & Everyone We KnowYou & Me & Everyone We Know
You & Me & Everyone We Know
 
Scaling Twitter
Scaling TwitterScaling Twitter
Scaling Twitter
 

Último

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Social Software for Robots Using Jabber Protocols