Powering the Social Web (at the Dublin GTUG)

5,338 views
4,730 views

Published on

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.

Published in: Technology
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total views
5,338
On SlideShare
0
From Embeds
0
Number of Embeds
142
Actions
Shares
0
Downloads
62
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Powering the Social Web (at the Dublin GTUG)

  1. Powering the Social WebDiscovery & Developer Experience 1
  2. @adewalebuzz.google.com/adewale @ade_oshineyetwitter.com/ade_oshineye
  3. The plug
  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
  6. Buzz & the open technologies behind it 6
  7. 7
  8. 8
  9. Screenshots from: http://www.go-buzz.com/9
  10. Passwords are bad for everyone
  11. OAuth Your Service Application Get unauthorized Provider request token 1. Your application gets an unauthorized request token from the Service Provider’s authorization server.
  12. 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.
  13. OAuth Your Service Application Get authorized Provider request token 3. Your application gets an authorized request token from the authorization server.
  14. OAuth Your Service Application Exchange request Provider for access token 4. You exchange the authorized request token for an access token.
  15. 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.
  16. Auth url: https://www.google.com/buzz/api/auth/OAuthAuthorizeTokenhttps://www.google.com/buzz/api/auth/OAuthAuthorizeToken scope: https://www.googleapis.com/auth/buzz?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fbuzz domain: www.example.org&domain=www.example.org iconUrl: http://www.example.org/icon.png&oauth_token=
  17. Polling is bad for everyone
  18. code.google.com/p/pubsubhubbub
  19. PubSubHubbub Publisher Hub Subscriber
  20. 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.
  21. PubSubHubbub Ive delegated distribution of that content to this Hub. Publisher Subscriber 1. Subscriber gets Publisher’s feed. The feed contains a link to the Hub.
  22. 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.
  23. 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.
  24. 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.
  25. 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.
  26. 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.
  27. 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.
  28. 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.
  29. 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.
  30. 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.
  31. 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.
  32. PubSubHubbub
  33. Firehose
  34. Photo credit: Nandhp, used under the Creative Commons Attribution-Share Alike 3.0 Unported license.Gardenhose
  35. Track
  36. Discovery 41
  37. What is discovery? 42
  38. Discovery document goo.gl/Yy7XD 43
  39. Easier to code 44
  40. Easier migration AuthSub to OAuth1 OAuth1 to OAuth2 45
  41. One management console 46
  42. Discovery-based libraries code.google.com/p/google-api-php-client/ code.google.com/p/google-api-python-client/ code.google.com/p/google-api-java-client/ code.google.com/p/google-api-ruby-client  47
  43. Missing languages? 48
  44. 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
  45. What is #devexp?Green 50
  46. #devexpdeveloperexperience.org 51
  47. 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
  48. The web is the platform 53
  49. Our platform is open to extension, adaptationand disruptive creativity 54
  50. Discovery is the future 55
  51. Alerts Blogger Blog Search Book Search Buzz Calendar Checkout Code Docs & Feedburner Froogle Gmail Google Labs Directory Earth Finance SpreadsheetsGoogle 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
  52. The web is the platform 57
  53. Thank You!Q&A 58

×