211

Click here to load reader

The Open and Social Web

Embed Size (px)

DESCRIPTION

Slides from my session at Google I/O covering the latest and most important trends of the Social Web and dive deep into where this is all going, at the conceptual level. From the concepts of digital identity, relationships, and social objects, this session will cover emerging technologies like WebFinger, Salmon, ActivityStrea.ms, OpenID, and OAuth.http://code.google.com/events/io/2010/sessions/open-and-social-web.html

Citation preview

Ok, I hope that will hold you over. [CLICK]Lets get into the meat of the talk... starting with a PROLOGUE to give you a sense for what Im going to talk about today. 13. Prologue Ok, I hope that will hold you over. [CLICK]Lets get into the meat of the talk... starting with a PROLOGUE to give you a sense for what Im going to talk about today. 14. First, these are two characters that youre going to get to know over the course of this story.these are open web technologiststhey play an important role throughout our story... [CLICK] 15. Open Web Technologists First, these are two characters that youre going to get to know over the course of this story.these are open web technologiststhey play an important role throughout our story... [CLICK] 16. Chapter 1 for example, in chapter 1, they introduce OpenID, a decentralized identity technology. 17. Chapter 1 for example, in chapter 1, they introduce OpenID, a decentralized identity technology. 18. Chapter 2 in chapter 2, they develop WebFinger, a technology for discovering information about email addresses. 19. Chapter 2 in chapter 2, they develop WebFinger, a technology for discovering information about email addresses. 20. Chapter 3 And nally, in Chapter 3 they introduce Activity Streams, Salmon, and PubSubHubbub...which make it possible to share rich activities across networks, in real time, and then comment back with equal delity. 21. Chapter 3 And nally, in Chapter 3 they introduce Activity Streams, Salmon, and PubSubHubbub...which make it possible to share rich activities across networks, in real time, and then comment back with equal delity. 22. The Open & Social Web these three chapters are the start of the story of the open and social web.and so we begin... 23. Chapter 1: The Trouble with Travel 24. Once upon a time... Once upon a time... 25. Kate there was a character named Kate. 26. Jack ...and a character named Jack. 27. Jack lived on this island.Kate lived on this island. 28. Jack lived on this island.Kate lived on this island. 29. One day, they decided to go for a vacation... 30. One day, they decided to go for a vacation... 31. Credit: xkcd - xkcd.com/256 traveling from one island to another... 32. Credit: xkcd - xkcd.com/256 traveling from one island to another... 33. ...To the big island.As it turned out, Kate and Jack met. And they liked each other. And then... [CLICK] 34. ...To the big island.As it turned out, Kate and Jack met. And they liked each other. And then... [CLICK] 35. ...To the big island.As it turned out, Kate and Jack met. And they liked each other. And then... [CLICK] 36. ...fell in love. 37. ...and got married.But on their wedding day... something missing: their families! 38. ...and got married.But on their wedding day... something missing: their families! 39. you see, when Kate and Jack left to go to the new island, they left their family and friends behind. 40. you see, when Kate and Jack left to go to the new island, they left their family and friends behind. 41. As it happened, visiting other islands had become a hassle.Immigration was a real pain in the butt, and having to ll out forms like these [CLICK] 42. As it happened, visiting other islands had become a hassle.Immigration was a real pain in the butt, and having to ll out forms like these [CLICK] 43. ...really turned people off from traveling.Especially when EVERY island wanted you to register with them!You could no longer just show up and hang out. 44. ...really turned people off from traveling.Especially when EVERY island wanted you to register with them!You could no longer just show up and hang out. 45. ...really turned people off from traveling.Especially when EVERY island wanted you to register with them!You could no longer just show up and hang out. 46. Worse still, every island forced people to learn a secret chant that they had to recite every time they came back to the island. [CLICK] 47. @!j &4K m$2 Worse still, every island forced people to learn a secret chant that they had to recite every time they came back to the island. [CLICK] 48. @!j &4K m$2 Worse still, every island forced people to learn a secret chant that they had to recite every time they came back to the island. [CLICK] 49. $%&"'()*+! !"# &/0*-1$,&"))*+-. it was simply too much and over time, people just melted down from the stress of having to manage all these secrete chants! 50. it was simply too much and over time, people just melted down from the stress of having to manage all these secrete chants! 51. 52. some resourceful islanders got together and decided to solve this problem once and for all... 53. some resourceful islanders got together and decided to solve this problem once and for all... 54. Photo by Teresa StantonOpenID is like a personal skeleton key for all your web accounts.By using an account that you already have to sign up for another website, not only is it more convenient, but you are able to start developing your own universal web identity that, if you CHOOSE TO, you can own. 55. Unique OpenID Relying PartiesAs of July 1, 2009Data from JanrainSo as weve seen an explosion in the number of OpenID relying parties in the last ve years users are carefully considering which account they want to use to sign in. 56. Unique OpenID Relying PartiesAs of July 1, 200950,000 40,000 30,000 20,000 10,000 050606 06 6 07 070770808 08 8 09 09/0 /0/0 /0 1/4/ 7/1/ 4/7/ 1/4/ 7/1/ 7/ 1010 10Data from Janrain10So as weve seen an explosion in the number of OpenID relying parties in the last ve years users are carefully considering which account they want to use to sign in. 57. Unique OpenID Relying PartiesAs of July 1, 200950,000 40,000 30,000 20,000 10,000 050606 06 6 07 070770808 08 8 09 09/0 /0/0 /0 1/4/ 7/1/ 4/7/ 1/4/ 7/1/ 7/ 1010 10Data from Janrain10So as weve seen an explosion in the number of OpenID relying parties in the last ve years users are carefully considering which account they want to use to sign in. 58. OpenID usage trends OpenID Providers on UserVoice 34% 33% 10% 15% 8%Google FacebookYahoo!Other TwitterData from Janrain, May 2010I want you to look at these graphs very carefully. Each color represents a different identity provider.Google - 34% Facebook - 33% Twitter - 15% Yahoo - 10% 59. OpenID usage trends OpenID Providers on Interscope Records 8% 12% 12% 52%6% 10% GoogleFacebook Yahoo! Other Twitter MySpaceData from Janrain, May 2010...and on each site, people use different identity providers depending on the context.Google 12% Facebook 43% MySpace 24% 60. OpenID usage trendsOpenID Providers on sulit.com.ph 10%24% 1% 64%GoogleFacebook Yahoo! OtherChart from Janrain, January 2009Especially when youre thinking about an international audience, everything changes.Yahoo - 64% Google - 24% Facebook - 10% 61. OpenID usage trends Sign in preferences across all Janrain properties23.5% Google 38.8%FacebookYahoo!Other (MySpace, Windows Live, AOL, etc)13.0%Twitter 5.8%18.9%Data from Janrain, May 2010And across all the sites that use RPX, a third-party authentication widget, we see a different composition:Google - 37% Facebook - 26% Yahoo - 11% Other - 18% Twitter - 6% 62. http://openid.net to learn more about openid, visit openid.net 63. And so the innovation of the village geeks were essentially to allow people of all island nationalities to visit with one another.... [CLICK] 64. by creating a system of interoperable identity and passport providers 65. ...which made everyone very happy. 66. So back with the islands, people were able to travel and visit each other just ne, but a new problem emerged with people nding homes on new islands. 67. Chapter 2: Staying connected So back with the islands, people were able to travel and visit each other just ne, but a new problem emerged with people nding homes on new islands. 68. Kate You remember Kate?Well [CLICK], this is where she comes from. 69. Kate You remember Kate?Well [CLICK], this is where she comes from. 70. Jack And Jack?[CLICK] He came from this island. 71. Jack And Jack?[CLICK] He came from this island. 72. Before Jack and Kate left to go live at the new island, their family and friends could just send messages to Kate or call up Jack.When they moved to the new island, their family and friends now needed to specify WHICH Kate and WHICH Jack they wanted to send a message to, making it much harder to stay in touch. 73. ? ? Before Jack and Kate left to go live at the new island, their family and friends could just send messages to Kate or call up Jack.When they moved to the new island, their family and friends now needed to specify WHICH Kate and WHICH Jack they wanted to send a message to, making it much harder to stay in touch. 74. As it happened, the open web technologists got together and decided to solve this problem once and for all... 75. As it happened, the open web technologists got together and decided to solve this problem once and for all... 76. WebFinger ...using a technology called WebFinger 77. The Hammer StackDiscovery for the open web WebFinger relies on an emerging set of technologies and formats that together we call The Hammer Stack 78. How WebFinger works Enter email: Email Lookup Lets walk through WebFinger works in practice.So Ill type my email in here and click LOOKUP [CLICK] 79. How WebFinger works Enter email: [email protected] Lookup Lets walk through WebFinger works in practice.So Ill type my email in here and click LOOKUP [CLICK] 80. How WebFinger works Enter email: [email protected] Lookup Lets walk through WebFinger works in practice.So Ill type my email in here and click LOOKUP [CLICK] 81. How WebFinger worksDiscovering a users WebFinger profile [email protected] We take the email Ive supplied, split it at the @ symbol, and use grab the domains host- meta to discover the users WebFinger endpoint. 82. How WebFinger worksDiscovering a users WebFinger profile [email protected]{domain We take the email Ive supplied, split it at the @ symbol, and use grab the domains host- meta to discover the users WebFinger endpoint. 83. How WebFinger worksDiscovering a users WebFinger profile [email protected]{domain We take the email Ive supplied, split it at the @ symbol, and use grab the domains host- meta to discover the users WebFinger endpoint. 84. How WebFinger works Use host meta to retrieve an LRDD document $curl http://gmail.com/.well-known/host-meta 85. How WebFinger works Use host meta to retrieve an LRDD document $curl http://gmail.com/.well-known/host-meta 86. How WebFinger works Use host meta to retrieve an LRDD document $curl http://gmail.com/.well-known/host-meta 87. How WebFinger works Server returns LRDD documentgmail.comResource Descriptor 88. How WebFinger works Server returns LRDD documentgmail.comResource Descriptor 89. How WebFinger worksPlugin acct: into URI Template http://www.google.com/s2/webfinger/?q={uri} so lets bring back my email address and turn it into an acct: URI and plug it into the URI template we got from the host-meta le. 90. How WebFinger worksPlugin acct: into URI [email protected]://www.google.com/s2/webfinger/?q={uri} so lets bring back my email address and turn it into an acct: URI and plug it into the URI template we got from the host-meta le. 91. How WebFinger worksPlugin acct: into URI Template acct:[email protected]://www.google.com/s2/webfinger/?q={uri} so lets bring back my email address and turn it into an acct: URI and plug it into the URI template we got from the host-meta le. 92. How WebFinger worksPlugin acct: into URI Template http://www.google.com/s2/webfinger/?q={uri} acct:[email protected] so lets bring back my email address and turn it into an acct: URI and plug it into the URI template we got from the host-meta le. 93. How WebFinger worksPlugin acct: into URI Template http://www.google.com/s2/webfinger/?q={uri} acct:[email protected] so lets bring back my email address and turn it into an acct: URI and plug it into the URI template we got from the host-meta le. 94. How WebFinger works Retrieve WebFinger document$curl http://www.google.com/s2/webfinger/?q=acct:[email protected] 95. How WebFinger works Retrieve WebFinger document$curl http://www.google.com/s2/webfinger/?q=acct:[email protected] 96. How WebFinger works Retrieve WebFinger document$curl http://www.google.com/s2/webfinger/?q=acct:[email protected] 97. How WebFinger worksXRD Profileacct:[email protected]://www.google.com/profiles/chris.messina from here I can grab any service that I need. 98. How WebFinger worksXRD Profileacct:[email protected]://www.google.com/profiles/chris.messina from here I can grab any service that I need. 99. and so now if you wanted to do something like OpenID... 100. How WebFinger worksXRD Profileacct:[email protected]://www.google.com/profiles/chris.messina you would just take that XRD le... 101. How WebFinger worksXRD Profileacct:[email protected]://www.google.com/profiles/chris.messina and look for the rel value that you need and the appropriate endpoint. 102. Putting it togetherMaking OpenID easier using an email address Enter email: EmailConnect Lookup So, what if we turned this lookup service into an OpenID experience?Lets try this with an email address! I hit connect... 103. Putting it togetherMaking OpenID easier using an email address Enter email: EmailConnect So, what if we turned this lookup service into an OpenID experience?Lets try this with an email address! I hit connect... 104. Putting it togetherMaking OpenID easier using an email address Enter email: [email protected] Connect So, what if we turned this lookup service into an OpenID experience?Lets try this with an email address! I hit connect... 105. Putting it togetherMaking OpenID easier using an email address Enter email: [email protected] Connect So, what if we turned this lookup service into an OpenID experience?Lets try this with an email address! I hit connect... 106. and if Im already logged in, Ill be taken to a page like this, where I can click on button to sign in. 107. Putting it together Making OpenID easier using an email address Signed in as: Chris Messina 108. Putting it together Making OpenID easier using an email address Signed in as: Chris Messina 109. http://webfinger.info to learn more about webnger, visit webnger.info 110. and so the geeks had created a kind of forwarding address or service discovery protocol for the islanders... 111. and so the geeks had created a kind of forwarding address or service discovery protocol for the islanders... 112. and the people were happy once again. 113. Which brings us to the third part of our story... keeping in touch and sharing. 114. Chapter 3: Keeping in touch and sharing Which brings us to the third part of our story... keeping in touch and sharing. 115. so one other problem that islanders encountered was the slow delivery of correspondence.essentially they had to keep checking: was there a new message? how about now? how about now? 116. so one other problem that islanders encountered was the slow delivery of correspondence.essentially they had to keep checking: was there a new message? how about now? how about now? 117. so one other problem that islanders encountered was the slow delivery of correspondence.essentially they had to keep checking: was there a new message? how about now? how about now? 118. meanwhile, people also started capturing richer and richer content. 119. and tracking all of their activities in order to keep their friends and family up to date. 120. but sharing richer and richer media meant a need for more efficient and faster ways of sending this content around. 121. ,Kated r KatendH yd Islahn is t01209 ! s k e nst -ja but sharing richer and richer media meant a need for more efficient and faster ways of sending this content around. 122. some resourceful islanders got together and decided to solve this problem once and for all with a series of technologies... 123. some resourceful islanders got together and decided to solve this problem once and for all with a series of technologies... 124. PubSubHubbub the rst technology is called pubsubhubbub 125. Rather than having to constantly check to see if there were new messages, now Kate could just sit back and relax. Whenever Walt sent a message, it would 126. Rather than having to constantly check to see if there were new messages, now Kate could just sit back and relax. Whenever Walt sent a message, it would 127. hms hubbub Rather than having to constantly check to see if there were new messages, now Kate could just sit back and relax. Whenever Walt sent a message, it would 128. hms hubbub Hubs stand in the middle and deliver content to the subscribers in real time. 129. (Slowed down 1000x) hms hubbub Hubs stand in the middle and deliver content to the subscribers in real time. 130. ActivityStreams lets start with ActivityStreams. 131. 1999 This story starts back in 1999 when a format called RSS was introduced by Netscape as a content-gathering mechanism for My Netscape Network (MNN) back when portals were all the rage (pre-social networks).By providing a simple snapshot-in-a-document, web site producers acquired audience through the presence of their content on My Netscape. 132. so, youd have someone like the NYTimes wanting to grow their online audience... 133. ...and theyd use RSS to get their content into the Netscape portal. 134. Copyright 2000 ZWave, LLC ...and theyd use RSS to get their content into the Netscape portal. 135. RSS When Will Location-Based Coupons Take Off?http://bits.blogs.nytimes.com/2010/03/12/when-will-location-based-mobile-coupons-take-off/Fri, 12 Mar 2010 21:38:26 +0000By CLAIRE CAIN MILLER People want to receive location-based cellphone coupons,but most have not, according to a Web analytics firm. RSS looks like this. 136. RSS title + link + description the only mandatory elds in RSS are title, link, and description which makes it an extremely exible format. The only problem is that aggregators have to do a lot of guesswork about whats in it.this was complicated by the various avors of RSS (0.9, 0.91, 0.92, 0.93, 2.0 et al) 137. 2005 this in 2005, a group of people got together to create a better specied syndication format called Atom. 138. AtomWhen Will Location-Based Coupons Take Off?http://bits.blogs.nytimes.com/2010/03/12/when-will-location-based-mobile-coupons-take-off/urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6Fri, 12 Mar 2010 21:38:26 +0000By CLAIRE CAIN MILLERPeople want to receive location-based cellphone coupons,but most have not, according to a Web analytics firm. heres what ATOM looks like. 139. Atom title + link + summary +author + id + updated so, in ve years, the required elements of RSS essentially doubled, and we now had a unique way to identity a feed entry, the author, and when it was last changed. 140. even still, this format was really still designed for the case of syndicating ARTICLES into PORTALS. 141. Copyright 2000 ZWave, LLCeven still, this format was really still designed for the case of syndicating ARTICLES into PORTALS. 142. 2010 143. so, you take an article like this, turn it into RSS or ATOM... 144. so, you take an article like this, turn it into RSS or ATOM... 145. and the most interesting thing the browser can do for you is turn this rich and well designed page into something like this... [click] 146. and the most interesting thing the browser can do for you is turn this rich and well designed page into something like this... [click] 147. and yet we know that people are performing more and more activities online.and yet, regardless of its type, sites only publish this information as RSS or Atom 148. so no matter what, to sites like Friendfeed, Facebook, or Google Buzz, all these activities all look the same. 149. icons by Fast Iconso how do you differentiate all these different feeds when you only have one basic format? 150. This is where ActivityStreams comes in. 151. author title link In contrast to the basic model of RSS and ATOM... 152. actor verb object target the ActivityStreams model presents an actor verb object tuple, with an target parameter 153. Atom ...... ......... ... so lets take a typical Atom entry template... 154. Atom title + link + summary +author + id + updated (remember that the foundation of Atom is title, link, summary, author, id, and the updated time.) 155. Atom+ActivityStreams title + link + summary + author + id + updated + verb + object-type + target and lets layer in verb, object-type, and target reusing author for the actor element... 156. Atom+ActivityStreams............person...postnote... heres what Atom+ActivityStreams looks like. Similar, 157. Atom+ActivityStreams ... ... ... ... person ... post note ... here are the new parts. 158. Atom+ActivityStreams ... ... ... ... person person ... post post note note ... so, see what this adds for the aggregator? 159. person postnote as the most basic example, were essentially telling the aggregator that a person posted a note. 160. person sharedlink but this model works for someone sharing a link... 161. person started following person or someone following someone else... 162. service updated status or if a service updates its status. 163. so before activity streams, all of this syndicated data was treated the same and lead to overload! 164. so before activity streams, all of this syndicated data was treated the same and lead to overload! 165. so before activity streams, all of this syndicated data was treated the same and lead to overload! 166. icons by Fast Icon but now, with activity streams and relevancy lters, the most relevant, useful data streams to you based on the appropriate context. 167. icons by Fast Icon but now, with activity streams and relevancy lters, the most relevant, useful data streams to you based on the appropriate context. 168. Salmon So what happens when you get that nugget of information that begs to be responded to?If youre on the same island as the sender, well, you walk right up to them... but if theyre not and they live on another island, thats where Salmon comes in. 169. Just as before, when you receive content, you want to respond to it. Salmon is one emerging, secure mechanism to push comments across the web.PubSubHubbub doesnt work in this case because it uses a one-way channel. Instead, we rely on salmons excellent sense of smell to navigate their way back to where they came from. 170. Just as before, when you receive content, you want to respond to it. Salmon is one emerging, secure mechanism to push comments across the web.PubSubHubbub doesnt work in this case because it uses a one-way channel. Instead, we rely on salmons excellent sense of smell to navigate their way back to where they came from. 171. 4 !"#$%&' 3'#$*!"#$%&' (&)*+,%#-./01/2 5"#-6,! 6#5' Just as before, when you receive content, you want to respond to it. Salmon is one emerging, secure mechanism to push comments across the web.PubSubHubbub doesnt work in this case because it uses a one-way channel. Instead, we rely on salmons excellent sense of smell to navigate their way back to where they came from. 172. 4 !"#$%&'3'#$*!"#$%&'(&)*+,%#-. /01/25"#-6,!6#5' Just as before, when you receive content, you want to respond to it. Salmon is one emerging, secure mechanism to push comments across the web.PubSubHubbub doesnt work in this case because it uses a one-way channel. Instead, we rely on salmons excellent sense of smell to navigate their way back to where they came from. 173. We can also use the same mechanism to notify people when they are mentioned in posts.Think of salmon mentions as evolved trackbacks where you can now send a pingback to someone by using WebFinger to discover their salmon endpoint! 174. 4 !"#$%&'3'#$*!"#$%&'(&)*+,%#-. /01/25"#-6,!6#5' We can also use the same mechanism to notify people when they are mentioned in posts.Think of salmon mentions as evolved trackbacks where you can now send a pingback to someone by using WebFinger to discover their salmon endpoint! 175. 4 !"#$%&' 3'#$*!"#$%&' (&)*+,%#-./01/2 5"#-6,! 6#5' '4 !"#$%&' 3'#$*!"#$%&(&)*+,%#-. /01/25"#-6,!6#5' We can also use the same mechanism to notify people when they are mentioned in posts.Think of salmon mentions as evolved trackbacks where you can now send a pingback to someone by using WebFinger to discover their salmon endpoint! 176. 4 !"#$%&' 3'#$*!"#$%&' (&)*+,%#-./01/2 5"#-6,! 6#5'#&*+%,-.#(' "#$%"&'()@ 8 ,91:"#$0 !/&*+%,- 012)-,3),- 45647 ;?! $"-, We can also use the same mechanism to notify people when they are mentioned in posts.Think of salmon mentions as evolved trackbacks where you can now send a pingback to someone by using WebFinger to discover their salmon endpoint! 177. 2"+3"#$* !"#$@%&"''(% 2"4+)56+ +89":7 )&"''(%*+,,,nst ! -./01:%&7+; We can also use the same mechanism to notify people when they are mentioned in posts.Think of salmon mentions as evolved trackbacks where you can now send a pingback to someone by using WebFinger to discover their salmon endpoint! 178. http://j.mp/pubsubhubbub http://activitystrea.ms http://salmon-protocol.org to learn more about these technologies, visit j.mp/pubsubhubbub, activitystrea.ms, and salmon-protocol.org 179. And so now weve put together three very exciting technologies and once again... 180. And so now weve put together three very exciting technologies and once again... 181. everyone was happy and partied all night long. 182. ...happily ever after and everyone lived happily ever after... 183. Epic-logue 184. Chapter 1 We rst learned about how the problem of inter-island identity was solved with OpenID... 185. Chapter 1 We rst learned about how the problem of inter-island identity was solved with OpenID... 186. Chapter 2 then we learned about how WebFinger could act as a kind of forwarding service to make it possible for people to stay in touch even aftey moved...and a secondary benet was to make the process of using OpenID easier. 187. Chapter 3 Finally we learned about Activity Streams, Salmon, and PubSubHubbub which make it possible to share rich activities across networks, in real time, and then respond with equal delity. 188. Chapter 3 Finally we learned about Activity Streams, Salmon, and PubSubHubbub which make it possible to share rich activities across networks, in real time, and then respond with equal delity. 189. Google and the Social Web so lets tie this back to Google and the Social Web. 190. Credit: xkcd - xkcd.com/256 At Google, we see the entire web as one big social environment, bridged by a number of open technologies.... 191. Though they are still emerging and involving, Google is proud to support OpenID, WebFinger, OAuth, ActivityStreams, PubSubHubbub, and Salmon.Together these technologies represent several of the underpinning technologies that will form the foundation of the future web. 192. Though they are still emerging and involving, Google is proud to support OpenID, WebFinger, OAuth, ActivityStreams, PubSubHubbub, and Salmon.Together these technologies represent several of the underpinning technologies that will form the foundation of the future web. 193. And so that brings me to Google Buzz, Googles latest entry into the social scene.As it turns out, all the technologies I just told you about help to power the Buzz platform. This helps frame the context for the work that Google is doing on the social web.In fact... 194. The idea is that someday, any host on the web should be able to implement these open protocols ... without any one company in the middle.DeWitt Clinton, Google Photo by Joi Ito Writing about Google Buzz, DeWitt Clinton said:The idea is that someday, any host on the web should be able to implement these open protocols and send messages back and forth in real time with users from any network, without any one company in the middle. 195. Google Buzz will be just another node (a very good node, I hope) among many peers. DeWitt Clinton, Google Photo by Joi Ito This is really important. The goal of Google Buzz, on one hand, is to create an excellent social experience for Google users... 196. Image from the Opte Project ...and on the other to promote the adoption and development of technologies that expand the size and participation on the social web. 197.