Dev festasia manila-social_pub

  • 876 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Slide 16 has a bug. Refer to http://scr.bi/bD9URq instead.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
876
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
1
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Salmon
  • This is the basis for activity streams which is quickly becoming how we describe all user activity online.
  • Your Identity
  • Your Activity
  • Your Objects
  • okay, let’s be honest...
  • - On the Boxee home screen, you see a list of items from Google Buzz in your feed. - You click on one that looks interesting.
  • - It then shows you the buzz comment and links you to the video - Hit play to start watching the video.
  • - And there you are. -Once you've decided you want to Buzz something, hit share.
  • - 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.
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • -The application begins an OAuth flow against the current user's personal feed -This provides the app with a verified link to the current user's Google profile -The profile URI is what's used for cross-referencing Buzz comments with players -A side-effect is that only users with public profiles can play
  • -The application begins an OAuth flow against the current user's personal feed -This provides the app with a verified link to the current user's Google profile -The profile URI is what's used for cross-referencing Buzz comments with players -A side-effect is that only users with public profiles can play
  • -The application begins an OAuth flow against the current user's personal feed -This provides the app with a verified link to the current user's Google profile -The profile URI is what's used for cross-referencing Buzz comments with players -A side-effect is that only users with public profiles can play
  • Buzzword Bingo Overview
  • -The application begins an OAuth flow against the current user's personal feed -This provides the app with a verified link to the current user's Google profile -The profile URI is what's used for cross-referencing Buzz comments with players -A side-effect is that only users with public profiles can play
  • Buzzword Bingo Overview
  • -The bingo card is generated randomly from a preset list of topics. -The bingo card is saved and associated with the player's profile in the App Engine data store.
  • -The bingo card is generated randomly from a preset list of topics. -The bingo card is saved and associated with the player's profile in the App Engine data store.
  • Buzzword Bingo Overview
  • Buzzword Bingo Overview
  • -Whenever a player joins a conversation in Buzz that mentions one of the topics on their bingo card, they can @-mention the game's account. -This causes the conversation to appear in the game'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.
  • -Whenever a player joins a conversation in Buzz that mentions one of the topics on their bingo card, they can @-mention the game's account. -This causes the conversation to appear in the game'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.
  • -Whenever a player joins a conversation in Buzz that mentions one of the topics on their bingo card, they can @-mention the game's account. -This causes the conversation to appear in the game'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.
  • -Whenever a player joins a conversation in Buzz that mentions one of the topics on their bingo card, they can @-mention the game's account. -This causes the conversation to appear in the game'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.
  • Buzzword Bingo Overview
  • -Once enough game squares get filled in, the player will score a 'Bingo'. -The game will notify the player that they've achieved a 'Bingo' by sending out a post and @-mentioning the player.
  • -Once enough game squares get filled in, the player will score a 'Bingo'. -The game will notify the player that they've achieved a 'Bingo' by sending out a post and @-mentioning the player.
  • Next cool application: you The google buzz api is now live

Transcript

  • 1. Friday, July 9, 2010
  • 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
  • 7. Friday, July 9, 2010
  • 8. Friday, July 9, 2010
  • 9. Friday, July 9, 2010
  • 10. Friday, July 9, 2010
  • 11. Friday, July 9, 2010
  • 12. Friday, July 9, 2010
  • 13. Friday, July 9, 2010
  • 14. Friday, July 9, 2010
  • 15. Open Standards ...are a really good thing Friday, July 9, 2010
  • 16. Friday, July 9, 2010
  • 17. Friday, July 9, 2010
  • 18. Friday, July 9, 2010
  • 19. Friday, July 9, 2010
  • 20. Friday, July 9, 2010
  • 21. Friday, July 9, 2010
  • 22. Google Buzz API Friday, July 9, 2010
  • 23. Warning! Friday, July 9, 2010
  • 24. https://www.googleapis.com/buzz/v1/ 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
  • 31. Activity Streams Friday, July 9, 2010
  • 32. Identity 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
  • 47. 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
  • 49. 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
  • 56. Friday, July 9, 2010
  • 57. Friday, July 9, 2010
  • 58. http://code.google.com/p/oacurl/ 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
  • 60. http://code.google.com/p/oacurl/ 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
  • 62. http://code.google.com/p/oacurl/ 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
  • 66. Boxee Friday, July 9, 2010
  • 67. Friday, July 9, 2010
  • 68. Friday, July 9, 2010
  • 69. Friday, July 9, 2010
  • 70. Friday, July 9, 2010
  • 71. TweetDeck Friday, July 9, 2010
  • 72. Seesmic Friday, July 9, 2010
  • 73. Buzz Bingo buzz-bingo.appspot.com Friday, July 9, 2010
  • 74. Friday, July 9, 2010
  • 75. Friday, July 9, 2010
  • 76. Friday, July 9, 2010
  • 77. Friday, July 9, 2010
  • 78. Friday, July 9, 2010
  • 79. Friday, July 9, 2010
  • 80. Friday, July 9, 2010
  • 81. Friday, July 9, 2010
  • 82. Friday, July 9, 2010
  • 83. Friday, July 9, 2010
  • 84. Friday, July 9, 2010
  • 85. Friday, July 9, 2010
  • 86. Friday, July 9, 2010
  • 87. Friday, July 9, 2010
  • 88. Friday, July 9, 2010
  • 89. Friday, July 9, 2010
  • 90. Friday, July 9, 2010
  • 91. Friday, July 9, 2010
  • 92. Friday, July 9, 2010
  • 93. Friday, July 9, 2010
  • 94. Friday, July 9, 2010
  • 95. Friday, July 9, 2010
  • 96. How It Works Friday, July 9, 2010
  • 97. Friday, July 9, 2010
  • 98. Friday, July 9, 2010
  • 99. 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
  • 103. 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
  • 105. 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
  • 108. Friday, July 9, 2010
  • 109. 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
  • 114. 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
  • 118. What’s next? Friday, July 9, 2010
  • 119. https://code.google.com/apis/buzz/docs/ Friday, July 9, 2010
  • 120. https://groups.google.com/group/google-buzz-api 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
  • 122. Q&A Friday, July 9, 2010
  • 123. Q&A Friday, July 9, 2010
  • 124. Thank you! 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