SlideShare une entreprise Scribd logo
1  sur  126
Friday, July 9, 2010
The Google Buzz API and You
                  Google DevFest Manila, July 5th 2010




Friday, July 9, 2010
Hello
                       Timothy Jordan
                       Developer Advocate, Google

                       buzz.timothyjordan.com
                       @timothyjordan




Friday, July 9, 2010
Hello
                       Bob Aman
                       Developer Programs Engineer, Google

                       buzz.sporkmonger.com
                       @sporkmonger




Friday, July 9, 2010
This talk

          • Google Buzz & The Conversational Web

          • Open Standards

          • Google Buzz API

          • Examples

          • What’s next?




Friday, July 9, 2010
Google Buzz
                  ...and the conversational web




Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Open Standards
                  ...are a really good thing




Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Google Buzz API




Friday, July 9, 2010
Warning!




Friday, July 9, 2010
https://www.googleapis.com/buzz/v1/




Friday, July 9, 2010
https://www.googleapis.com/buzz/v1/



                       https://code.google.com/apis/buzz/docs/




Friday, July 9, 2010
https://www.googleapis.com/buzz/v1/



                       http://code.google.com/p/oacurl/




Friday, July 9, 2010
https://www.googleapis.com/buzz/v1/


                       http://code.google.com/p/buzz-php-client/

                 http://code.google.com/p/buzz-python-client/

                       http://code.google.com/p/buzz-java-client/




Friday, July 9, 2010
https://www.googleapis.com/buzz/v1/

   alt
    • alt=atom returns an Atom representation of the data.
    • alt=json returns a JSON representation of the data.

   prettyprint
    • If prettyprint=true, the results     returned by the server will be human readable
    • Default: prettyprint=false



             https://www.googleapis.com/buzz/v1/activities/@me/@self?alt=json&prettyprint=true




Friday, July 9, 2010
https://www.googleapis.com/buzz/v1/

                       • preview=true     preview the operation.
                       • max-results=N    maximum number of results.
                       •   max-liked=N      maximum number of likes
                       •   max-comments=N maximum number of comments
                       •   c={token}   continuation token




           https://www.googleapis.com/buzz/v1/activities/@me/@self?max-results=20&c={token}




Friday, July 9, 2010
https://www.googleapis.com/buzz/v1/

                       • q={query}          search.
                       • lat, lon, radius    geo location.
                       • bbox               bounding box.




          https://www.googleapis.com/buzz/v1/activities/search?q={q}&lat={l}&lon={l}&radius={r}




Friday, July 9, 2010
Activity Streams




Friday, July 9, 2010
Identity




Friday, July 9, 2010
Identity

                       Activities




Friday, July 9, 2010
Identity

                       Activities

                       Objects




Friday, July 9, 2010
Timothy

                       Shares

                       A Link




Friday, July 9, 2010
Barack Obama

                       Started Following

                       Timothy Jordan




Friday, July 9, 2010
Timothy Jordan

                       Started Following

                        Barack Obama




Friday, July 9, 2010
{
  "kind": "buzz#activity",
  "title": "note to self",
  "published": "2010-05-09T02:53:13.000Z",
  "updated": "2010-05-09T02:53:13.730Z",
   "id": "tag:google.com,2010:buzz:foo",
  "links": {
   "liked": [
    {
     "href": "https://www.googleapis.com/buzz/v1/activities/110242419133439594545/@self/tag:google.com,
2010:buzz:z13ispojgwqsinyij04chlupum2ytbspsa4/@liked?altu003djson",
     "type": "application/json",
     "count": 0
    }
   ],
   "alternate": [
    {
     "href": "http://www.google.com/buzz/a/google.com",
     "type": "text/html"
    }
   ],
   "self": [
    {
     "href": "https://www.googleapis.com/buzz/v1/activities/110242419133439594545/@self/tag:google.com,
2010:buzz:z13ispojgwqsinyij04chlupum2ytbspsa4?altu003djson",



Friday, July 9, 2010
{
  "kind": "buzz#activity",
  "title": "note to self",
  "published": "2010-05-09T02:53:13.000Z",
  "updated": "2010-05-09T02:53:13.730Z",
   "id": "tag:google.com,2010:buzz:foo",
  "links": {
   "liked": [
    {
     "href": "{url}/{userid}/@self/{commentId}/@liked?alt=json",
     "type": "application/json",
     "count": 4,
      "updated": "2010-05-09T02:53:13.730Z"
    }
   ],
   "alternate": [
    {
     "href": "http://www.google.com/buzz/a/google.com",
     "type": "text/html"
    }
   ],
   "self": [
    {
     "href": "https://www.googleapis.com/buzz/v1/activities/110242419133439594545/@self/tag:google.com,
2010:buzz:z13ispojgwqsinyij04chlupum2ytbspsa4?altu003djson",
     "type": "json"



Friday, July 9, 2010
   "alternate": [
    {
     "href": "http://www.google.com/buzz/a/google.com",
     "type": "text/html"
    }
   ],
   "self": [
    {
     "href": "https://www.googleapis.com/buzz/v1/activities/110242419133439594545/@self/tag:google.com,
2010:buzz:z13ispojgwqsinyij04chlupum2ytbspsa4?altu003djson",
     "type": "json"
    }
   ],
  "replies": [
   
    {
     "href": "{url}/{userId}/@self/{commentId}/@comments?alt=json",
     "type": "application/json",
     "count": 2,
     "updated": "2010-05-09T02:53:13.730Z"
    }
   ]
  },
  "actor": {
   "id": "110242419133439594545",
   "name": "Chris Chabot",
   "profileUrl": "http://www.google.com/profiles/a/google.com/110242419133439594545",
   "thumbnailUrl": ""
  },
  "verbs": [
   "post"
  ],
  "object": {



Friday, July 9, 2010
2010:buzz:z13ispojgwqsinyij04chlupum2ytbspsa4?altu003djson",
     "type": "json"
    }
   ],
   "replies": [
    {
     "href": "{url}/{userId}/@self/{commentId}/@comments?alt=json",
     "type": "application/json",
     "count": 2,
     "updated": "2010-05-09T02:53:13.730Z"
    }
   ]
  },
  "actor": {
   "id": "110242419133439594545",
   "name": "Chris Chabot",
   "profileUrl": "{url}/chabotc",
   "thumbnailUrl": "{url}/chabotc/thumb.jpg"
  },
  "verbs": [
   "post"
  ],
  "object": {
   "type": "note",
   "content": "content goes here",
   "links": {
    "alternate": [
     {
      "href": "http://www.google.com/buzz/a/google.com",
      "type": "text/html"
     }
    ]
   }
  },



Friday, July 9, 2010
   ],
   "replies": [
    {
     "href": "{url}/{userId}/@self/{commentId}/@comments?alt=json",
     "type": "application/json",
     "count": 2,
     "updated": "2010-05-09T02:53:13.730Z"
    }
   ]
  },
  "actor": {
   "id": "110242419133439594545",
   "name": "Chris Chabot",
   "profileUrl": "{url}/chabotc",
   "thumbnailUrl": "{url}/chabotc/thumb.jpg"
  },
  "verbs": [
   "post"
  ],
  "object": {
   "type": "note",
   "content": "content goes here",
   "links": {
    "alternate": [
     {
      "href": "http://www.google.com/buzz/a/google.com",
      "type": "text/html"
     }
    ]
   }
  },
  "source": {
   "title": "Buzz"
  },
  "visibility": {
   "entries": [



Friday, July 9, 2010
  },
  "verbs": [
   "post"
  ],
  "object": {
   "type": "note",
   "content": "content goes here",
   "links": {
    "alternate": [
     {
      "href": "http://www.google.com/buzz/a/google.com",
      "type": "text/html"
     }
    ]
   }
  },
  "source": {
   "title": "Buzz"
  },
  "visibility": {
   "entries": [
    {
     "id": "https://www.googleapis.com/buzz/v1/people/@me/@groups/@public?altu003djson",
     "title": "Public"
    }
   ]
  }
 }




Friday, July 9, 2010
  },
  "verbs": [
   "post"
  ],
  "object": {
   "type": "note",
   "content": "content goes here",
   "links": {
    "alternate": [
     {
      "href": "http://www.google.com/buzz/a/google.com",
      "type": "text/html"
     }
    ]
   }
  },
  "source": {
   "title": "Buzz"
  },

 "visibility": {
  

   "entries": [
    {
     "id": "{url}/people/@me/@groups/@public?alt=json",
     "title": "Public"
    }
   ]
  }
 }




Friday, July 9, 2010
    "alternate": [
     {
      "href": "http://www.google.com/buzz/a/google.com",
      "type": "text/html"
     }
    ]
   }
  },
  "source": {
   "title": "Buzz"
  },
  "visibility": {
   "entries": [
    {
     "id": "{url}/people/@me/@groups/@public?alt=json",
     "title": "Public"
    }
   ]
  },

      "geocode": "37.783471 -122.39922",
      "address": "701-737 Folsom St, San Francisco, CA 94103, USA",
      "placeName": "300 3rd St, San Francisco, CA 94107"
  }
 }




Friday, July 9, 2010
   ],
   "replies": [
    {
     "href": "{url}/{userId}/@self/{commentId}/@comments?alt=json",
     "type": "application/json",
     "count": 2,
     "updated": "2010-05-09T02:53:13.730Z"
    }
   ]
  },
  "actor": {
   "id": "110242419133439594545",
   "name": "Chris Chabot",
   "profileUrl": "{url}/chabotc",
   "thumbnailUrl": "{url}/chabotc/thumb.jpg"
  },
  "verbs": [
   "post"
  ],

  "object": {
   "type": "note",
   "content": "content goes here"
   }
  },
  "source": {
   "title": "Buzz"
  },
  "visibility": {
   "entries": [
    {
     "id": "https://www.googleapis.com/buzz/v1/people/@me/@groups/@public?altu003djson",
     "title": "Public"
    }
   ]
  }
 }




Friday, July 9, 2010
Friday, July 9, 2010
  "object": {
   "type": "note",
   "content": "content goes here",
           "attachments": [
            {
              "type": "article",
              "title": "Name of the link",
              "links": {
               "alternate": [
                 {
                   "href": "{url}/to/article.html",
                   "type": "text/html"
                 }
               ]
       }
      }
   ]
  }




 Friday, July 9, 2010
Friday, July 9, 2010
  "object": {
   "type": "note",
   "content": "content goes here",
  "attachments": [
   
     {
      "type": "photo",
      "links": {
       "preview": [
        {
         "href": "{url}/image_thumb.jpg",
         "type": "image/jpeg"
        }
       ],
       "enclosure": [
        {
         "href": "{url}/image.jpg",
         "type": "image/jpeg",
         "height": 190,
         "width": 260
        }
       ]
     }
    }
   ]
  }


 Friday, July 9, 2010
   "object": {
    "type": "note",
    "content": "content goes here",
    "attachments": [
     {
        "type": "video",
           "title": "video description goes here",
           "links": {
            "alternate": [
             {
               "href": "http://www.youtube.com/watch?v=abcdef",
               "type": "text/html"
             }
            ],
            "preview": [
             {
               "href": "{url}/default.jpg",
               "type": "image/jpeg"
             },
             {
               "href": "{url}/proxy?thumbnail_default.jpg",
               "type": "image/jpeg"
             }
          ]
        }
      }
    ]
 Friday, July 9, 2010
Verbs                Objects
                  Favorite     Article    Photo
                  Follow       Audio      Photo Album
                  Friend       Bookmark   Place
                  Join         Comment    Playlist
                  Play         File       Product
                  Post         Folder     Review
                  Save         Group      Service
                  Share        List       Status
                  Tag          Note       Video
                  Update       Person




Friday, July 9, 2010
Verbs                Objects
                  Favorite     Article    Photo
                  Follow       Audio      Photo Album
                  Friend       Bookmark   Place
                  Join         Comment    Playlist
                  Play         File       Product
                  Post         Folder     Review
                  Save         Group      Service
                  Share        List       Status
                  Tag          Note       Video
                  Update       Person




Friday, July 9, 2010
Auth url:   https://www.google.com/buzz/api/auth/OAuthAuthorizeToken
                       scope:      https://www.googleapis.com/auth/buzz
                       domain:     www.example.org
                       iconUrl:    http://www.example.org/icon.png




Friday, July 9, 2010
https://www.google.com/buzz/api/auth/OAuthAuthorizeToken
                       ?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fbuzz
                       &domain=www.example.org
                       &oauth_token=




Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
http://code.google.com/p/oacurl/




Friday, July 9, 2010
http://code.google.com/p/oacurl/



        mac:~ user$ echo 
          '{
            "data": {
              "object": {
                "type": "note",
                "content": "Bzz! Bzz! via JSON"
              }
            }
           }'| oacurl -t JSON -X POST 
             "https://www.googleapis.com/buzz/v1/activities/@me/@self?alt=json"




Friday, July 9, 2010
http://code.google.com/p/oacurl/




Friday, July 9, 2010
http://code.google.com/p/oacurl/



      mac:~ user$ echo '' | oacurl -X PUT 
                  "https://www.googleapis.com/buzz/v1/activities/@me/@liked/{activityId}"




Friday, July 9, 2010
http://code.google.com/p/oacurl/




Friday, July 9, 2010
http://code.google.com/p/oacurl/



      mac:~ user$ oacurl -X DELETE 
                  "https://www.googleapis.com/buzz/v1/activities/@me/@liked/{activityId}"




Friday, July 9, 2010
Examples
                  ...for fun and profit




Friday, July 9, 2010
Ping.fm    Marginize   Socialwok




                       Tweetdeck   Meebo bar   Shareaholic



                         Klout      Seesmic      Buzzzy


Friday, July 9, 2010
Boxee




Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
TweetDeck




Friday, July 9, 2010
Seesmic




Friday, July 9, 2010
Buzz Bingo
                       buzz-bingo.appspot.com




Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
How It Works




Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Sign-In & Auth for Buzz

         client = buzz.Client()
         client.build_oauth_consumer(
           OAUTH_CONSUMER_KEY,
           OAUTH_CONSUMER_SECRET
         )
         client.oauth_scopes.append(
           buzz.FULL_ACCESS_SCOPE
         )




Friday, July 9, 2010
Sign-In & Auth for Buzz

         request_token = 
           client.fetch_oauth_request_token(
             'http://example.com/oauth/callback/'
           )
         # Save request token to the data store
         authorization_url = 
           client.build_oauth_authorization_url(
             request_token
           )




Friday, July 9, 2010
Sign-In & Auth for Buzz


         # User visits the authorization_url




Friday, July 9, 2010
Friday, July 9, 2010
Sign-In & Auth for Buzz
         verifier = request.get('oauth_verifier')
         # Lookup request_token in data store
         client.oauth_request_token = request_token
         access_token = 
           client.fetch_oauth_access_token(verifier
         )
         # Save access token to the data store




Friday, July 9, 2010
Friday, July 9, 2010
Generate Board
         # Create a new board
         topic_choices = 
           copy(models.board.TOPIC_LIST)
         topics = []
         # Select 24 topics at random.
         # Center square is free space.
         while(topic_choices and len(topics) < 24):
           element = random.choice(topic_choices)
           topic_choices.remove(element)
           topics.append(element)




Friday, July 9, 2010
Generate Board


         for x in xrange(5):
           for y in xrange(5):
             if x != 2 or y != 2:
               # We skip over the 'Free Space'
               square = models.board.Square(
                 parent=self,
                 key_name=('%d:%d' % (x, y)),
                 topic=topics.pop()
               )
               square.put()
               board[x][y] = square




Friday, July 9, 2010
Friday, July 9, 2010
Friday, July 9, 2010
Board Marked


         for topic in models.board.TOPIC_LIST:
           if comment_text.find(topic.lower()) != -1:
             topics_found.add(topic)
         # Calculate the topics we can score on
         intersection = [
           topic for topic in player.topics
           if topic in topics_found
         ]
         if intersection and 
             not player.has_post_scored(post_id):
           scoring_topic = random.choice(intersection)
           player.score_post(
             post_id, post_uri, scoring_topic
           )




Friday, July 9, 2010
Board Marked
         if post.attachments:
           for attachment in post.attachments:
             if attachment.type == 'article':
               self.award_badge('share')
               break
         if post.geocode and 
             post.actor.id != self.key().name():
           self.award_badge('geo')
         elif post.geocode:
           self.award_badge('mobile')




Friday, July 9, 2010
Board Marked

         # Create the attachments for the post
         badge_attachment = buzz.Attachment(
           type='photo', enclosure=badge.badge_icon
         )
         link_attachment = buzz.Attachment(
           type='article',
           title='Buzz Bingo',
           uri='http://buzz-bingo.appspot.com/'
         )




Friday, July 9, 2010
Board Marked
         # Assemble our announcement Buzz post
         badge_post = buzz.Post(
           content=post_content,
           attachments=[
             badge_attachment,
             link_attachment
           ],
           geocode=VENUE_GEOCODE,
           place_id=VENUE_PLACE_ID
         )
         # Create the post
         self.client.create_post(badge_post)



Friday, July 9, 2010
Friday, July 9, 2010
Bingo!


         horizontal_counts = [0, 0, 1, 0, 0]
         vertical_counts   = [0, 0, 1, 0, 0]
         for x in xrange(5):
           for y in xrange(5):
             if self.board[x][y] and 
                 self.board[x][y].post_id:
               horizontal_counts[y] += 1
               vertical_counts[x] += 1




Friday, July 9, 2010
Bingo!

         if (5 in horizontal_counts) or 
             (5 in vertical_counts):
           self.award_badge('bingo')
           if not self.bingo_count:
             self.bingo_count = 0
           self.bingo_count += 1
           self.put()




Friday, July 9, 2010
Buzz Bingo is open source!
                       code.google.com/p/buzz-bingo
                          buzz-bingo.appspot.com




Friday, July 9, 2010
What’s next?




Friday, July 9, 2010
https://code.google.com/apis/buzz/docs/




Friday, July 9, 2010
https://groups.google.com/group/google-buzz-api




Friday, July 9, 2010
http://code.google.com/p/oacurl/
                       http://code.google.com/p/buzz-php-client/
                       http://code.google.com/p/buzz-python-client/
                       http://code.google.com/p/buzz-java-client/




Friday, July 9, 2010
Q&A

Friday, July 9, 2010
Q&A

Friday, July 9, 2010
Thank you!




Friday, July 9, 2010
Idea Starters


       • Multi-site photo viewer: consume photos and render them in a lightbox
       • Event search (like BuzzWatching: restrict by date, and add location as well):
       deal with the types and generate different renderings. Tweak ranking by
       weighting
       • Best Of Day/Week/Month viewer
       • Community Finder: cluster people in your extended social around a topic
       • People Finder: find people in your geographical area who have similar
       interests




Friday, July 9, 2010
Idea Starters


        • Trending topics. Topics or posts that are accelerating in the last N minutes.
        • Hot places: FInd places that have the most activity within a given geographic
        area.
        • Buzz List (like Reader bundles): Allow users to create and share collections of
        other users. Allow them the ability to subscribe to lists of other users.
        • Auto-follow: based on my remote account (e.g. Flickr)
        • Spoiler detection: scan the user's consumption API and mute posts that talk
        about certain TV shows.




Friday, July 9, 2010

Contenu connexe

Tendances

Creating a Culture of Innovation in Your Library and Community (SMSD)
Creating a Culture of Innovation in Your Library and Community (SMSD)Creating a Culture of Innovation in Your Library and Community (SMSD)
Creating a Culture of Innovation in Your Library and Community (SMSD)Heather Braum
 
Enviro 2010 - Social design for sustainability
Enviro 2010 - Social design for sustainabilityEnviro 2010 - Social design for sustainability
Enviro 2010 - Social design for sustainabilityZumio
 
Semantic Optimization with Structured Data - SMX Munich
Semantic Optimization with Structured Data - SMX MunichSemantic Optimization with Structured Data - SMX Munich
Semantic Optimization with Structured Data - SMX MunichCraig Bradford
 
MIT-Mipa.Internet.Training
MIT-Mipa.Internet.TrainingMIT-Mipa.Internet.Training
MIT-Mipa.Internet.Trainingmissririz
 
SEO Optimization: Why You Should Care About Pandas and Penguins
SEO Optimization: Why You Should Care About Pandas and PenguinsSEO Optimization: Why You Should Care About Pandas and Penguins
SEO Optimization: Why You Should Care About Pandas and PenguinsDigital River MyCommerce
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web DesignBrian Hogan
 
Little Black Book of Gay Hookup Apps and Sites
Little Black Book of Gay Hookup Apps and SitesLittle Black Book of Gay Hookup Apps and Sites
Little Black Book of Gay Hookup Apps and SitesTravis Barnhart
 
Owl and The Hummingbird - Ontology and SEO
Owl and The Hummingbird - Ontology and SEOOwl and The Hummingbird - Ontology and SEO
Owl and The Hummingbird - Ontology and SEODawn Anderson MSc DigM
 

Tendances (11)

dulces
dulcesdulces
dulces
 
Web 2.0 Tools
Web 2.0 ToolsWeb 2.0 Tools
Web 2.0 Tools
 
Creating a Culture of Innovation in Your Library and Community (SMSD)
Creating a Culture of Innovation in Your Library and Community (SMSD)Creating a Culture of Innovation in Your Library and Community (SMSD)
Creating a Culture of Innovation in Your Library and Community (SMSD)
 
Enviro 2010 - Social design for sustainability
Enviro 2010 - Social design for sustainabilityEnviro 2010 - Social design for sustainability
Enviro 2010 - Social design for sustainability
 
Semantic Optimization with Structured Data - SMX Munich
Semantic Optimization with Structured Data - SMX MunichSemantic Optimization with Structured Data - SMX Munich
Semantic Optimization with Structured Data - SMX Munich
 
MIT-Mipa.Internet.Training
MIT-Mipa.Internet.TrainingMIT-Mipa.Internet.Training
MIT-Mipa.Internet.Training
 
Mercedes Canlas
Mercedes CanlasMercedes Canlas
Mercedes Canlas
 
SEO Optimization: Why You Should Care About Pandas and Penguins
SEO Optimization: Why You Should Care About Pandas and PenguinsSEO Optimization: Why You Should Care About Pandas and Penguins
SEO Optimization: Why You Should Care About Pandas and Penguins
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Little Black Book of Gay Hookup Apps and Sites
Little Black Book of Gay Hookup Apps and SitesLittle Black Book of Gay Hookup Apps and Sites
Little Black Book of Gay Hookup Apps and Sites
 
Owl and The Hummingbird - Ontology and SEO
Owl and The Hummingbird - Ontology and SEOOwl and The Hummingbird - Ontology and SEO
Owl and The Hummingbird - Ontology and SEO
 

Similaire à Dev festasia manila-social_pub

So what's a web app? introduction to the chrome web store
So what's a web app? introduction to the chrome web storeSo what's a web app? introduction to the chrome web store
So what's a web app? introduction to the chrome web storeEric Bidelman
 
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...Google Developer Relations Team
 
Deciphering the Interoperable Web
Deciphering the Interoperable WebDeciphering the Interoperable Web
Deciphering the Interoperable WebMichael Bleigh
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands Bastian Hofmann
 
Document-Oriented Databases: Couchdb Primer
Document-Oriented Databases: Couchdb PrimerDocument-Oriented Databases: Couchdb Primer
Document-Oriented Databases: Couchdb Primerjsiarto
 
All About Google Tools
All About Google ToolsAll About Google Tools
All About Google ToolsLucy Gray
 
Beyond Search - iSummit
Beyond Search -  iSummitBeyond Search -  iSummit
Beyond Search - iSummitLucy Gray
 
Google Developer Day 2010 Japan: 新 SocialWeb: 全てはオープンスタンダードの元に (ティモシー ジョーダン)
Google Developer Day 2010 Japan: 新 SocialWeb: 全てはオープンスタンダードの元に (ティモシー ジョーダン)Google Developer Day 2010 Japan: 新 SocialWeb: 全てはオープンスタンダードの元に (ティモシー ジョーダン)
Google Developer Day 2010 Japan: 新 SocialWeb: 全てはオープンスタンダードの元に (ティモシー ジョーダン)Google Developer Relations Team
 
GDD Brazil 2010 - Google Storage, Bigquery and Prediction APIs
GDD Brazil 2010 - Google Storage, Bigquery and Prediction APIsGDD Brazil 2010 - Google Storage, Bigquery and Prediction APIs
GDD Brazil 2010 - Google Storage, Bigquery and Prediction APIsPatrick Chanezon
 
Html5/CSS3 in shanghai 2010
Html5/CSS3 in shanghai 2010Html5/CSS3 in shanghai 2010
Html5/CSS3 in shanghai 2010Zi Bin Cheah
 
Google+ platform (9-15-2011)
Google+ platform (9-15-2011)Google+ platform (9-15-2011)
Google+ platform (9-15-2011)brada
 
GDD Brazil 2010 - The Open and Social Web
GDD Brazil 2010 - The Open and Social WebGDD Brazil 2010 - The Open and Social Web
GDD Brazil 2010 - The Open and Social WebPatrick Chanezon
 
Web Development With Ruby - From Simple To Complex
Web Development With Ruby - From Simple To ComplexWeb Development With Ruby - From Simple To Complex
Web Development With Ruby - From Simple To ComplexBrian Hogan
 
MongoDB on Rails (and Ruby)
MongoDB on Rails (and Ruby)MongoDB on Rails (and Ruby)
MongoDB on Rails (and Ruby)jan_mindmatters
 
Social Network Technologies and Usages
Social Network Technologies and UsagesSocial Network Technologies and Usages
Social Network Technologies and UsagesPatrick Chanezon
 
Zerog Spinning Toys
Zerog Spinning ToysZerog Spinning Toys
Zerog Spinning Toyskrossbow
 
Edted 2010 Dicas de Web
Edted 2010 Dicas de WebEdted 2010 Dicas de Web
Edted 2010 Dicas de WebFabio Akita
 
Google Search & Tools Update - North Country
Google Search & Tools Update - North CountryGoogle Search & Tools Update - North Country
Google Search & Tools Update - North CountryPolly Farrington
 

Similaire à Dev festasia manila-social_pub (20)

So what's a web app? introduction to the chrome web store
So what's a web app? introduction to the chrome web storeSo what's a web app? introduction to the chrome web store
So what's a web app? introduction to the chrome web store
 
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
Google Developer Day 2010 Japan: Part 1: Google App Engine for Business の概要 P...
 
Deciphering the Interoperable Web
Deciphering the Interoperable WebDeciphering the Interoperable Web
Deciphering the Interoperable Web
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
 
Document-Oriented Databases: Couchdb Primer
Document-Oriented Databases: Couchdb PrimerDocument-Oriented Databases: Couchdb Primer
Document-Oriented Databases: Couchdb Primer
 
All About Google Tools
All About Google ToolsAll About Google Tools
All About Google Tools
 
Beyond Search - iSummit
Beyond Search -  iSummitBeyond Search -  iSummit
Beyond Search - iSummit
 
Google Developer Day 2010 Japan: 新 SocialWeb: 全てはオープンスタンダードの元に (ティモシー ジョーダン)
Google Developer Day 2010 Japan: 新 SocialWeb: 全てはオープンスタンダードの元に (ティモシー ジョーダン)Google Developer Day 2010 Japan: 新 SocialWeb: 全てはオープンスタンダードの元に (ティモシー ジョーダン)
Google Developer Day 2010 Japan: 新 SocialWeb: 全てはオープンスタンダードの元に (ティモシー ジョーダン)
 
GDD Brazil 2010 - Google Storage, Bigquery and Prediction APIs
GDD Brazil 2010 - Google Storage, Bigquery and Prediction APIsGDD Brazil 2010 - Google Storage, Bigquery and Prediction APIs
GDD Brazil 2010 - Google Storage, Bigquery and Prediction APIs
 
Html5/CSS3 in shanghai 2010
Html5/CSS3 in shanghai 2010Html5/CSS3 in shanghai 2010
Html5/CSS3 in shanghai 2010
 
Google+ platform (9-15-2011)
Google+ platform (9-15-2011)Google+ platform (9-15-2011)
Google+ platform (9-15-2011)
 
GDD Brazil 2010 - The Open and Social Web
GDD Brazil 2010 - The Open and Social WebGDD Brazil 2010 - The Open and Social Web
GDD Brazil 2010 - The Open and Social Web
 
Interns bootcamp 2010
Interns bootcamp 2010Interns bootcamp 2010
Interns bootcamp 2010
 
Web Development With Ruby - From Simple To Complex
Web Development With Ruby - From Simple To ComplexWeb Development With Ruby - From Simple To Complex
Web Development With Ruby - From Simple To Complex
 
MongoDB on Rails (and Ruby)
MongoDB on Rails (and Ruby)MongoDB on Rails (and Ruby)
MongoDB on Rails (and Ruby)
 
Social Network Technologies and Usages
Social Network Technologies and UsagesSocial Network Technologies and Usages
Social Network Technologies and Usages
 
Zerog Spinning Toys
Zerog Spinning ToysZerog Spinning Toys
Zerog Spinning Toys
 
Google Universe
Google UniverseGoogle Universe
Google Universe
 
Edted 2010 Dicas de Web
Edted 2010 Dicas de WebEdted 2010 Dicas de Web
Edted 2010 Dicas de Web
 
Google Search & Tools Update - North Country
Google Search & Tools Update - North CountryGoogle Search & Tools Update - North Country
Google Search & Tools Update - North Country
 

Dernier

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 

Dernier (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 

Dev festasia manila-social_pub

  • 2. The Google Buzz API and You Google DevFest Manila, July 5th 2010 Friday, July 9, 2010
  • 3. Hello Timothy Jordan Developer Advocate, Google buzz.timothyjordan.com @timothyjordan Friday, July 9, 2010
  • 4. Hello Bob Aman Developer Programs Engineer, Google buzz.sporkmonger.com @sporkmonger Friday, July 9, 2010
  • 5. This talk • Google Buzz & The Conversational Web • Open Standards • Google Buzz API • Examples • What’s next? Friday, July 9, 2010
  • 6. Google Buzz ...and the conversational web Friday, July 9, 2010
  • 15. Open Standards ...are a really good thing Friday, July 9, 2010
  • 22. Google Buzz API Friday, July 9, 2010
  • 25. https://www.googleapis.com/buzz/v1/ https://code.google.com/apis/buzz/docs/ Friday, July 9, 2010
  • 26. https://www.googleapis.com/buzz/v1/ http://code.google.com/p/oacurl/ Friday, July 9, 2010
  • 27. https://www.googleapis.com/buzz/v1/ http://code.google.com/p/buzz-php-client/ http://code.google.com/p/buzz-python-client/ http://code.google.com/p/buzz-java-client/ Friday, July 9, 2010
  • 28. https://www.googleapis.com/buzz/v1/ alt • alt=atom returns an Atom representation of the data. • alt=json returns a JSON representation of the data. prettyprint • If prettyprint=true, the results returned by the server will be human readable • Default: prettyprint=false https://www.googleapis.com/buzz/v1/activities/@me/@self?alt=json&prettyprint=true Friday, July 9, 2010
  • 29. https://www.googleapis.com/buzz/v1/ • preview=true preview the operation. • max-results=N maximum number of results. • max-liked=N maximum number of likes • max-comments=N maximum number of comments • c={token} continuation token https://www.googleapis.com/buzz/v1/activities/@me/@self?max-results=20&c={token} Friday, July 9, 2010
  • 30. https://www.googleapis.com/buzz/v1/ • q={query} search. • lat, lon, radius geo location. • bbox bounding box. https://www.googleapis.com/buzz/v1/activities/search?q={q}&lat={l}&lon={l}&radius={r} Friday, July 9, 2010
  • 33. Identity Activities Friday, July 9, 2010
  • 34. Identity Activities Objects Friday, July 9, 2010
  • 35. Timothy Shares A Link Friday, July 9, 2010
  • 36. Barack Obama Started Following Timothy Jordan Friday, July 9, 2010
  • 37. Timothy Jordan Started Following Barack Obama Friday, July 9, 2010
  • 38. {   "kind": "buzz#activity",   "title": "note to self",   "published": "2010-05-09T02:53:13.000Z",   "updated": "2010-05-09T02:53:13.730Z",    "id": "tag:google.com,2010:buzz:foo",   "links": {    "liked": [     {      "href": "https://www.googleapis.com/buzz/v1/activities/110242419133439594545/@self/tag:google.com, 2010:buzz:z13ispojgwqsinyij04chlupum2ytbspsa4/@liked?altu003djson",      "type": "application/json",      "count": 0     }    ],    "alternate": [     {      "href": "http://www.google.com/buzz/a/google.com",      "type": "text/html"     }    ],    "self": [     {      "href": "https://www.googleapis.com/buzz/v1/activities/110242419133439594545/@self/tag:google.com, 2010:buzz:z13ispojgwqsinyij04chlupum2ytbspsa4?altu003djson", Friday, July 9, 2010
  • 39. {   "kind": "buzz#activity",   "title": "note to self",   "published": "2010-05-09T02:53:13.000Z",   "updated": "2010-05-09T02:53:13.730Z",    "id": "tag:google.com,2010:buzz:foo",   "links": {    "liked": [     {      "href": "{url}/{userid}/@self/{commentId}/@liked?alt=json",      "type": "application/json",      "count": 4, "updated": "2010-05-09T02:53:13.730Z"     }    ],    "alternate": [     {      "href": "http://www.google.com/buzz/a/google.com",      "type": "text/html"     }    ],    "self": [     {      "href": "https://www.googleapis.com/buzz/v1/activities/110242419133439594545/@self/tag:google.com, 2010:buzz:z13ispojgwqsinyij04chlupum2ytbspsa4?altu003djson",      "type": "json" Friday, July 9, 2010
  • 40.    "alternate": [     {      "href": "http://www.google.com/buzz/a/google.com",      "type": "text/html"     }    ],    "self": [     {      "href": "https://www.googleapis.com/buzz/v1/activities/110242419133439594545/@self/tag:google.com, 2010:buzz:z13ispojgwqsinyij04chlupum2ytbspsa4?altu003djson",      "type": "json"     }    ], "replies": [         {      "href": "{url}/{userId}/@self/{commentId}/@comments?alt=json",      "type": "application/json",      "count": 2,      "updated": "2010-05-09T02:53:13.730Z"     }    ]   },   "actor": {    "id": "110242419133439594545",    "name": "Chris Chabot",    "profileUrl": "http://www.google.com/profiles/a/google.com/110242419133439594545",    "thumbnailUrl": ""   },   "verbs": [    "post"   ],   "object": { Friday, July 9, 2010
  • 41. 2010:buzz:z13ispojgwqsinyij04chlupum2ytbspsa4?altu003djson",      "type": "json"     }    ],    "replies": [     {      "href": "{url}/{userId}/@self/{commentId}/@comments?alt=json",      "type": "application/json",      "count": 2,      "updated": "2010-05-09T02:53:13.730Z"     }    ]   },   "actor": {    "id": "110242419133439594545",    "name": "Chris Chabot",    "profileUrl": "{url}/chabotc",    "thumbnailUrl": "{url}/chabotc/thumb.jpg"   },   "verbs": [    "post"   ],   "object": {    "type": "note",    "content": "content goes here",    "links": {     "alternate": [      {       "href": "http://www.google.com/buzz/a/google.com",       "type": "text/html"      }     ]    }   }, Friday, July 9, 2010
  • 42.    ],    "replies": [     {      "href": "{url}/{userId}/@self/{commentId}/@comments?alt=json",      "type": "application/json",      "count": 2,      "updated": "2010-05-09T02:53:13.730Z"     }    ]   },   "actor": {    "id": "110242419133439594545",    "name": "Chris Chabot",    "profileUrl": "{url}/chabotc",    "thumbnailUrl": "{url}/chabotc/thumb.jpg"   },   "verbs": [    "post"   ],   "object": {    "type": "note",    "content": "content goes here",    "links": {     "alternate": [      {       "href": "http://www.google.com/buzz/a/google.com",       "type": "text/html"      }     ]    }   },   "source": {    "title": "Buzz"   },   "visibility": {    "entries": [ Friday, July 9, 2010
  • 43.   },   "verbs": [    "post"   ],   "object": {    "type": "note",    "content": "content goes here",    "links": {     "alternate": [      {       "href": "http://www.google.com/buzz/a/google.com",       "type": "text/html"      }     ]    }   },   "source": {    "title": "Buzz"   },   "visibility": {    "entries": [     {      "id": "https://www.googleapis.com/buzz/v1/people/@me/@groups/@public?altu003djson",      "title": "Public"     }    ]   }  } Friday, July 9, 2010
  • 44.   },   "verbs": [    "post"   ],   "object": {    "type": "note",    "content": "content goes here",    "links": {     "alternate": [      {       "href": "http://www.google.com/buzz/a/google.com",       "type": "text/html"      }     ]    }   },   "source": {    "title": "Buzz"   }, "visibility": {       "entries": [     {      "id": "{url}/people/@me/@groups/@public?alt=json",      "title": "Public"     }    ]   }  } Friday, July 9, 2010
  • 45.     "alternate": [      {       "href": "http://www.google.com/buzz/a/google.com",       "type": "text/html"      }     ]    }   },   "source": {    "title": "Buzz"   },   "visibility": {    "entries": [     {      "id": "{url}/people/@me/@groups/@public?alt=json",      "title": "Public"     }    ] }, "geocode": "37.783471 -122.39922", "address": "701-737 Folsom St, San Francisco, CA 94103, USA", "placeName": "300 3rd St, San Francisco, CA 94107" }  } Friday, July 9, 2010
  • 46.    ],    "replies": [     {      "href": "{url}/{userId}/@self/{commentId}/@comments?alt=json",      "type": "application/json",      "count": 2,      "updated": "2010-05-09T02:53:13.730Z"     }    ]   },   "actor": {    "id": "110242419133439594545",    "name": "Chris Chabot",    "profileUrl": "{url}/chabotc",    "thumbnailUrl": "{url}/chabotc/thumb.jpg"   },   "verbs": [    "post"   ],   "object": {    "type": "note",    "content": "content goes here"    }   },   "source": {    "title": "Buzz"   },   "visibility": {    "entries": [     {      "id": "https://www.googleapis.com/buzz/v1/people/@me/@groups/@public?altu003djson",      "title": "Public"     }    ]   }  } Friday, July 9, 2010
  • 48.   "object": {    "type": "note",    "content": "content goes here", "attachments": [ { "type": "article", "title": "Name of the link", "links": { "alternate": [ { "href": "{url}/to/article.html", "type": "text/html" } ] } } ]   } Friday, July 9, 2010
  • 50.   "object": {    "type": "note",    "content": "content goes here", "attachments": [          {       "type": "photo",       "links": {        "preview": [         {          "href": "{url}/image_thumb.jpg",          "type": "image/jpeg"         }        ],        "enclosure": [         {          "href": "{url}/image.jpg",          "type": "image/jpeg",          "height": 190,          "width": 260         }        ]      }     }    ]   } Friday, July 9, 2010
  • 51.    "object": {     "type": "note",     "content": "content goes here", "attachments": [ { "type": "video", "title": "video description goes here", "links": { "alternate": [ { "href": "http://www.youtube.com/watch?v=abcdef", "type": "text/html" } ], "preview": [ { "href": "{url}/default.jpg", "type": "image/jpeg" }, { "href": "{url}/proxy?thumbnail_default.jpg", "type": "image/jpeg" } ] } } ] Friday, July 9, 2010
  • 52. Verbs Objects Favorite Article Photo Follow Audio Photo Album Friend Bookmark Place Join Comment Playlist Play File Product Post Folder Review Save Group Service Share List Status Tag Note Video Update Person Friday, July 9, 2010
  • 53. Verbs Objects Favorite Article Photo Follow Audio Photo Album Friend Bookmark Place Join Comment Playlist Play File Product Post Folder Review Save Group Service Share List Status Tag Note Video Update Person Friday, July 9, 2010
  • 54. Auth url: https://www.google.com/buzz/api/auth/OAuthAuthorizeToken scope: https://www.googleapis.com/auth/buzz domain: www.example.org iconUrl: http://www.example.org/icon.png Friday, July 9, 2010
  • 55. https://www.google.com/buzz/api/auth/OAuthAuthorizeToken ?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fbuzz &domain=www.example.org &oauth_token= Friday, July 9, 2010
  • 59. http://code.google.com/p/oacurl/ mac:~ user$ echo   '{     "data": {       "object": {         "type": "note",         "content": "Bzz! Bzz! via JSON"       }     }    }'| oacurl -t JSON -X POST "https://www.googleapis.com/buzz/v1/activities/@me/@self?alt=json" Friday, July 9, 2010
  • 61. http://code.google.com/p/oacurl/ mac:~ user$ echo '' | oacurl -X PUT "https://www.googleapis.com/buzz/v1/activities/@me/@liked/{activityId}" Friday, July 9, 2010
  • 63. http://code.google.com/p/oacurl/ mac:~ user$ oacurl -X DELETE "https://www.googleapis.com/buzz/v1/activities/@me/@liked/{activityId}" Friday, July 9, 2010
  • 64. Examples ...for fun and profit Friday, July 9, 2010
  • 65. Ping.fm Marginize Socialwok Tweetdeck Meebo bar Shareaholic Klout Seesmic Buzzzy Friday, July 9, 2010
  • 73. Buzz Bingo buzz-bingo.appspot.com Friday, July 9, 2010
  • 96. How It Works Friday, July 9, 2010
  • 100. Sign-In & Auth for Buzz client = buzz.Client() client.build_oauth_consumer(   OAUTH_CONSUMER_KEY,   OAUTH_CONSUMER_SECRET ) client.oauth_scopes.append(   buzz.FULL_ACCESS_SCOPE ) Friday, July 9, 2010
  • 101. Sign-In & Auth for Buzz request_token =   client.fetch_oauth_request_token(     'http://example.com/oauth/callback/'   ) # Save request token to the data store authorization_url =   client.build_oauth_authorization_url(     request_token   ) Friday, July 9, 2010
  • 102. Sign-In & Auth for Buzz # User visits the authorization_url Friday, July 9, 2010
  • 104. Sign-In & Auth for Buzz verifier = request.get('oauth_verifier') # Lookup request_token in data store client.oauth_request_token = request_token access_token =   client.fetch_oauth_access_token(verifier ) # Save access token to the data store Friday, July 9, 2010
  • 106. Generate Board # Create a new board topic_choices =   copy(models.board.TOPIC_LIST) topics = [] # Select 24 topics at random. # Center square is free space. while(topic_choices and len(topics) < 24):   element = random.choice(topic_choices)   topic_choices.remove(element)   topics.append(element) Friday, July 9, 2010
  • 107. Generate Board for x in xrange(5):   for y in xrange(5):     if x != 2 or y != 2:       # We skip over the 'Free Space'       square = models.board.Square(         parent=self,         key_name=('%d:%d' % (x, y)),         topic=topics.pop()       )       square.put()       board[x][y] = square Friday, July 9, 2010
  • 110. Board Marked for topic in models.board.TOPIC_LIST:   if comment_text.find(topic.lower()) != -1:     topics_found.add(topic) # Calculate the topics we can score on intersection = [   topic for topic in player.topics   if topic in topics_found ] if intersection and     not player.has_post_scored(post_id):   scoring_topic = random.choice(intersection)   player.score_post(     post_id, post_uri, scoring_topic   ) Friday, July 9, 2010
  • 111. Board Marked if post.attachments:   for attachment in post.attachments:     if attachment.type == 'article':       self.award_badge('share')       break if post.geocode and     post.actor.id != self.key().name():   self.award_badge('geo') elif post.geocode:   self.award_badge('mobile') Friday, July 9, 2010
  • 112. Board Marked # Create the attachments for the post badge_attachment = buzz.Attachment(   type='photo', enclosure=badge.badge_icon ) link_attachment = buzz.Attachment(   type='article',   title='Buzz Bingo',   uri='http://buzz-bingo.appspot.com/' ) Friday, July 9, 2010
  • 113. Board Marked # Assemble our announcement Buzz post badge_post = buzz.Post(   content=post_content,   attachments=[     badge_attachment,     link_attachment   ],   geocode=VENUE_GEOCODE,   place_id=VENUE_PLACE_ID ) # Create the post self.client.create_post(badge_post) Friday, July 9, 2010
  • 115. Bingo! horizontal_counts = [0, 0, 1, 0, 0] vertical_counts   = [0, 0, 1, 0, 0] for x in xrange(5):   for y in xrange(5):     if self.board[x][y] and         self.board[x][y].post_id:       horizontal_counts[y] += 1       vertical_counts[x] += 1 Friday, July 9, 2010
  • 116. Bingo! if (5 in horizontal_counts) or     (5 in vertical_counts):   self.award_badge('bingo')   if not self.bingo_count:     self.bingo_count = 0   self.bingo_count += 1   self.put() Friday, July 9, 2010
  • 117. Buzz Bingo is open source! code.google.com/p/buzz-bingo buzz-bingo.appspot.com Friday, July 9, 2010
  • 121. http://code.google.com/p/oacurl/ http://code.google.com/p/buzz-php-client/ http://code.google.com/p/buzz-python-client/ http://code.google.com/p/buzz-java-client/ Friday, July 9, 2010
  • 125. Idea Starters • Multi-site photo viewer: consume photos and render them in a lightbox • Event search (like BuzzWatching: restrict by date, and add location as well): deal with the types and generate different renderings. Tweak ranking by weighting • Best Of Day/Week/Month viewer • Community Finder: cluster people in your extended social around a topic • People Finder: find people in your geographical area who have similar interests Friday, July 9, 2010
  • 126. Idea Starters • Trending topics. Topics or posts that are accelerating in the last N minutes. • Hot places: FInd places that have the most activity within a given geographic area. • Buzz List (like Reader bundles): Allow users to create and share collections of other users. Allow them the ability to subscribe to lists of other users. • Auto-follow: based on my remote account (e.g. Flickr) • Spoiler detection: scan the user's consumption API and mute posts that talk about certain TV shows. Friday, July 9, 2010

Notes de l'éditeur

  1. Intro: The Conversational Web -Chris Chabot, Chris Messina, Joseph Smarr, John Panzer, Will Norris -Good internet conversations -Post, rich media, links -Inline comments -Mentions Google Buzz
  2. Intro: The Conversational Web -Chris Chabot, Chris Messina, Joseph Smarr, John Panzer, Will Norris -Good internet conversations -Post, rich media, links -Inline comments -Mentions Google Buzz
  3. Intro: The Conversational Web -Chris Chabot, Chris Messina, Joseph Smarr, John Panzer, Will Norris -Good internet conversations -Post, rich media, links -Inline comments -Mentions Google Buzz
  4. Intro: The Conversational Web -Chris Chabot, Chris Messina, Joseph Smarr, John Panzer, Will Norris -Good internet conversations -Post, rich media, links -Inline comments -Mentions Google Buzz
  5. Intro: The Conversational Web -Chris Chabot, Chris Messina, Joseph Smarr, John Panzer, Will Norris -Good internet conversations -Post, rich media, links -Inline comments -Mentions Google Buzz
  6. Intro: The Conversational Web -Chris Chabot, Chris Messina, Joseph Smarr, John Panzer, Will Norris -Good internet conversations -Post, rich media, links -Inline comments -Mentions Google Buzz
  7. Intro: The Conversational Web -Chris Chabot, Chris Messina, Joseph Smarr, John Panzer, Will Norris -Good internet conversations -Post, rich media, links -Inline comments -Mentions Google Buzz
  8. Salmon
  9. This is the basis for activity streams which is quickly becoming how we describe all user activity online.
  10. Your Identity
  11. Your Activity
  12. Your Objects
  13. okay, let’s be honest...
  14. - On the Boxee home screen, you see a list of items from Google Buzz in your feed. - You click on one that looks interesting.
  15. - It then shows you the buzz comment and links you to the video - Hit play to start watching the video.
  16. - And there you are. -Once you&apos;ve decided you want to Buzz something, hit share.
  17. - Enter custom text or just tell your followers you love it and send them a link.  We think this type of shared recommendation is going to be really cool and you can check it out now on Boxee.
  18. Buzzword Bingo Overview
  19. Buzzword Bingo Overview
  20. Buzzword Bingo Overview
  21. Buzzword Bingo Overview
  22. Buzzword Bingo Overview
  23. Buzzword Bingo Overview
  24. Buzzword Bingo Overview
  25. Buzzword Bingo Overview
  26. Buzzword Bingo Overview
  27. Buzzword Bingo Overview
  28. Buzzword Bingo Overview
  29. Buzzword Bingo Overview
  30. Buzzword Bingo Overview
  31. Buzzword Bingo Overview
  32. Buzzword Bingo Overview
  33. Buzzword Bingo Overview
  34. Buzzword Bingo Overview
  35. Buzzword Bingo Overview
  36. Buzzword Bingo Overview
  37. Buzzword Bingo Overview
  38. Buzzword Bingo Overview
  39. Buzzword Bingo Overview
  40. Buzzword Bingo Overview
  41. Buzzword Bingo Overview
  42. Buzzword Bingo Overview
  43. -The application begins an OAuth flow against the current user&apos;s personal feed -This provides the app with a verified link to the current user&apos;s Google profile -The profile URI is what&apos;s used for cross-referencing Buzz comments with players -A side-effect is that only users with public profiles can play
  44. -The application begins an OAuth flow against the current user&apos;s personal feed -This provides the app with a verified link to the current user&apos;s Google profile -The profile URI is what&apos;s used for cross-referencing Buzz comments with players -A side-effect is that only users with public profiles can play
  45. -The application begins an OAuth flow against the current user&apos;s personal feed -This provides the app with a verified link to the current user&apos;s Google profile -The profile URI is what&apos;s used for cross-referencing Buzz comments with players -A side-effect is that only users with public profiles can play
  46. Buzzword Bingo Overview
  47. -The application begins an OAuth flow against the current user&apos;s personal feed -This provides the app with a verified link to the current user&apos;s Google profile -The profile URI is what&apos;s used for cross-referencing Buzz comments with players -A side-effect is that only users with public profiles can play
  48. Buzzword Bingo Overview
  49. -The bingo card is generated randomly from a preset list of topics. -The bingo card is saved and associated with the player&apos;s profile in the App Engine data store.
  50. -The bingo card is generated randomly from a preset list of topics. -The bingo card is saved and associated with the player&apos;s profile in the App Engine data store.
  51. Buzzword Bingo Overview
  52. Buzzword Bingo Overview
  53. -Whenever a player joins a conversation in Buzz that mentions one of the topics on their bingo card, they can @-mention the game&apos;s account. -This causes the conversation to appear in the game&apos;s consumption feed. -The game polls this feed and identifies any new conversations. -Polling is done via asynchronous App Engine Scheduled Tasks and Cron Jobs. -The feed is cached for performance reasons. -The game reads each new conversation and gives each player in the conversation credit for one of their matching game squares.
  54. -Whenever a player joins a conversation in Buzz that mentions one of the topics on their bingo card, they can @-mention the game&apos;s account. -This causes the conversation to appear in the game&apos;s consumption feed. -The game polls this feed and identifies any new conversations. -Polling is done via asynchronous App Engine Scheduled Tasks and Cron Jobs. -The feed is cached for performance reasons. -The game reads each new conversation and gives each player in the conversation credit for one of their matching game squares.
  55. -Whenever a player joins a conversation in Buzz that mentions one of the topics on their bingo card, they can @-mention the game&apos;s account. -This causes the conversation to appear in the game&apos;s consumption feed. -The game polls this feed and identifies any new conversations. -Polling is done via asynchronous App Engine Scheduled Tasks and Cron Jobs. -The feed is cached for performance reasons. -The game reads each new conversation and gives each player in the conversation credit for one of their matching game squares.
  56. -Whenever a player joins a conversation in Buzz that mentions one of the topics on their bingo card, they can @-mention the game&apos;s account. -This causes the conversation to appear in the game&apos;s consumption feed. -The game polls this feed and identifies any new conversations. -Polling is done via asynchronous App Engine Scheduled Tasks and Cron Jobs. -The feed is cached for performance reasons. -The game reads each new conversation and gives each player in the conversation credit for one of their matching game squares.
  57. Buzzword Bingo Overview
  58. -Once enough game squares get filled in, the player will score a &apos;Bingo&apos;. -The game will notify the player that they&apos;ve achieved a &apos;Bingo&apos; by sending out a post and @-mentioning the player.
  59. -Once enough game squares get filled in, the player will score a &apos;Bingo&apos;. -The game will notify the player that they&apos;ve achieved a &apos;Bingo&apos; by sending out a post and @-mentioning the player.
  60. Next cool application: you The google buzz api is now live