SlideShare una empresa de Scribd logo
1 de 144
Descargar para leer sin conexión
Developer DayGoogle 2010
The New Social Web:
It’s about Open Standards
Timothy Jordan
Developer DayGoogle 2010
Developer DayGoogle 2010
Timothy Jordan
Developer Advocate, Google
buzz.timothyjordan.com
@timothyjordan
Hello
Developer DayGoogle 2010
#gdd2010jp
Developer DayGoogle 2010
Agenda
• Open Standards
• Google Buzz
• Examples
Open Standards
...are a really good thing
Developer DayGoogle 2010
Why?
Developer DayGoogle 2010
Open Source
Developer DayGoogle 2010
Open Source
Developer DayGoogle 2010
Open Source
Developer DayGoogle 2010
Open Source
Developer DayGoogle 2010
Open Source
• Freedom
Developer DayGoogle 2010
Open Source
• Freedom
• Community
Developer DayGoogle 2010
Open Standards
Developer DayGoogle 2010
Open Standards
• Simplify
Developer DayGoogle 2010
Open Standards
• Simplify
• Interoperability
Developer DayGoogle 2010
Developer DayGoogle 2010
OAuth
1.Your application gets an unauthorized request token
from the Service Provider’s authorization server.
Your
Application
Service
ProviderGet unauthorized
request token
Developer DayGoogle 2010
OAuth
Your
Application
Service
Provider
Send user to SP
with token
2.Your application sends the user to the Service
Provider, which asks the user to grant your
application access to the required data.
Developer DayGoogle 2010
OAuth
Your
Application
Service
ProviderGet authorized
request token
3.Your application gets an authorized request token
from the authorization server.
Developer DayGoogle 2010
OAuth
Your
Application
Service
ProviderExchange request
for access token
4.You exchange the authorized request token for an
access token.
Developer DayGoogle 2010
OAuth
Your
Application
Service
ProviderUse access token
to get data
5.You use the access token to request data from
Service Provider’s service access servers.
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Atom
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?>
<?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemconten
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/"
feedburner/ext/1.0" gd:etag="W/&quot;CkUGRHk8fyp7ImA9Wx5WEU0.&quot;">
<id>tag:blogger.com,1999:blog-3188762512334365442</id>
<updated>2010-09-21T13:17:05.777-07:00</updated>
<title>Social Web Blog</title>
<subtitle type="html" />
<link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://googlesoc
<link rel="alternate" type="text/html" href="http://googlesocialweb.blogspot.com/" />
<link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/31887625123343654
<author>
<name>A Googler</name>
<email>noreply@blogger.com</email>
</author>
<generator version="7.00" uri="http://www.blogger.com">Blogger</generator>
<openSearch:totalResults>45</openSearch:totalResults>
<openSearch:startIndex>1</openSearch:startIndex>
<openSearch:itemsPerPage>25</openSearch:itemsPerPage>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" hr
<feedburner:info uri="socialwebblog" />
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.app
<entry gd:etag="W/&quot;D0YASX89cCp7ImA9WxFaFUo.&quot;">
<id>tag:blogger.com,1999:blog-3188762512334365442.post-8190772326434476744</id>
<published>2010-07-19T14:14:00.001-07:00</published>
Developer DayGoogle 2010
Atom
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>tag:blogger.com,1999:blog-3188762512334365442</id>
<updated>2010-09-21T13:17:05.777-07:00</updated>
<title>Social Web Blog</title>
<author>
<name>A Googler</name>
<email>noreply@blogger.com</email>
</author>
<generator version="7.00" uri="http://www.blogger.com">Blogger</generator>
<link rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/SocialWebBlog" />
<entry>
<id>tag:blogger.com,1999:blog-3188762512334365442.post-8190772326434476744</id>
<published>2010-07-19T14:14:00.001-07:00</published>
<updated>2010-07-19T14:32:28.168-07:00</updated>
<title>Announcing New Google Buzz API features</title>
<content type="html"> ... </content>
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/31887625123343654
<author>
<name>Timothy Jordan</name>
<uri>http://www.blogger.com/profile/14618592793335366108</uri>
<email>noreply@blogger.com</email>
<gd:extendedProperty name="OpenSocialUserId" value="14459911890912057787" />
</author>
<thr:total>7</thr:total>
Developer DayGoogle 2010
Atom
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>tag:blogger.com,1999:blog-3188762512334365442</id>
<updated>2010-09-21T13:17:05.777-07:00</updated>
<title>Social Web Blog</title>
<author>
<name>A Googler</name>
<email>noreply@blogger.com</email>
</author>
<generator version="7.00" uri="http://www.blogger.com">Blogger</generator>
<link rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/SocialWebBlog" />
<entry>
<id>tag:blogger.com,1999:blog-3188762512334365442.post-8190772326434476744</id>
<published>2010-07-19T14:14:00.001-07:00</published>
<updated>2010-07-19T14:32:28.168-07:00</updated>
<title>Announcing New Google Buzz API features</title>
<content type="html"> ... </content>
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/31887625123343654
<author>
<name>Timothy Jordan</name>
<uri>http://www.blogger.com/profile/14618592793335366108</uri>
<email>noreply@blogger.com</email>
<gd:extendedProperty name="OpenSocialUserId" value="14459911890912057787" />
</author>
Developer DayGoogle 2010
Atom
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>tag:blogger.com,1999:blog-3188762512334365442</id>
<updated>2010-09-21T13:17:05.777-07:00</updated>
<title>Social Web Blog</title>
<author>
<name>A Googler</name>
<email>noreply@blogger.com</email>
</author>
<generator version="7.00" uri="http://www.blogger.com">Blogger</generator>
<link rel="self" type="application/atom+xml"
href="http://feeds.feedburner.com/SocialWebBlog" />
<entry>
<id>tag:blogger.com,1999:blog-3188762512334365442.post-8190772326434476744</id>
<published>2010-07-19T14:14:00.001-07:00</published>
<updated>2010-07-19T14:32:28.168-07:00</updated>
<title>Announcing New Google Buzz API features</title>
<content type="html"> ... </content>
<link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/31887625123343654
<author>
<name>Timothy Jordan</name>
<uri>http://www.blogger.com/profile/14618592793335366108</uri>
<email>noreply@blogger.com</email>
<gd:extendedProperty name="OpenSocialUserId" value="14459911890912057787" />
Developer DayGoogle 2010
Developer DayGoogle 2010
code.google.com/p/pubsubhubbub
Developer DayGoogle 2010
PubSubHubbub
Publisher SubscriberHub
Developer DayGoogle 2010
PubSubHubbub
1.Subscriber gets Publisher’s feed. The feed contains
a link to the Hub.
Publisher Subscriber
Give me
your latest
content for feed
X, please.
Developer DayGoogle 2010
PubSubHubbub
1.Subscriber gets Publisher’s feed. The feed contains
a link to the Hub.
Publisher Subscriber
I've delegated
distribution of that
content to this Hub.
Developer DayGoogle 2010
PubSubHubbub
2.Subscriber POSTs subscription request to the Hub.
The request contains the URL where the Hub
should POST new updates to the Subscriber.
Publisher SubscriberHub
I want to
subscribe to feed
X. Send updates to
this URL
Developer DayGoogle 2010
PubSubHubbub
3.Hub hits the URL to verify the request was
authentic; Subscriber responds with confirmation to
the Hub.
Publisher SubscriberHub
Hey there! Did
you really send this
request?
Developer DayGoogle 2010
PubSubHubbub
3.Hub hits the URL to verify the request was
authentic; Subscriber responds with confirmation to
the Hub.
Publisher SubscriberHub
Yup, that was
really me, not a
DoS attacker.
Developer DayGoogle 2010
PubSubHubbub
4.a) Publisher notifies Hub about updates by
POSTing feed URLs to the Hub; Hub pulls the feed
again to find new entries.
I have new
content for feed
X for you!
Publisher SubscriberHub
Developer DayGoogle 2010
PubSubHubbub
Give me
your latest
content for feed
X, please.
Publisher SubscriberHub
4.a) Publisher notifies Hub about updates by
POSTing feed URLs to the Hub; Hub pulls the feed
again to find new entries.
Developer DayGoogle 2010
PubSubHubbub
Here you go.
Publisher SubscriberHub
4.a) Publisher notifies Hub about updates by
POSTing feed URLs to the Hub; Hub pulls the feed
again to find new entries.
Developer DayGoogle 2010
PubSubHubbub
4.b) If the Publisher does not inform the Hub, the Hub
will periodically poll the Publisher’s feed for new
updates.
Give me
your latest
content for feed
X, please.
Publisher SubscriberHub
Developer DayGoogle 2010
PubSubHubbub
Here you go.
Publisher SubscriberHub
4.b) If the Publisher does not inform the Hub, the Hub
will periodically poll the Publisher’s feed for new
updates.
Developer DayGoogle 2010
PubSubHubbub
New update
to feed X! Here
you go.
Publisher SubscriberHub
5.When Hub receives new update to feed X, it POSTs
the update to the Subscriber’s endpoint URL.
Developer DayGoogle 2010
PubSubHubbub
New update
to feed X! Here
you go.
Publisher SubscriberHub
6.If feed X has multiple subscribers, the Hub sends
updates to all of them. This reduces load on the
Publisher.
SubscriberSubscriberSubscriberSubscriberSubscriber
Developer DayGoogle 2010
PubSubHubbub
Developer DayGoogle 2010
code.google.com/p/pubsubhubbub
Developer DayGoogle 2010
salmon-protocol.org
Developer DayGoogle 2010
Salmon
Source Aggregator
PubSubHubbub
I have a new
entry
1.New entry is posted on Source, pushed to
subscribers via mechanisms such as
PubSubHubbub, and re-published by an
Aggregator.
Developer DayGoogle 2010
Salmon
Source Aggregator
A new entry? I
will re-publish it
right away.
1.New entry is posted on Source, pushed to
subscribers via mechanisms such as
PubSubHubbub, and re-published by an
Aggregator.
PubSubHubbub
Developer DayGoogle 2010
Salmon
Source Aggregator
Salmon
I have a new
comment on that
entry from you!
2.New comment is posted on the Aggregator. It
pushes the comment back upstream to the Source
using Salmon
Developer DayGoogle 2010
Salmon
Source Aggregator
2.New comment is posted on the Aggregator. It
pushes the comment back upstream to the Source
using Salmon
A new comment? I
will publish it in the thread
right away [*].
Salmon
[*] After using magic security pixie dust to verify provenance.
Developer DayGoogle 2010
Salmon
Source
Aggregator
3.The Source pushes the comment to all subscribers.
PubSubHubbub
AggregatorAggregatorAggregatorAggregatorAggregatorAggregator
I have a new
comment.
Developer DayGoogle 2010
Salmon
Source
Aggregator
3.The Source pushes the comment to all subscribers.
PubSubHubbub
AggregatorAggregatorAggregatorAggregatorAggregatorAggregator
Thanks, we'll re-
publish this right
away.
Developer DayGoogle 2010
Salmon
Source
3.The Source pushes the comment to all subscribers.
Aggregator
Salmon
I have a new
comment on that
entry from you!
Developer DayGoogle 2010
Salmon
Source
3.The Source pushes the comment to all subscribers.
Aggregator
Salmon
A new comment? I
will publish it in the thread
right away.
Developer DayGoogle 2010
Salmon
Source
Aggregator
3.The Source pushes the comment to all subscribers.
PubSubHubbub
AggregatorAggregatorAggregatorAggregatorAggregatorAggregator
Thanks, we'll re-
publish this right
away.
Aggregator
Salmon
Developer DayGoogle 2010
salmon-protocol.org
Developer DayGoogle 2010
activitystrea.ms
Developer DayGoogle 2010
Activity Streams
Actor
Developer DayGoogle 2010
Actor
Verb
Activity Streams
Developer DayGoogle 2010
Actor
Verb
Object
Activity Streams
Developer DayGoogle 2010
Timothy
Posts
A Note
Activity Streams
Developer DayGoogle 2010
Barack Obama
Started Following
Timothy Jordan
Activity Streams
Developer DayGoogle 2010
Timothy Jordan
Started Following
Barack Obama
Activity Streams
Developer DayGoogle 2010
Timothy Jordan
Has Tea With
Bella Swan
Activity Streams
Developer DayGoogle 2010
Timothy Jordan
Has Tea With
Bella Swan
Activity Streams
Developer DayGoogle 2010
activitystrea.ms
Developer DayGoogle 2010
Developer DayGoogle 2010
Google Buzz API
Developer DayGoogle 2010
Warning!
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Activity Streams
Developer DayGoogle 2010
Actor
Verb
Object
Developer DayGoogle 2010
Timothy
Posts
A Note
Developer DayGoogle 2010
     "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": "{id}",
   "name": "Timothy Jordan",
   "profileUrl": "{url}/captaintimothy",
   "thumbnailUrl": "{url}/captaintimothy/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"
     }
    ]
   }
  },
Developer DayGoogle 2010
    }
   ],
   "replies": [
    {
     "href": "{url}/{userId}/@self/{commentId}/@comments?alt=json",
     "type": "application/json",
     "count": 2,
     "updated": "2010-05-09T02:53:13.730Z"
    }
   ]
  },
  "actor": {
   "id": "{id}",
   "name": "Timothy Jordan",
   "profileUrl": "{url}/captaintimothy",
   "thumbnailUrl": "{url}/captaintimothy/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": [
Developer DayGoogle 2010
     "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": "{id}",
   "name": "Timothy Jordan",
   "profileUrl": "{url}/captaintimothy",
   "thumbnailUrl": "{url}/captaintimothy/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"
    }
   ]
  }
 }
Developer DayGoogle 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",
Developer DayGoogle 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"
Developer DayGoogle 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": "Timothy Jordan",
   "profileUrl": "{url}/captaintimothy",
   "thumbnailUrl": "{url}/captaintimothy/thumb.jpg"
  },
  "verbs": [
   "post"
  ],
  "object": {
Developer DayGoogle 2010
   "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": [
    {
     "id": "https://www.googleapis.com/buzz/v1/people/@me/@groups/@public?altu003djson",
     "title": "Public"
    }
   ]
  }
 }
Developer DayGoogle 2010
   "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": [
    {
     "id": "{url}/people/@me/@groups/@public?alt=json",
     "title": "Public"
    }
   ]
  }
 }
Developer DayGoogle 2010
   "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"
    }
   ]
},
"geocode": "37.783471 -122.39922",
"address": "701-737 Folsom St, San Francisco, CA 94103, USA",
"placeName": "300 3rd St, San Francisco, CA 94107"
}
 }
Developer DayGoogle 2010
Developer DayGoogle 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"
}
]
}
}
]
    }
Developer DayGoogle 2010
Developer DayGoogle 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
         }
        ]
       }
      }
     ]
    }
Developer DayGoogle 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"
}
]
}
Developer DayGoogle 2010
Favorite
Follow
Friend
Join
Play
Post
Save
Share
Tag
Update
Article
Audio
Bookmark
Comment
File
Folder
Group
List
Note
Person
Photo
Photo Album
Place
Playlist
Product
Review
Service
Status
Video
Verbs Objects
Developer DayGoogle 2010
Favorite
Follow
Friend
Join
Play
Post
Save
Share
Tag
Update
Article
Audio
Bookmark
Comment
File
Folder
Group
List
Note
Person
Photo
Photo Album
Place
Playlist
Product
Review
Service
Status
Video
Verbs Objects
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Activity Streams
Developer DayGoogle 2010
https://www.google.com/buzz/api/auth/OAuthAuthorizeToken
?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fbuzz
&domain=www.example.org
&oauth_token=
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
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
PubSubHubbub
Developer DayGoogle 2010
Photo credit: Nandhp, used under the Creative Commons Attribution-Share Alike 3.0 Unported license.
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Examples
Developer DayGoogle 2010
buzz-bingo.appspot.com
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 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
)
Developer DayGoogle 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
  )
Developer DayGoogle 2010
# User visits the authorization_url
Sign-In & Auth for Buzz
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 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
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 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')
Developer DayGoogle 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/'
)
Developer DayGoogle 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)
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Developer DayGoogle 2010
Bingo!
if (5 in horizontal_counts) or 
    (5 in vertical_counts):
  self.award_badge('bingo')
Developer DayGoogle 2010
Developer DayGoogle 2010
Buzz Bingo is open source!
code.google.com/p/buzz-bingo
buzz-bingo.appspot.com
Developer DayGoogle 2010
Track
Extras
Developer DayGoogle 2010
Timothy Jordan
Developer Advocate, Google
buzz.timothyjordan.com
@timothyjordan
#gdd2010jp
Office Hours
16:00 - 16:30
By the “Cool API” sign
Let’s Talk
Developer DayGoogle 2010
Links
https://code.google.com/apis/buzz/docs/
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/
code.google.com/p/buzz-codelabs
code.google.com/p/buzz-mood

Más contenido relacionado

La actualidad más candente

Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021Matt Raible
 
JAX-RS JavaOne Hyderabad, India 2011
JAX-RS JavaOne Hyderabad, India 2011JAX-RS JavaOne Hyderabad, India 2011
JAX-RS JavaOne Hyderabad, India 2011Shreedhar Ganapathy
 
Bootiful Development with Spring Boot and React - Richmond JUG 2018
Bootiful Development with Spring Boot and React - Richmond JUG 2018Bootiful Development with Spring Boot and React - Richmond JUG 2018
Bootiful Development with Spring Boot and React - Richmond JUG 2018Matt Raible
 
Spark IT 2011 - Developing RESTful Web services with JAX-RS
Spark IT 2011 - Developing RESTful Web services with JAX-RSSpark IT 2011 - Developing RESTful Web services with JAX-RS
Spark IT 2011 - Developing RESTful Web services with JAX-RSArun Gupta
 
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020Matt Raible
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13Fred Sauer
 
Hybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) via QtWebKitHybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) via QtWebKitAriya Hidayat
 
Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Matt Raible
 
A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019Matt Raible
 
How to Win at UI Development in the World of Microservices - THAT Conference ...
How to Win at UI Development in the World of Microservices - THAT Conference ...How to Win at UI Development in the World of Microservices - THAT Conference ...
How to Win at UI Development in the World of Microservices - THAT Conference ...Matt Raible
 
Introduction to Apache Roller
Introduction to Apache RollerIntroduction to Apache Roller
Introduction to Apache RollerMatt Raible
 
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019Matt Raible
 
Seven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseSeven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseMatt Raible
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Danny Preussler
 
What the Heck is OAuth and OpenID Connect - RWX 2017
What the Heck is OAuth and OpenID Connect - RWX 2017What the Heck is OAuth and OpenID Connect - RWX 2017
What the Heck is OAuth and OpenID Connect - RWX 2017Matt Raible
 
Comparing JVM Web Frameworks - Rich Web Experience 2010
Comparing JVM Web Frameworks - Rich Web Experience 2010Comparing JVM Web Frameworks - Rich Web Experience 2010
Comparing JVM Web Frameworks - Rich Web Experience 2010Matt Raible
 
Wicket In Action - oredev2008
Wicket In Action - oredev2008Wicket In Action - oredev2008
Wicket In Action - oredev2008Martijn Dashorst
 
Challenges in writing roboelectric tests
Challenges in writing roboelectric tests Challenges in writing roboelectric tests
Challenges in writing roboelectric tests BlrDroid
 
Level up apps and websites with vue.js
Level up  apps and websites with vue.jsLevel up  apps and websites with vue.js
Level up apps and websites with vue.jsVioletta Villani
 

La actualidad más candente (20)

Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021Java REST API Framework Comparison - PWX 2021
Java REST API Framework Comparison - PWX 2021
 
JAX-RS JavaOne Hyderabad, India 2011
JAX-RS JavaOne Hyderabad, India 2011JAX-RS JavaOne Hyderabad, India 2011
JAX-RS JavaOne Hyderabad, India 2011
 
Bootiful Development with Spring Boot and React - Richmond JUG 2018
Bootiful Development with Spring Boot and React - Richmond JUG 2018Bootiful Development with Spring Boot and React - Richmond JUG 2018
Bootiful Development with Spring Boot and React - Richmond JUG 2018
 
Spark IT 2011 - Developing RESTful Web services with JAX-RS
Spark IT 2011 - Developing RESTful Web services with JAX-RSSpark IT 2011 - Developing RESTful Web services with JAX-RS
Spark IT 2011 - Developing RESTful Web services with JAX-RS
 
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
Mobile Development with Ionic, React Native, and JHipster - AllTheTalks 2020
 
Os Johnson
Os JohnsonOs Johnson
Os Johnson
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
 
Hybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) via QtWebKitHybrid Apps (Native + Web) via QtWebKit
Hybrid Apps (Native + Web) via QtWebKit
 
Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020Front End Development for Back End Java Developers - Jfokus 2020
Front End Development for Back End Java Developers - Jfokus 2020
 
A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019A Gentle Introduction to Angular Schematics - Angular SF 2019
A Gentle Introduction to Angular Schematics - Angular SF 2019
 
How to Win at UI Development in the World of Microservices - THAT Conference ...
How to Win at UI Development in the World of Microservices - THAT Conference ...How to Win at UI Development in the World of Microservices - THAT Conference ...
How to Win at UI Development in the World of Microservices - THAT Conference ...
 
Introduction to Apache Roller
Introduction to Apache RollerIntroduction to Apache Roller
Introduction to Apache Roller
 
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
A Gentle Introduction to Angular Schematics - Devoxx Belgium 2019
 
Seven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuseSeven Simple Reasons to Use AppFuse
Seven Simple Reasons to Use AppFuse
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)
 
What the Heck is OAuth and OpenID Connect - RWX 2017
What the Heck is OAuth and OpenID Connect - RWX 2017What the Heck is OAuth and OpenID Connect - RWX 2017
What the Heck is OAuth and OpenID Connect - RWX 2017
 
Comparing JVM Web Frameworks - Rich Web Experience 2010
Comparing JVM Web Frameworks - Rich Web Experience 2010Comparing JVM Web Frameworks - Rich Web Experience 2010
Comparing JVM Web Frameworks - Rich Web Experience 2010
 
Wicket In Action - oredev2008
Wicket In Action - oredev2008Wicket In Action - oredev2008
Wicket In Action - oredev2008
 
Challenges in writing roboelectric tests
Challenges in writing roboelectric tests Challenges in writing roboelectric tests
Challenges in writing roboelectric tests
 
Level up apps and websites with vue.js
Level up  apps and websites with vue.jsLevel up  apps and websites with vue.js
Level up apps and websites with vue.js
 

Destacado

GeoTechTalk InkSatogaeri Project
GeoTechTalk InkSatogaeri ProjectGeoTechTalk InkSatogaeri Project
GeoTechTalk InkSatogaeri ProjectKentaro Ishimaru
 
我行·你行·大家行03
我行·你行·大家行03我行·你行·大家行03
我行·你行·大家行03liuruifeng
 
Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)
Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)
Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)Google Developer Relations Team
 
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
 
550 Final Paper
550 Final Paper550 Final Paper
550 Final Paperkoegeljm
 
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)Google Developer Relations Team
 
Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)
Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)
Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)Google Developer Relations Team
 
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...Google Developer Relations Team
 

Destacado (10)

GeoTechTalk InkSatogaeri Project
GeoTechTalk InkSatogaeri ProjectGeoTechTalk InkSatogaeri Project
GeoTechTalk InkSatogaeri Project
 
我行·你行·大家行03
我行·你行·大家行03我行·你行·大家行03
我行·你行·大家行03
 
Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)
Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)
Google Developer Day 2010 Japan: 音声入力 API for Android (アレックス グランスタイン, 小西 祐介)
 
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...
 
Gtug20110307
Gtug20110307Gtug20110307
Gtug20110307
 
550 Final Paper
550 Final Paper550 Final Paper
550 Final Paper
 
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
Google Developer Day 2010 Japan: HTML5 とウェブサイトデザイン (矢倉 眞隆)
 
Induction
InductionInduction
Induction
 
Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)
Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)
Google Developer Day 2010 Japan: Google エンジニアの日常 (山内 知昭)
 
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
 

Similar a Google Developer Day 2010 Japan: 新 SocialWeb: 全てはオープンスタンダードの元に (ティモシー ジョーダン)

Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011traactivity
 
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
 
Download PowerPoint Project on social programming for engineering students
Download PowerPoint Project on social programming for engineering studentsDownload PowerPoint Project on social programming for engineering students
Download PowerPoint Project on social programming for engineering studentsSkyingBlogger
 
7 Actionable SEO Strategies to Build Real Revenue Now
7 Actionable SEO Strategies to Build Real Revenue Now7 Actionable SEO Strategies to Build Real Revenue Now
7 Actionable SEO Strategies to Build Real Revenue NowMiva
 
John Lincoln, MivaCon 2016 - 7 Actionable SEO Strategies to Build Real Revenu...
John Lincoln, MivaCon 2016 - 7 Actionable SEO Strategies to Build Real Revenu...John Lincoln, MivaCon 2016 - 7 Actionable SEO Strategies to Build Real Revenu...
John Lincoln, MivaCon 2016 - 7 Actionable SEO Strategies to Build Real Revenu...John Lincoln
 
Creating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsCreating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsAmanda Giles
 
Frappe ERPNext Open Day February 2014
Frappe ERPNext Open Day February 2014Frappe ERPNext Open Day February 2014
Frappe ERPNext Open Day February 2014rushabh_mehta
 
The Wide World Of Google Developer Technologies (STLIC 02-10)
The Wide World Of Google Developer Technologies (STLIC 02-10)The Wide World Of Google Developer Technologies (STLIC 02-10)
The Wide World Of Google Developer Technologies (STLIC 02-10)jasonacooper
 
Drupal Camp 2009 Pune I Love Bolly Case Study
Drupal Camp 2009 Pune I Love Bolly Case StudyDrupal Camp 2009 Pune I Love Bolly Case Study
Drupal Camp 2009 Pune I Love Bolly Case Studydrupalindia
 
Drupal Camp 2009 Pune Ilovebollycase Study 1233568636712224 1
Drupal Camp 2009 Pune Ilovebollycase Study 1233568636712224 1Drupal Camp 2009 Pune Ilovebollycase Study 1233568636712224 1
Drupal Camp 2009 Pune Ilovebollycase Study 1233568636712224 1gauravkumar87
 
Coding Google... you can do it!
Coding Google... you can do it!Coding Google... you can do it!
Coding Google... you can do it!wesley chun
 
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...Jarek Wilkiewicz
 
WordCamp Boston 2012 - Creating Content With Shortcodes
WordCamp Boston 2012 - Creating Content With ShortcodesWordCamp Boston 2012 - Creating Content With Shortcodes
WordCamp Boston 2012 - Creating Content With ShortcodesJon Bishop
 
Microformats And Seo Sempo Atl
Microformats And Seo Sempo AtlMicroformats And Seo Sempo Atl
Microformats And Seo Sempo AtlTopher Kohan
 
Stephan Spencer - SMX Advanced: Rich Snippets, Schema & Microformats
Stephan Spencer - SMX Advanced: Rich Snippets, Schema & MicroformatsStephan Spencer - SMX Advanced: Rich Snippets, Schema & Microformats
Stephan Spencer - SMX Advanced: Rich Snippets, Schema & MicroformatsSearch Marketing Expo - SMX
 
You tube api overview
You tube api overviewYou tube api overview
You tube api overviewfirenze-gtug
 
React Native Firebase Realtime Database + Authentication
React Native Firebase Realtime Database + AuthenticationReact Native Firebase Realtime Database + Authentication
React Native Firebase Realtime Database + AuthenticationKobkrit Viriyayudhakorn
 
Piwik Analytics Platform
Piwik Analytics PlatformPiwik Analytics Platform
Piwik Analytics Platformpiwik
 
How to Build a Dialogflow App by using Actions on Google.
How to Build a Dialogflow App by using Actions on Google.How to Build a Dialogflow App by using Actions on Google.
How to Build a Dialogflow App by using Actions on Google.Yuting Liu
 

Similar a Google Developer Day 2010 Japan: 新 SocialWeb: 全てはオープンスタンダードの元に (ティモシー ジョーダン) (20)

Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
 
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
 
Download PowerPoint Project on social programming for engineering students
Download PowerPoint Project on social programming for engineering studentsDownload PowerPoint Project on social programming for engineering students
Download PowerPoint Project on social programming for engineering students
 
7 Actionable SEO Strategies to Build Real Revenue Now
7 Actionable SEO Strategies to Build Real Revenue Now7 Actionable SEO Strategies to Build Real Revenue Now
7 Actionable SEO Strategies to Build Real Revenue Now
 
John Lincoln, MivaCon 2016 - 7 Actionable SEO Strategies to Build Real Revenu...
John Lincoln, MivaCon 2016 - 7 Actionable SEO Strategies to Build Real Revenu...John Lincoln, MivaCon 2016 - 7 Actionable SEO Strategies to Build Real Revenu...
John Lincoln, MivaCon 2016 - 7 Actionable SEO Strategies to Build Real Revenu...
 
Creating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsCreating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable Needs
 
Frappe ERPNext Open Day February 2014
Frappe ERPNext Open Day February 2014Frappe ERPNext Open Day February 2014
Frappe ERPNext Open Day February 2014
 
The Wide World Of Google Developer Technologies (STLIC 02-10)
The Wide World Of Google Developer Technologies (STLIC 02-10)The Wide World Of Google Developer Technologies (STLIC 02-10)
The Wide World Of Google Developer Technologies (STLIC 02-10)
 
Drupal Camp 2009 Pune I Love Bolly Case Study
Drupal Camp 2009 Pune I Love Bolly Case StudyDrupal Camp 2009 Pune I Love Bolly Case Study
Drupal Camp 2009 Pune I Love Bolly Case Study
 
Drupal Camp 2009 Pune Ilovebollycase Study 1233568636712224 1
Drupal Camp 2009 Pune Ilovebollycase Study 1233568636712224 1Drupal Camp 2009 Pune Ilovebollycase Study 1233568636712224 1
Drupal Camp 2009 Pune Ilovebollycase Study 1233568636712224 1
 
Coding Google... you can do it!
Coding Google... you can do it!Coding Google... you can do it!
Coding Google... you can do it!
 
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
YouTube APIs presentation at Facultad de Ciencias, Universidad Nacional Autón...
 
WordCamp Boston 2012 - Creating Content With Shortcodes
WordCamp Boston 2012 - Creating Content With ShortcodesWordCamp Boston 2012 - Creating Content With Shortcodes
WordCamp Boston 2012 - Creating Content With Shortcodes
 
Microformats And Seo Sempo Atl
Microformats And Seo Sempo AtlMicroformats And Seo Sempo Atl
Microformats And Seo Sempo Atl
 
Stephan Spencer - SMX Advanced: Rich Snippets, Schema & Microformats
Stephan Spencer - SMX Advanced: Rich Snippets, Schema & MicroformatsStephan Spencer - SMX Advanced: Rich Snippets, Schema & Microformats
Stephan Spencer - SMX Advanced: Rich Snippets, Schema & Microformats
 
You tube api overview
You tube api overviewYou tube api overview
You tube api overview
 
WordPress SEO Beginner to Advanced
WordPress SEO Beginner to AdvancedWordPress SEO Beginner to Advanced
WordPress SEO Beginner to Advanced
 
React Native Firebase Realtime Database + Authentication
React Native Firebase Realtime Database + AuthenticationReact Native Firebase Realtime Database + Authentication
React Native Firebase Realtime Database + Authentication
 
Piwik Analytics Platform
Piwik Analytics PlatformPiwik Analytics Platform
Piwik Analytics Platform
 
How to Build a Dialogflow App by using Actions on Google.
How to Build a Dialogflow App by using Actions on Google.How to Build a Dialogflow App by using Actions on Google.
How to Build a Dialogflow App by using Actions on Google.
 

Más de Google Developer Relations Team

Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)
Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)
Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)Google Developer Relations Team
 
Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...
Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...
Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...Google Developer Relations Team
 
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...Google Developer Relations Team
 
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)Google Developer Relations Team
 
Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)
Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)
Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)Google Developer Relations Team
 
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)Google Developer Relations Team
 
Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...
Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...
Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...Google Developer Relations Team
 
Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)
Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)
Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)Google Developer Relations Team
 

Más de Google Developer Relations Team (8)

Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)
Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)
Google Developer Day 2010 Japan: Google App Engine についての最新情報 (松尾貴史)
 
Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...
Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...
Google Developer Day 2010 Japan: Google Chrome の Developer Tools (ミカイル ナガノフ, ...
 
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...
Google Developer Day 2010 Japan: Android や iPhone で活用する Maps API のモバイル端末向け新機能...
 
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
Google Developer Day 2010 Japan: プログラミング言語 Go (鵜飼 文敏)
 
Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)
Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)
Google Developer Day 2010 Japan: Android でリアルタイムゲームを開発する方法: リベンジ (クリス プルエット)
 
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
Google Developer Day 2010 Japan: クールな Android アプリを作るには (安生真, 山下盛史, 江川崇)
 
Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...
Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...
Google Developer Day 2010 Japan: マーケットライセンシングを使って Android アプリケーションを守るには (トニー ...
 
Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)
Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)
Google Developer Day 2010 Japan: 高性能な Android アプリを作るには (ティム ブレイ)
 

Último

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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 Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Último (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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 Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Google Developer Day 2010 Japan: 新 SocialWeb: 全てはオープンスタンダードの元に (ティモシー ジョーダン)