How the technologies behind Google Buzz are powering the wider social web and the impact of Developer Experience on the design of our discovery-based APIs.
4. Google’s mission
To organize the world’s information and make
it universally accessible and useful.
Online content Offline content
Billions of web pages Billions of items
becoming indexed
4
5. Outline
1 The technologies behind the Buzz API
2 Discovery
3 Developer Experience
4 The web is the platform
5
14. OAuth
Your Service
Application Get unauthorized Provider
request token
1. Your application gets an unauthorized request token
from the Service Provider’s authorization server.
15. OAuth
Your Service
Application 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.
16. OAuth
Your Service
Application Get authorized Provider
request token
3. Your application gets an authorized request token
from the authorization server.
17. OAuth
Your Service
Application Exchange request Provider
for access token
4. You exchange the authorized request token for an
access token.
18. OAuth
Your Service
Application Use access token Provider
to get data
5. You use the access token to request data from
Service Provider’s service access servers.
25. PubSubHubbub
Give me your
latest content for
feed X, please.
Publisher Subscriber
1. Subscriber gets Publisher’s feed. The feed contains
a link to the Hub.
26. PubSubHubbub
I've delegated
distribution of that content
to this Hub.
Publisher Subscriber
1. Subscriber gets Publisher’s feed. The feed contains
a link to the Hub.
27. PubSubHubbub
I want to
subscribe to feed X.
Send updates to this
URL
Publisher Hub Subscriber
2. Subscriber POSTs subscription request to the Hub.
The request contains the URL where the Hub should
POST new updates to the Subscriber.
28. PubSubHubbub
Hey there! Did
you really send this
request?
Publisher Hub Subscriber
3. Hub hits the URL to verify the request was authentic;
Subscriber responds with confirmation to the Hub.
29. PubSubHubbub
Yup, that was
really me, not a DoS
attacker.
Publisher Hub Subscriber
3. Hub hits the URL to verify the request was authentic;
Subscriber responds with confirmation to the Hub.
30. PubSubHubbub
I have new
content for feed X
for you!
Publisher Hub Subscriber
4. a) Publisher notifies Hub about updates by POSTing
feed URLs to the Hub; Hub pulls the feed again to
find new entries.
31. PubSubHubbub
Give me your
latest content for
feed X, please.
Publisher Hub Subscriber
4. a) Publisher notifies Hub about updates by POSTing
feed URLs to the Hub; Hub pulls the feed again to
find new entries.
32. PubSubHubbub
Here you go.
Publisher Hub Subscriber
4. a) Publisher notifies Hub about updates by POSTing
feed URLs to the Hub; Hub pulls the feed again to
find new entries.
33. PubSubHubbub
Give me your
latest content for
feed X, please.
Publisher Hub Subscriber
4. b) If the Publisher does not inform the Hub, the Hub
will periodically poll the Publisher’s feed for new
updates.
34. PubSubHubbub
Here you go.
Publisher Hub Subscriber
4. b) If the Publisher does not inform the Hub, the Hub
will periodically poll the Publisher’s feed for new
updates.
35. PubSubHubbub
New update to
feed X! Here you
go.
Publisher Hub Subscriber
5. When Hub receives new update to feed X, it POSTs
the update to the Subscriber’s endpoint URL.
36. PubSubHubbub
New update to
feed X! Here you
go.
Publisher Hub Subscriber
Subscriber
Subscriber
Subscriber
Subscriber
Subscriber
6. If feed X has multiple subscribers, the Hub sends
updates to all of them. This reduces load on the
Publisher.
49. Benefits
1 Latest features are instantly available to every language
2 More languages are supported by more APIs
3 APIs console gives you centralised management
4 Easier to use multiple APIs in the same project
49
52. Developer Experience
1 Apply UX techniques to developer-facing products
2 Focus on the 15 minute OOB experience
3 Use convention over configuration
4 Design away common problems
52
56. Alerts Blogger Blog Search Book Search Buzz Calendar Checkout Code
Docs & Feedburner Froogle Gmail Google Labs
Directory Earth Finance
Spreadsheets
Google Reader Groups Images Local Maps Maps for Mobile Mobile News
Pack Picasa Scholar Talk Toolbar Translate SketchUp SMS
Specialized Video Web Accelerator Web Search YouTube
Searches
56