SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

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

Notas do Editor

  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