SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
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.

Más contenido relacionado

Más 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
 

Más 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

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Último (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Social Software for Robots Using Jabber Protocols