Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
The open & social web

Social Web - Chris Messina
This session will cover the latest and most important trends of the Soci...
The Open & Social Web
   Chris Messina
   May 19




Today I’m going to talk to you about Google and the Social web [CLICK...
<head>




Before we get started, a few things.
<head>




Before we get started, a few things.
@chris.messina
                        buzz.google.com/chrismessina

                               @chrismessina
        ...
View live notes and ask questions
                                   about this session on Google Wave:
                  ...
SURGEON GENERAL’S WARNING:
    THIS PRESENTATION
     IS LITE ON CODE

                                                   ...
Bridging the Islands:
                 Building fluid social experiences across websites
                            Josep...
[Pause for 5 seconds]
[Pause for 5 seconds]
</head>




Ok, I hope that will hold you over. [CLICK]

Let’s get into the meat of the talk... starting with a PROLOGUE t...
<body>




Ok, I hope that will hold you over. [CLICK]

Let’s get into the meat of the talk... starting with a PROLOGUE to...
Prologue




Ok, I hope that will hold you over. [CLICK]

Let’s get into the meat of the talk... starting with a PROLOGUE ...
First, these are two characters that you’re going to get to know over the course of this story.

these are “open web techn...
“Open Web Technologists”




First, these are two characters that you’re going to get to know over the course of this stor...
Chapter 1




for example, in chapter 1, they introduce OpenID, a decentralized identity technology.
Chapter 1




for example, in chapter 1, they introduce OpenID, a decentralized identity technology.
Chapter 2




in chapter 2, they develop WebFinger, a technology for discovering information about email
addresses.
Chapter 2




in chapter 2, they develop WebFinger, a technology for discovering information about email
addresses.
Chapter 3




And finally, in Chapter 3 they introduce Activity Streams, Salmon, and PubSubHubbub

...which make it possibl...
Chapter 3




And finally, in Chapter 3 they introduce Activity Streams, Salmon, and PubSubHubbub

...which make it possibl...
The Open & Social Web




these three chapters are the start of the story of the open and social web.

and so we begin...
Chapter 1:
The Trouble with Travel
Once upon a time...




Once upon a time...
“Kate”




there was a character named Kate.
“Jack”




...and a character named Jack.
Jack lived on this island.

Kate lived on this island.
Jack lived on this island.

Kate lived on this island.
One day, they decided to go for a vacation...
One day, they decided to go for a vacation...
Credit: xkcd - xkcd.com/256




traveling from one island to another...
Credit: xkcd - xkcd.com/256




traveling from one island to another...
...To the big island.

As it turned out, Kate and Jack met. And they liked each other. And then... [CLICK]
...To the big island.

As it turned out, Kate and Jack met. And they liked each other. And then... [CLICK]
...To the big island.

As it turned out, Kate and Jack met. And they liked each other. And then... [CLICK]
...fell in love.
...and got married.

But on their wedding day... something missing: their families!
...and got married.

But on their wedding day... something missing: their families!
you see, when Kate and Jack left to go to the new island, they left their family and friends
behind.
you see, when Kate and Jack left to go to the new island, they left their family and friends
behind.
As it happened, visiting other islands had become a hassle.

Immigration was a real pain in the butt, and having to fill ou...
As it happened, visiting other islands had become a hassle.

Immigration was a real pain in the butt, and having to fill ou...
...really turned people off from traveling.

Especially when EVERY island wanted you to register with them!

You could no ...
...really turned people off from traveling.

Especially when EVERY island wanted you to register with them!

You could no ...
...really turned people off from traveling.

Especially when EVERY island wanted you to register with them!

You could no ...
Worse still, every island forced people to learn a secret chant that they had to recite every
time they came back to the i...
@!j
                      &4K
                      m$2




Worse still, every island forced people to learn a secret chan...
@!j
                      &4K
                      m$2




Worse still, every island forced people to learn a secret chan...
$%&"'
                                           ()*+!




                                    !"#
                       ...
it was simply too much and over time, people just melted down from the stress of having to
manage all these secrete chants!

some resourceful islanders got together and decided to solve this problem once and for all...
some resourceful islanders got together and decided to solve this problem once and for all...
Photo by Teresa Stanton



OpenID is like a personal skeleton key for all your web accounts.

By using an account that you...
Unique OpenID Relying Parties
     As of July 1, 2009




 Data from Janrain



So as we’ve seen an explosion in the numbe...
Unique OpenID Relying Parties
     As of July 1, 2009


                 50,000

                 40,000

                ...
Unique OpenID Relying Parties
     As of July 1, 2009


                 50,000

                 40,000

                ...
OpenID usage trends
    OpenID Providers on UserVoice




        34%                                                   33...
OpenID usage trends
    OpenID Providers on Interscope Records

                               8%



               12%


...
OpenID usage trends
     OpenID Providers on sulit.com.ph

                                               10%

           ...
OpenID usage trends
    Sign in preferences across all Janrain properties


                                       23.5%

...
http://openid.net




to learn more about openid, visit openid.net
And so the innovation of the village geeks were essentially to allow people of all island
nationalities to visit with one ...
by creating a system of interoperable identity and passport providers
...which made everyone very happy.
So back with the islands, people were able to travel and visit each other just fine, but a new
problem emerged with people ...
Chapter 2:
  Staying connected




So back with the islands, people were able to travel and visit each other just fine, but...
“Kate”




You remember Kate?

Well [CLICK], this is where she comes from.
“Kate”




You remember Kate?

Well [CLICK], this is where she comes from.
“Jack”




And Jack?

[CLICK] He came from this island.
“Jack”




And Jack?

[CLICK] He came from this island.
Before Jack and Kate left to go live at the new island, their family and friends could just send
messages to “Kate” or cal...
?                                                                       ?




Before Jack and Kate left to go live at the ...
As it happened, the open web technologists got together and decided to solve this problem
once and for all...
As it happened, the open web technologists got together and decided to solve this problem
once and for all...
WebFinger




...using a technology called “WebFinger”
The Hammer Stack
   Discovery for the open web




WebFinger relies on an emerging set of technologies and formats that to...
How WebFinger works




                        Enter email:   Email             Lookup




Let’s walk through WebFinger w...
How WebFinger works




                        Enter email:   chris.messina@gmail.com   Lookup




Let’s walk through Web...
How WebFinger works




                        Enter email:   chris.messina@gmail.com   Lookup




Let’s walk through Web...
How WebFinger works
   Discovering a user’s WebFinger profile




                                  chris.messina@gmail.co...
How WebFinger works
   Discovering a user’s WebFinger profile




                                  chris.messina@gmail.co...
How WebFinger works
   Discovering a user’s WebFinger profile




                                  chris.messina@gmail.co...
How WebFinger works
Use host meta to retrieve an LRDD document




            $curl http://gmail.com/.well-known/host-meta
How WebFinger works
Use host meta to retrieve an LRDD document




            $curl http://gmail.com/.well-known/host-meta
How WebFinger works
Use host meta to retrieve an LRDD document




            $curl http://gmail.com/.well-known/host-meta
How WebFinger works
Server returns LRDD document




   <?xml version='1.0' encoding='UTF-8'?>
   <XRD xmlns='http://docs....
How WebFinger works
Server returns LRDD document




   <?xml version='1.0' encoding='UTF-8'?>
   <XRD xmlns='http://docs....
How WebFinger works
   Plugin acct: into URI Template




                            http://www.google.com/s2/webfinger/?...
How WebFinger works
   Plugin acct: into URI Template




                                   chris.messina@gmail.com



  ...
How WebFinger works
   Plugin acct: into URI Template




                                acct:chris.messina@gmail.com



...
How WebFinger works
   Plugin acct: into URI Template




            http://www.google.com/s2/webfinger/?q={uri}
        ...
How WebFinger works
   Plugin acct: into URI Template




            http://www.google.com/s2/webfinger/?q={uri}
        ...
How WebFinger works
Retrieve WebFinger document




   $curl http://www.google.com/s2/webfinger/?q=acct:chris.messina@gmai...
How WebFinger works
Retrieve WebFinger document




   $curl http://www.google.com/s2/webfinger/?q=acct:chris.messina@gmai...
How WebFinger works
Retrieve WebFinger document




   $curl http://www.google.com/s2/webfinger/?q=acct:chris.messina@gmai...
How WebFinger works
   XRD Profile
   <?xml version='1.0'?>
   <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
   ...
How WebFinger works
   XRD Profile
   <?xml version='1.0'?>
   <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
   ...
and so now if you wanted to do something like OpenID...
How WebFinger works
   XRD Profile
   <?xml version='1.0'?>
   <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
   ...
How WebFinger works
   XRD Profile
   <?xml version='1.0'?>
   <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
   ...
Putting it together
   Making OpenID easier using an email address




                          Enter email:   Email     ...
Putting it together
   Making OpenID easier using an email address




                          Enter email:   Email     ...
Putting it together
   Making OpenID easier using an email address




                          Enter email:   chris.mess...
Putting it together
   Making OpenID easier using an email address




                          Enter email:   chris.mess...
and if I’m already logged in, I’ll be taken to a page like this, where I can click on button to
sign in.
Putting it together
Making OpenID easier using an email address




                  Signed in as: Chris Messina

       ...
Putting it together
Making OpenID easier using an email address




                  Signed in as: Chris Messina

       ...
http://webfinger.info




to learn more about webfinger, visit webfinger.info
and so the geeks had created a kind of “forwarding address” or “service discovery protocol”
for the islanders...
and so the geeks had created a kind of “forwarding address” or “service discovery protocol”
for the islanders...
and the people were happy once again.
Which brings us to the third part of our story... keeping in touch and sharing.
Chapter 3:
  Keeping in touch
  and sharing




Which brings us to the third part of our story... keeping in touch and sha...
so one other problem that islanders encountered was the slow delivery of correspondence.

essentially they had to keep che...
so one other problem that islanders encountered was the slow delivery of correspondence.

essentially they had to keep che...
so one other problem that islanders encountered was the slow delivery of correspondence.

essentially they had to keep che...
meanwhile, people also started capturing richer and richer content.
and tracking all of their activities in order to keep their friends and family up to date.
but sharing richer and richer media meant a need for more efficient and faster ways of
sending this content around.
,          Kate
                                 d r Kate                      nd
                                        ...
some resourceful islanders got together and decided to solve this problem once and for all
with a series of technologies...
some resourceful islanders got together and decided to solve this problem once and for all
with a series of technologies...
PubSubHubbub




the first technology is called pubsubhubbub
Rather than having to constantly check to see if there were new messages, now Kate could
just sit back and relax. Whenever...
Rather than having to constantly check to see if there were new messages, now Kate could
just sit back and relax. Whenever...
hms hubbub
Rather than having to constantly check to see if there were new messages, now Kate could
just sit back and rela...
hms hubbub
Hubs stand in the middle and deliver content to the subscribers in real time.
(Slowed down 1000x)




                                      hms hubbub
Hubs stand in the middle and deliver content to t...
ActivityStreams




let’s start with ActivityStreams.
1999




This story starts back in 1999 when a format called RSS was introduced by Netscape as a
content-gathering mechani...
so, you’d have someone like the NYTimes wanting to grow their online audience...
...and they’d use RSS to get their content into the Netscape portal.
Copyright 2000 ZWave, LLC




...and they’d use RSS to get their content into the Netscape portal.
RSS
    <?xml version="1.0" encoding="utf-8"?>
    <rss version="2.0">

      <channel>
        <item>
             <title...
RSS




                    title + link + description




the only mandatory fields in RSS are title, link, and descriptio...
2005




this in 2005, a group of people got together to create a “better specified” syndication format
called Atom.
Atom
   <?xml version="1.0" encoding="utf-8"?>
   <feed xmlns="http://www.w3.org/2005/Atom">
     <entry>
         <title>...
Atom




                      title + link + summary +
                       author + id + updated




so, in five years,...
even still, this format was really still designed for the case of syndicating ARTICLES into
PORTALS.
Copyright 2000 ZWave, LLC



even still, this format was really still designed for the case of syndicating ARTICLES into
P...
2010
so, you take an article like this, turn it into RSS or ATOM...
so, you take an article like this, turn it into RSS or ATOM...
and the most interesting thing the browser can do for you is turn this rich and well designed
page into something like thi...
and the most interesting thing the browser can do for you is turn this rich and well designed
page into something like thi...
and yet we know that people are performing more and more activities online.

and yet, regardless of its type, sites only p...
so no matter what, to sites like Friendfeed, Facebook, or Google Buzz, all these activities all
look the same.
icons by Fast Icon



so how do you differentiate all these different feeds when you only have one basic format?
This is where ActivityStreams comes in.
author title link




In contrast to the basic model of RSS and ATOM...
actor verb object target




the ActivityStreams model presents an “actor verb object” tuple, with an “target” parameter
Atom
    <?xml version="1.0" encoding="utf-8"?>
    <feed xmlns="http://www.w3.org/2005/Atom">
      <entry>

          <t...
Atom




                      title + link + summary +
                       author + id + updated




(remember that th...
Atom+ActivityStreams




                    title + link + summary +
                      author + id + updated
        ...
Atom+ActivityStreams
   <?xml version="1.0" encoding="utf-8"?>
   <feed xmlns="http://www.w3.org/2005/Atom" xmlns:activity...
Atom+ActivityStreams
    <?xml version="1.0" encoding="utf-8"?>
    <feed xmlns="http://www.w3.org/2005/Atom" xmlns:activi...
Atom+ActivityStreams
    <?xml version="1.0" encoding="utf-8"?>
    <feed xmlns="http://www.w3.org/2005/Atom" xmlns:activi...
person   post    note




as the most basic example, we’re essentially telling the aggregator that a person posted a
note.
person     shared    link




but this model works for someone sharing a link...
person     started following   person




or someone following someone else...
service   updated   status




or if a service updates its status.
so before activity streams, all of this syndicated data was treated the same and lead to
overload!
so before activity streams, all of this syndicated data was treated the same and lead to
overload!
so before activity streams, all of this syndicated data was treated the same and lead to
overload!
icons by Fast Icon




but now, with activity streams and relevancy filters, the most relevant, useful data streams to
you ...
icons by Fast Icon




but now, with activity streams and relevancy filters, the most relevant, useful data streams to
you ...
Salmon


So what happens when you get that nugget of information that begs to be responded to?

If you’re on the same isla...
Just as before, when you receive content, you want to respond to it. Salmon is one emerging,
secure mechanism to push comm...
Just as before, when you receive content, you want to respond to it. Salmon is one emerging,
secure mechanism to push comm...
4   !"#$%&'
                                                                      3'#$*!"#$%&'
                           ...
4   !"#$%&'
               3'#$*!"#$%&'
                               (&)*+,%#-.
                                /01/2
  ...
We can also use the same mechanism to notify people when they are mentioned in posts.

Think of salmon mentions as evolved...
4   !"#$%&'
                                                                   3'#$*!"#$%&'
                              ...
4   !"#$%&'
              3'#$*!"#$%&'
                              (&)*+,%#-.
                               /01/2
     ...
4   !"#$%&'
              3'#$*!"#$%&'
                              (&)*+,%#-.
                               /01/2
     ...
2"+3"#$*
                                                  !"#$@%&"''(%
                    2"4+)56+&#7
                  ...
http://j.mp/pubsubhubbub
                        http://activitystrea.ms
                      http://salmon-protocol.org
...
And so now we’ve put together three very exciting technologies and once again...
And so now we’ve put together three very exciting technologies and once again...
everyone was happy and partied all night long.
...happily ever after




and everyone lived happily ever after...
Epic-logue
Chapter 1




We first learned about how the problem of inter-island identity was solved with OpenID...
Chapter 1




We first learned about how the problem of inter-island identity was solved with OpenID...
Chapter 2




then we learned about how WebFinger could act as a kind of forwarding service to make it
possible for people...
Chapter 3




Finally we learned about Activity Streams, Salmon, and PubSubHubbub which make it possible
to share rich act...
Chapter 3




Finally we learned about Activity Streams, Salmon, and PubSubHubbub which make it possible
to share rich act...
Google and the Social Web




so let’s tie this back to Google and the Social Web.
Credit: xkcd - xkcd.com/256




At Google, we see the entire web as one big social environment, bridged by a number of
ope...
Though they are still emerging and involving, Google is proud to support OpenID, WebFinger,
OAuth, ActivityStreams, PubSub...
Though they are still emerging and involving, Google is proud to support OpenID, WebFinger,
OAuth, ActivityStreams, PubSub...
And so that brings me to Google Buzz, Google’s latest entry into the social scene.

As it turns out, all the technologies ...
“ The idea is that someday, any host on
    the web should be able to implement
    these open protocols ... without
    a...
“ Google Buzz will be just another node
    (a very good node, I hope)
    among many peers.”



   DeWitt Clinton, Google...
Image from the Opte Project


...and on the other to promote the adoption and development of technologies that expand
the ...
</body>




And with that... I’d like to conclude.

And thank you for your attention.
</body>




And with that... I’d like to conclude.

And thank you for your attention.
</body>




And with that... I’d like to conclude.

And thank you for your attention.
Don’t forget to checkout out the
                               Google Wave discussion:
                               htt...
What's the hubbub about Google Buzz APIs?
      Chris Chabot, Marco Kaiser (Seesmic), Ming Yong (Socialwok)
              ...
Bridging the Islands:
                Building fluid social experiences across websites
                          Joseph S...
Fireside chat with the Social Web team
                  David Glazer, DeWitt Clinton, John Panzer,
                 Josep...
Answers & Questions




Now I should have time for questions...

And PLEASE COME UP TO THE MICS — and remember, a question...
The Open and Social Web
The Open and Social Web
The Open and Social Web
The Open and Social Web
The Open and Social Web
The Open and Social Web
The Open and Social Web
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
Jay Cross, Aprendizado informal
Next

of

YouTube videos are no longer supported on SlideShare

View original on YouTube

The Open and Social Web Slide 2 The Open and Social Web Slide 3 The Open and Social Web Slide 4 The Open and Social Web Slide 5 The Open and Social Web Slide 6 The Open and Social Web Slide 7 The Open and Social Web Slide 8 The Open and Social Web Slide 9 The Open and Social Web Slide 10 The Open and Social Web Slide 11 The Open and Social Web Slide 12 The Open and Social Web Slide 13 The Open and Social Web Slide 14 The Open and Social Web Slide 15 The Open and Social Web Slide 16 The Open and Social Web Slide 17 The Open and Social Web Slide 18 The Open and Social Web Slide 19 The Open and Social Web Slide 20 The Open and Social Web Slide 21 The Open and Social Web Slide 22 The Open and Social Web Slide 23 The Open and Social Web Slide 24 The Open and Social Web Slide 25 The Open and Social Web Slide 26 The Open and Social Web Slide 27 The Open and Social Web Slide 28 The Open and Social Web Slide 29 The Open and Social Web Slide 30 The Open and Social Web Slide 31 The Open and Social Web Slide 32 The Open and Social Web Slide 33 The Open and Social Web Slide 34 The Open and Social Web Slide 35 The Open and Social Web Slide 36 The Open and Social Web Slide 37 The Open and Social Web Slide 38 The Open and Social Web Slide 39 The Open and Social Web Slide 40 The Open and Social Web Slide 41 The Open and Social Web Slide 42 The Open and Social Web Slide 43 The Open and Social Web Slide 44 The Open and Social Web Slide 45 The Open and Social Web Slide 46 The Open and Social Web Slide 47 The Open and Social Web Slide 48 The Open and Social Web Slide 49 The Open and Social Web Slide 50 The Open and Social Web Slide 51 The Open and Social Web Slide 52 The Open and Social Web Slide 53 The Open and Social Web Slide 54 The Open and Social Web Slide 55 The Open and Social Web Slide 56 The Open and Social Web Slide 57 The Open and Social Web Slide 58 The Open and Social Web Slide 59 The Open and Social Web Slide 60 The Open and Social Web Slide 61 The Open and Social Web Slide 62 The Open and Social Web Slide 63 The Open and Social Web Slide 64 The Open and Social Web Slide 65 The Open and Social Web Slide 66 The Open and Social Web Slide 67 The Open and Social Web Slide 68 The Open and Social Web Slide 69 The Open and Social Web Slide 70 The Open and Social Web Slide 71 The Open and Social Web Slide 72 The Open and Social Web Slide 73 The Open and Social Web Slide 74 The Open and Social Web Slide 75 The Open and Social Web Slide 76 The Open and Social Web Slide 77 The Open and Social Web Slide 78 The Open and Social Web Slide 79 The Open and Social Web Slide 80 The Open and Social Web Slide 81 The Open and Social Web Slide 82 The Open and Social Web Slide 83 The Open and Social Web Slide 84 The Open and Social Web Slide 85 The Open and Social Web Slide 86 The Open and Social Web Slide 87 The Open and Social Web Slide 88 The Open and Social Web Slide 89 The Open and Social Web Slide 90 The Open and Social Web Slide 91 The Open and Social Web Slide 92 The Open and Social Web Slide 93 The Open and Social Web Slide 94 The Open and Social Web Slide 95 The Open and Social Web Slide 96 The Open and Social Web Slide 97 The Open and Social Web Slide 98 The Open and Social Web Slide 99 The Open and Social Web Slide 100 The Open and Social Web Slide 101 The Open and Social Web Slide 102 The Open and Social Web Slide 103 The Open and Social Web Slide 104 The Open and Social Web Slide 105 The Open and Social Web Slide 106 The Open and Social Web Slide 107 The Open and Social Web Slide 108 The Open and Social Web Slide 109 The Open and Social Web Slide 110 The Open and Social Web Slide 111 The Open and Social Web Slide 112 The Open and Social Web Slide 113 The Open and Social Web Slide 114 The Open and Social Web Slide 115 The Open and Social Web Slide 116 The Open and Social Web Slide 117 The Open and Social Web Slide 118 The Open and Social Web Slide 119 The Open and Social Web Slide 120 The Open and Social Web Slide 121 The Open and Social Web Slide 122 The Open and Social Web Slide 123 The Open and Social Web Slide 124 The Open and Social Web Slide 125 The Open and Social Web Slide 126 The Open and Social Web Slide 127 The Open and Social Web Slide 128 The Open and Social Web Slide 129 The Open and Social Web Slide 130 The Open and Social Web Slide 131 The Open and Social Web Slide 132 The Open and Social Web Slide 133 The Open and Social Web Slide 134 The Open and Social Web Slide 135 The Open and Social Web Slide 136 The Open and Social Web Slide 137 The Open and Social Web Slide 138 The Open and Social Web Slide 139 The Open and Social Web Slide 140 The Open and Social Web Slide 141 The Open and Social Web Slide 142 The Open and Social Web Slide 143 The Open and Social Web Slide 144 The Open and Social Web Slide 145 The Open and Social Web Slide 146 The Open and Social Web Slide 147 The Open and Social Web Slide 148 The Open and Social Web Slide 149 The Open and Social Web Slide 150 The Open and Social Web Slide 151 The Open and Social Web Slide 152 The Open and Social Web Slide 153 The Open and Social Web Slide 154 The Open and Social Web Slide 155 The Open and Social Web Slide 156 The Open and Social Web Slide 157 The Open and Social Web Slide 158 The Open and Social Web Slide 159 The Open and Social Web Slide 160 The Open and Social Web Slide 161 The Open and Social Web Slide 162 The Open and Social Web Slide 163 The Open and Social Web Slide 164 The Open and Social Web Slide 165 The Open and Social Web Slide 166 The Open and Social Web Slide 167 The Open and Social Web Slide 168 The Open and Social Web Slide 169 The Open and Social Web Slide 170 The Open and Social Web Slide 171 The Open and Social Web Slide 172 The Open and Social Web Slide 173 The Open and Social Web Slide 174 The Open and Social Web Slide 175 The Open and Social Web Slide 176 The Open and Social Web Slide 177 The Open and Social Web Slide 178 The Open and Social Web Slide 179 The Open and Social Web Slide 180 The Open and Social Web Slide 181 The Open and Social Web Slide 182 The Open and Social Web Slide 183 The Open and Social Web Slide 184 The Open and Social Web Slide 185 The Open and Social Web Slide 186 The Open and Social Web Slide 187 The Open and Social Web Slide 188 The Open and Social Web Slide 189 The Open and Social Web Slide 190 The Open and Social Web Slide 191 The Open and Social Web Slide 192 The Open and Social Web Slide 193 The Open and Social Web Slide 194 The Open and Social Web Slide 195 The Open and Social Web Slide 196 The Open and Social Web Slide 197 The Open and Social Web Slide 198 The Open and Social Web Slide 199 The Open and Social Web Slide 200 The Open and Social Web Slide 201 The Open and Social Web Slide 202 The Open and Social Web Slide 203 The Open and Social Web Slide 204 The Open and Social Web Slide 205 The Open and Social Web Slide 206 The Open and Social Web Slide 207 The Open and Social Web Slide 208 The Open and Social Web Slide 209 The Open and Social Web Slide 210 The Open and Social Web Slide 211 The Open and Social Web Slide 212
Upcoming SlideShare
Jay Cross, Aprendizado informal
Next
Download to read offline and view in fullscreen.

Share

The Open and Social Web

Download to read offline

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

The Open and Social Web

  1. 1. The open & social web Social Web - Chris Messina This session will cover the latest and most important trends of the Social Web and dive deep into where this is all going, at both technical and conceptual levels. From the concepts of digital identity, relationships, and social objects, this session will cover emerging technologies like WebFinger, Salmon, ActivityStrea.ms, OpenID, OAuth and OpenSocial. Session type: 101 Attendee requirements: A web developer background and an interest in the social web. Tags: ActivityStrea.ms, Salmon, WebFinger, PubSubHubbub, PortableContacts, OpenID, OAuth, OpenSocial Hashtag: #googlesocial
  2. 2. The Open & Social Web Chris Messina May 19 Today I’m going to talk to you about Google and the Social web [CLICK] but really this is more about the social web.
  3. 3. <head> Before we get started, a few things.
  4. 4. <head> Before we get started, a few things.
  5. 5. @chris.messina buzz.google.com/chrismessina @chrismessina #io #googlesocial Before we begin, : chris.messina on Buzz; chrismessina on Twitter. The hashtag is #googlesocial
  6. 6. View live notes and ask questions about this session on Google Wave: http://j.mp/io-googlesocial Before I begin I’d like to invite you to view live notes and ask questions about this session on Google Wave at j.mp/io-googlesocial one more thing.
  7. 7. SURGEON GENERAL’S WARNING: THIS PRESENTATION IS LITE ON CODE Photo by Bob B. Brown - http://flic.kr/p/7g21oL THIS PRESENTATION IS LITE ON CODE. If you were expecting code... [CLICK]
  8. 8. Bridging the Islands: Building fluid social experiences across websites Joseph Smarr & John Panzer 3:00pm - 4:00pm in Room 9 I suggest you check out “Bridging the Islands” presented by Joseph Smarr and John Panzer this afternoon from 3:00pm to 4:00pm in Room 9. Now, I did want to make this experience less excruciating if you INSIST on seeing code... here’s a little moment of zen for you... ready? [CLICK]
  9. 9. [Pause for 5 seconds]
  10. 10. [Pause for 5 seconds]
  11. 11. </head> Ok, I hope that will hold you over. [CLICK] Let’s get into the meat of the talk... starting with a PROLOGUE to give you a sense for what I’m going to talk about today.
  12. 12. <body> Ok, I hope that will hold you over. [CLICK] Let’s get into the meat of the talk... starting with a PROLOGUE to give you a sense for what I’m going to talk about today.
  13. 13. Prologue Ok, I hope that will hold you over. [CLICK] Let’s get into the meat of the talk... starting with a PROLOGUE to give you a sense for what I’m going to talk about today.
  14. 14. First, these are two characters that you’re going to get to know over the course of this story. these are “open web technologists” they play an important role throughout our story... [CLICK]
  15. 15. “Open Web Technologists” First, these are two characters that you’re going to get to know over the course of this story. these are “open web technologists” they play an important role throughout our story... [CLICK]
  16. 16. Chapter 1 for example, in chapter 1, they introduce OpenID, a decentralized identity technology.
  17. 17. Chapter 1 for example, in chapter 1, they introduce OpenID, a decentralized identity technology.
  18. 18. Chapter 2 in chapter 2, they develop WebFinger, a technology for discovering information about email addresses.
  19. 19. Chapter 2 in chapter 2, they develop WebFinger, a technology for discovering information about email addresses.
  20. 20. Chapter 3 And finally, 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 fidelity.
  21. 21. Chapter 3 And finally, 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 fidelity.
  22. 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. 23. Chapter 1: The Trouble with Travel
  24. 24. Once upon a time... Once upon a time...
  25. 25. “Kate” there was a character named Kate.
  26. 26. “Jack” ...and a character named Jack.
  27. 27. Jack lived on this island. Kate lived on this island.
  28. 28. Jack lived on this island. Kate lived on this island.
  29. 29. One day, they decided to go for a vacation...
  30. 30. One day, they decided to go for a vacation...
  31. 31. Credit: xkcd - xkcd.com/256 traveling from one island to another...
  32. 32. Credit: xkcd - xkcd.com/256 traveling from one island to another...
  33. 33. ...To the big island. As it turned out, Kate and Jack met. And they liked each other. And then... [CLICK]
  34. 34. ...To the big island. As it turned out, Kate and Jack met. And they liked each other. And then... [CLICK]
  35. 35. ...To the big island. As it turned out, Kate and Jack met. And they liked each other. And then... [CLICK]
  36. 36. ...fell in love.
  37. 37. ...and got married. But on their wedding day... something missing: their families!
  38. 38. ...and got married. But on their wedding day... something missing: their families!
  39. 39. you see, when Kate and Jack left to go to the new island, they left their family and friends behind.
  40. 40. you see, when Kate and Jack left to go to the new island, they left their family and friends behind.
  41. 41. As it happened, visiting other islands had become a hassle. Immigration was a real pain in the butt, and having to fill out forms like these [CLICK]
  42. 42. As it happened, visiting other islands had become a hassle. Immigration was a real pain in the butt, and having to fill out forms like these [CLICK]
  43. 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. 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. 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. 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. 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. 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. 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. 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. 51.
  52. 52. some resourceful islanders got together and decided to solve this problem once and for all...
  53. 53. some resourceful islanders got together and decided to solve this problem once and for all...
  54. 54. Photo by Teresa Stanton OpenID 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. 55. Unique OpenID Relying Parties As of July 1, 2009 Data from Janrain So as we’ve seen an explosion in the number of OpenID relying parties in the last five years — users are carefully considering which account they want to use to sign in.
  56. 56. Unique OpenID Relying Parties As of July 1, 2009 50,000 40,000 30,000 20,000 10,000 0 5 06 06 06 6 07 07 07 7 08 08 08 8 09 09 /0 /0 /0 /0 1/ 4/ 7/ 1/ 4/ 7/ 1/ 4/ 7/ 1/ 7/ 10 10 10 Data from Janrain 10 So as we’ve seen an explosion in the number of OpenID relying parties in the last five years — users are carefully considering which account they want to use to sign in.
  57. 57. Unique OpenID Relying Parties As of July 1, 2009 50,000 40,000 30,000 20,000 10,000 0 5 06 06 06 6 07 07 07 7 08 08 08 8 09 09 /0 /0 /0 /0 1/ 4/ 7/ 1/ 4/ 7/ 1/ 4/ 7/ 1/ 7/ 10 10 10 Data from Janrain 10 So as we’ve seen an explosion in the number of OpenID relying parties in the last five years — users are carefully considering which account they want to use to sign in.
  58. 58. OpenID usage trends OpenID Providers on UserVoice 34% 33% 10% 15% 8% Google Facebook Yahoo! Other Twitter Data from Janrain, May 2010 I 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. 59. OpenID usage trends OpenID Providers on Interscope Records 8% 12% 12% 52% 6% 10% Google Facebook Yahoo! Other Twitter MySpace Data from Janrain, May 2010 ...and on each site, people use different identity providers depending on the context. Google 12% Facebook 43% MySpace 24%
  60. 60. OpenID usage trends OpenID Providers on sulit.com.ph 10% 24% 1% 64% Google Facebook Yahoo! Other Chart from Janrain, January 2009 Especially when you’re thinking about an international audience, everything changes. Yahoo - 64% Google - 24% Facebook - 10%
  61. 61. OpenID usage trends Sign in preferences across all Janrain properties 23.5% Google 38.8% Facebook Yahoo! Other (MySpace, Windows Live, AOL, etc) 13.0% Twitter 5.8% 18.9% Data from Janrain, May 2010 And 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. 62. http://openid.net to learn more about openid, visit openid.net
  63. 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. 64. by creating a system of interoperable identity and passport providers
  65. 65. ...which made everyone very happy.
  66. 66. So back with the islands, people were able to travel and visit each other just fine, but a new problem emerged with people finding homes on new islands.
  67. 67. Chapter 2: Staying connected So back with the islands, people were able to travel and visit each other just fine, but a new problem emerged with people finding homes on new islands.
  68. 68. “Kate” You remember Kate? Well [CLICK], this is where she comes from.
  69. 69. “Kate” You remember Kate? Well [CLICK], this is where she comes from.
  70. 70. “Jack” And Jack? [CLICK] He came from this island.
  71. 71. “Jack” And Jack? [CLICK] He came from this island.
  72. 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. 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. 74. As it happened, the open web technologists got together and decided to solve this problem once and for all...
  75. 75. As it happened, the open web technologists got together and decided to solve this problem once and for all...
  76. 76. WebFinger ...using a technology called “WebFinger”
  77. 77. The Hammer Stack Discovery for the open web WebFinger relies on an emerging set of technologies and formats that together we call “The Hammer Stack”
  78. 78. How WebFinger works Enter email: Email Lookup Let’s walk through WebFinger works in practice. So I’ll type my email in here and click LOOKUP [CLICK]
  79. 79. How WebFinger works Enter email: chris.messina@gmail.com Lookup Let’s walk through WebFinger works in practice. So I’ll type my email in here and click LOOKUP [CLICK]
  80. 80. How WebFinger works Enter email: chris.messina@gmail.com Lookup Let’s walk through WebFinger works in practice. So I’ll type my email in here and click LOOKUP [CLICK]
  81. 81. How WebFinger works Discovering a user’s WebFinger profile chris.messina@gmail.com We take the email I’ve supplied, split it at the @ symbol, and use grab the domain’s host- meta to discover the user’s WebFinger endpoint.
  82. 82. How WebFinger works Discovering a user’s WebFinger profile chris.messina@gmail.com { domain We take the email I’ve supplied, split it at the @ symbol, and use grab the domain’s host- meta to discover the user’s WebFinger endpoint.
  83. 83. How WebFinger works Discovering a user’s WebFinger profile chris.messina@gmail.com { domain We take the email I’ve supplied, split it at the @ symbol, and use grab the domain’s host- meta to discover the user’s WebFinger endpoint.
  84. 84. How WebFinger works Use host meta to retrieve an LRDD document $curl http://gmail.com/.well-known/host-meta
  85. 85. How WebFinger works Use host meta to retrieve an LRDD document $curl http://gmail.com/.well-known/host-meta
  86. 86. How WebFinger works Use host meta to retrieve an LRDD document $curl http://gmail.com/.well-known/host-meta
  87. 87. How WebFinger works Server returns LRDD document <?xml version='1.0' encoding='UTF-8'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'      xmlns:hm='http://host-meta.net/xrd/1.0'>   <hm:Host xmlns='http://host-meta.net/xrd/1.0'>gmail.com</hm:Host>   <Link rel='lrdd'         template='http://www.google.com/s2/webfinger/?q={uri}'>     <Title>Resource Descriptor</Title>   </Link> </XRD>
  88. 88. How WebFinger works Server returns LRDD document <?xml version='1.0' encoding='UTF-8'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'      xmlns:hm='http://host-meta.net/xrd/1.0'>   <hm:Host xmlns='http://host-meta.net/xrd/1.0'>gmail.com</hm:Host>   <Link rel='lrdd'         template='http://www.google.com/s2/webfinger/?q={uri}'>     <Title>Resource Descriptor</Title>   </Link> </XRD>
  89. 89. How WebFinger works Plugin acct: into URI Template http://www.google.com/s2/webfinger/?q={uri} so let’s 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 file.
  90. 90. How WebFinger works Plugin acct: into URI Template chris.messina@gmail.com http://www.google.com/s2/webfinger/?q={uri} so let’s 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 file.
  91. 91. How WebFinger works Plugin acct: into URI Template acct:chris.messina@gmail.com http://www.google.com/s2/webfinger/?q={uri} so let’s 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 file.
  92. 92. How WebFinger works Plugin acct: into URI Template http://www.google.com/s2/webfinger/?q={uri} acct:chris.messina@gmail.com so let’s 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 file.
  93. 93. How WebFinger works Plugin acct: into URI Template http://www.google.com/s2/webfinger/?q={uri} acct:chris.messina@gmail.com so let’s 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 file.
  94. 94. How WebFinger works Retrieve WebFinger document $curl http://www.google.com/s2/webfinger/?q=acct:chris.messina@gmail.com
  95. 95. How WebFinger works Retrieve WebFinger document $curl http://www.google.com/s2/webfinger/?q=acct:chris.messina@gmail.com
  96. 96. How WebFinger works Retrieve WebFinger document $curl http://www.google.com/s2/webfinger/?q=acct:chris.messina@gmail.com
  97. 97. How WebFinger works XRD Profile <?xml version='1.0'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'> <Subject>acct:chris.messina@gmail.com</Subject> <Alias>http://www.google.com/profiles/chris.messina</Alias> <Link rel='http://portablecontacts.net/spec/1.0' href='http://www-opensocial.googleusercontent.com/api/people/'/> <Link rel='http://webfinger.net/rel/profile-page' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://microformats.org/profile/hcard' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://gmpg.org/xfn/11' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://specs.openid.net/auth/2.0/provider' href='http://www.google.com/profiles/chris.messina'/> <Link rel='describedby' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='describedby' href='http://s2.googleusercontent.com/webfinger/?q=chris.messina%40gmail.com&amp;fmt=foaf' type='application/rdf+xml'/> <Link rel='http://schemas.google.com/g/2010#updates-from' href='http://buzz.googleapis.com/feeds/102034052532213921839/public/posted' type='application/atom+xml'/> </XRD> from here I can grab any service that I need.
  98. 98. How WebFinger works XRD Profile <?xml version='1.0'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'> <Subject>acct:chris.messina@gmail.com</Subject> <Alias>http://www.google.com/profiles/chris.messina</Alias> <Link rel='http://portablecontacts.net/spec/1.0' href='http://www-opensocial.googleusercontent.com/api/people/'/> <Link rel='http://webfinger.net/rel/profile-page' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://microformats.org/profile/hcard' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://gmpg.org/xfn/11' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://specs.openid.net/auth/2.0/provider' href='http://www.google.com/profiles/chris.messina'/> <Link rel='describedby' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='describedby' href='http://s2.googleusercontent.com/webfinger/?q=chris.messina%40gmail.com&amp;fmt=foaf' type='application/rdf+xml'/> <Link rel='http://schemas.google.com/g/2010#updates-from' href='http://buzz.googleapis.com/feeds/102034052532213921839/public/posted' type='application/atom+xml'/> </XRD> from here I can grab any service that I need.
  99. 99. and so now if you wanted to do something like OpenID...
  100. 100. How WebFinger works XRD Profile <?xml version='1.0'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'> <Subject>acct:chris.messina@gmail.com</Subject> <Alias>http://www.google.com/profiles/chris.messina</Alias> <Link rel='http://portablecontacts.net/spec/1.0' href='http://www-opensocial.googleusercontent.com/api/people/'/> <Link rel='http://webfinger.net/rel/profile-page' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://microformats.org/profile/hcard' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://gmpg.org/xfn/11' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://specs.openid.net/auth/2.0/provider' href='http://www.google.com/profiles/chris.messina'/> <Link rel='describedby' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='describedby' href='http://s2.googleusercontent.com/webfinger/?q=chris.messina%40gmail.com&amp;fmt=foaf' type='application/rdf+xml'/> <Link rel='http://schemas.google.com/g/2010#updates-from' href='http://buzz.googleapis.com/feeds/102034052532213921839/public/posted' type='application/atom+xml'/> </XRD> you would just take that XRD file...
  101. 101. How WebFinger works XRD Profile <?xml version='1.0'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'> <Subject>acct:chris.messina@gmail.com</Subject> <Alias>http://www.google.com/profiles/chris.messina</Alias> <Link rel='http://portablecontacts.net/spec/1.0' href='http://www-opensocial.googleusercontent.com/api/people/'/> <Link rel='http://webfinger.net/rel/profile-page' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://microformats.org/profile/hcard' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://gmpg.org/xfn/11' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://specs.openid.net/auth/2.0/provider' href='http://www.google.com/profiles/chris.messina'/> <Link rel='describedby' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='describedby' href='http://s2.googleusercontent.com/webfinger/?q=chris.messina%40gmail.com&amp;fmt=foaf' type='application/rdf+xml'/> <Link rel='http://schemas.google.com/g/2010#updates-from' href='http://buzz.googleapis.com/feeds/102034052532213921839/public/posted' type='application/atom+xml'/> </XRD> and look for the rel value that you need and the appropriate endpoint.
  102. 102. Putting it together Making OpenID easier using an email address Enter email: Email Connect Lookup So, what if we turned this lookup service into an OpenID experience? Let’s try this with an email address! I hit connect...
  103. 103. Putting it together Making OpenID easier using an email address Enter email: Email Connect So, what if we turned this lookup service into an OpenID experience? Let’s try this with an email address! I hit connect...
  104. 104. Putting it together Making OpenID easier using an email address Enter email: chris.messina@gmail.com Connect So, what if we turned this lookup service into an OpenID experience? Let’s try this with an email address! I hit connect...
  105. 105. Putting it together Making OpenID easier using an email address Enter email: chris.messina@gmail.com Connect So, what if we turned this lookup service into an OpenID experience? Let’s try this with an email address! I hit connect...
  106. 106. and if I’m already logged in, I’ll be taken to a page like this, where I can click on button to sign in.
  107. 107. Putting it together Making OpenID easier using an email address Signed in as: Chris Messina 
  108. 108. Putting it together Making OpenID easier using an email address Signed in as: Chris Messina 
  109. 109. http://webfinger.info to learn more about webfinger, visit webfinger.info
  110. 110. and so the geeks had created a kind of “forwarding address” or “service discovery protocol” for the islanders...
  111. 111. and so the geeks had created a kind of “forwarding address” or “service discovery protocol” for the islanders...
  112. 112. and the people were happy once again.
  113. 113. Which brings us to the third part of our story... keeping in touch and sharing.
  114. 114. Chapter 3: Keeping in touch and sharing Which brings us to the third part of our story... keeping in touch and sharing.
  115. 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. 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. 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. 118. meanwhile, people also started capturing richer and richer content.
  119. 119. and tracking all of their activities in order to keep their friends and family up to date.
  120. 120. but sharing richer and richer media meant a need for more efficient and faster ways of sending this content around.
  121. 121. , Kate d r Kate nd H yd Isla hn is t 01209 ! 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. 122. some resourceful islanders got together and decided to solve this problem once and for all with a series of technologies...
  123. 123. some resourceful islanders got together and decided to solve this problem once and for all with a series of technologies...
  124. 124. PubSubHubbub the first technology is called pubsubhubbub
  125. 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. 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. 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. 128. hms hubbub Hubs stand in the middle and deliver content to the subscribers in real time.
  129. 129. (Slowed down 1000x) hms hubbub Hubs stand in the middle and deliver content to the subscribers in real time.
  130. 130. ActivityStreams let’s start with ActivityStreams.
  131. 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. 132. so, you’d have someone like the NYTimes wanting to grow their online audience...
  133. 133. ...and they’d use RSS to get their content into the Netscape portal.
  134. 134. Copyright 2000 ZWave, LLC ...and they’d use RSS to get their content into the Netscape portal.
  135. 135. RSS <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <item> <title>When Will Location-Based Coupons Take Off?</title> <link>http://bits.blogs.nytimes.com/2010/03/12/when-will- location-based-mobile-coupons-take-off/</link> <pubDate>Fri, 12 Mar 2010 21:38:26 +0000</pubDate> <creator>By CLAIRE CAIN MILLER</creator> <description> People want to receive location-based cellphone coupons, but most have not, according to a Web analytics firm. </description> </item> </channel> </rss> RSS looks like this.
  136. 136. RSS title + link + description the only mandatory fields in RSS are title, link, and description — which makes it an extremely flexible format. The only problem is that aggregators have to do a lot of guesswork about what’s in it. this was complicated by the various flavors of RSS (0.9, 0.91, 0.92, 0.93, 2.0 et al)
  137. 137. 2005 this in 2005, a group of people got together to create a “better specified” syndication format called Atom.
  138. 138. Atom <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <entry> <title>When Will Location-Based Coupons Take Off?</title> <link rel=”alternate”>http://bits.blogs.nytimes.com/2010/03/12/when-will- location-based-mobile-coupons-take-off/</link> <id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id> <updated>Fri, 12 Mar 2010 21:38:26 +0000</updated> <author> <name>By CLAIRE CAIN MILLER</name> </author> <summary> People want to receive location-based cellphone coupons, but most have not, according to a Web analytics firm. </summary> </entry> </feed> here’s what ATOM looks like.
  139. 139. Atom title + link + summary + author + id + updated so, in five 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. 140. even still, this format was really still designed for the case of syndicating ARTICLES into PORTALS.
  141. 141. Copyright 2000 ZWave, LLC even still, this format was really still designed for the case of syndicating ARTICLES into PORTALS.
  142. 142. 2010
  143. 143. so, you take an article like this, turn it into RSS or ATOM...
  144. 144. so, you take an article like this, turn it into RSS or ATOM...
  145. 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. 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. 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. 148. so no matter what, to sites like Friendfeed, Facebook, or Google Buzz, all these activities all look the same.
  149. 149. icons by Fast Icon so how do you differentiate all these different feeds when you only have one basic format?
  150. 150. This is where ActivityStreams comes in.
  151. 151. author title link In contrast to the basic model of RSS and ATOM...
  152. 152. actor verb object target the ActivityStreams model presents an “actor verb object” tuple, with an “target” parameter
  153. 153. Atom <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <entry> <title>...</title> <link rel=”alternate”>...</link> <id>...</id> <updated>...</updated> <author> <name>...</name> </author> <summary> ... </summary> </entry> </feed> so let’s take a typical Atom entry template...
  154. 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. 155. Atom+ActivityStreams title + link + summary + author + id + updated + verb + object-type + target and let’s layer in verb, object-type, and target — reusing “author” for the actor element...
  156. 156. Atom+ActivityStreams <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:activity="http://activitystrea.ms/spec/1.0/">   <entry>       <title>...</title>       <link rel=”alternate”>...</link>       <id>...</id>       <updated>...</updated>       <author>         <activity:object-type>person</activity:object-type>         <name>...</name>       </author>       <activity:verb>post</activity:verb>       <activity:object>         <activity:object-type>note</activity:object-type>         <content type=”html”>           ...         </content>       </activity:object>   </entry> </feed> here’s what Atom+ActivityStreams looks like. Similar,
  157. 157. Atom+ActivityStreams <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:activity="http://activitystrea.ms/spec/1.0/">   <entry>       <title>...</title>       <link rel=”alternate”>...</link>       <id>...</id>       <updated>...</updated>       <author>         <activity:object-type>person</activity:object-type>         <name>...</name>       </author>       <activity:verb>post</activity:verb>       <activity:object>         <activity:object-type>note</activity:object-type>         <content type=”html”>           ...         </content>       </activity:object>   </entry> </feed> here are the new parts.
  158. 158. Atom+ActivityStreams <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:activity="http://activitystrea.ms/spec/1.0/">   <entry>       <title>...</title>       <link rel=”alternate”>...</link>       <id>...</id>       <updated>...</updated>       <author> person         <activity:object-type>person</activity:object-type>         <name>...</name>       </author> post       <activity:verb>post</activity:verb>       <activity:object> note         <activity:object-type>note</activity:object-type>         <content type=”html”>           ...         </content>       </activity:object>   </entry> </feed> so, see what this adds for the aggregator?
  159. 159. person post note as the most basic example, we’re essentially telling the aggregator that a person posted a note.
  160. 160. person shared link but this model works for someone sharing a link...
  161. 161. person started following person or someone following someone else...
  162. 162. service updated status or if a service updates its status.
  163. 163. so before activity streams, all of this syndicated data was treated the same and lead to overload!
  164. 164. so before activity streams, all of this syndicated data was treated the same and lead to overload!
  165. 165. so before activity streams, all of this syndicated data was treated the same and lead to overload!
  166. 166. icons by Fast Icon but now, with activity streams and relevancy filters, the most relevant, useful data streams to you based on the appropriate context.
  167. 167. icons by Fast Icon but now, with activity streams and relevancy filters, the most relevant, useful data streams to you based on the appropriate context.
  168. 168. Salmon So what happens when you get that nugget of information that begs to be responded to? If you’re on the same island as the sender, well, you walk right up to them... but if they’re not — and they live on another island, that’s where Salmon comes in.
  169. 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 doesn’t work in this case because it uses a one-way channel. Instead, we rely on salmon’s excellent sense of smell to navigate their way back to where they came from.
  170. 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 doesn’t work in this case because it uses a one-way channel. Instead, we rely on salmon’s excellent sense of smell to navigate their way back to where they came from.
  171. 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 doesn’t work in this case because it uses a one-way channel. Instead, we rely on salmon’s excellent sense of smell to navigate their way back to where they came from.
  172. 172. 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 doesn’t work in this case because it uses a one-way channel. Instead, we rely on salmon’s excellent sense of smell to navigate their way back to where they came from.
  173. 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. 174. 4 !"#$%&' 3'#$*!"#$%&' (&)*+,%#-. /01/2 5"#-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. 175. 4 !"#$%&' 3'#$*!"#$%&' (&)*+,%#-. /01/2 5"#-6,! —6#5' '4 !"#$%&' 3'#$*!"#$%& (&)*+,%#-. /01/2 5"#-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. 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. 177. 2"+3"#$* !"#$@%&"''(% 2"4+)56+&#7 +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. 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. 179. And so now we’ve put together three very exciting technologies and once again...
  180. 180. And so now we’ve put together three very exciting technologies and once again...
  181. 181. everyone was happy and partied all night long.
  182. 182. ...happily ever after and everyone lived happily ever after...
  183. 183. Epic-logue
  184. 184. Chapter 1 We first learned about how the problem of inter-island identity was solved with OpenID...
  185. 185. Chapter 1 We first learned about how the problem of inter-island identity was solved with OpenID...
  186. 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 benefit was to make the process of using OpenID easier.
  187. 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 fidelity.
  188. 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 fidelity.
  189. 189. Google and the Social Web so let’s tie this back to Google and the Social Web.
  190. 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. 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. 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. 193. And so that brings me to Google Buzz, Google’s 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. 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. 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. 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. 197. </body> And with that... I’d like to conclude. And thank you for your attention.
  198. 198. </body> And with that... I’d like to conclude. And thank you for your attention.
  199. 199. </body> And with that... I’d like to conclude. And thank you for your attention.
  200. 200. Don’t forget to checkout out the Google Wave discussion: http://j.mp/io-googlesocial Make sure to check out the backchannel for this talk at j.mp/io-googlesocial
  201. 201. What's the hubbub about Google Buzz APIs? Chris Chabot, Marco Kaiser (Seesmic), Ming Yong (Socialwok) 1:45pm - 2:45pm in Room 8 make sure to check out Chris Chabot’s talk called “What's the hubbub about Google Buzz APIs?” featuring Loic Le Meur and Ming Yong from 1:45pm until 2:45pm in Room 8
  202. 202. Bridging the Islands: Building fluid social experiences across websites Joseph Smarr & John Panzer 3:00pm - 4:00pm in Room 9 And, for then for the code-heavy Part II of this talk, please see “Bridging the Islands” presented by Joseph Smarr and John Panzer this afternoon from 3:00pm to 4:00pm in Room 9.
  203. 203. Fireside chat with the Social Web team David Glazer, DeWitt Clinton, John Panzer, Joseph Smarr, Sami Shalabi & Todd Jackson Tomorrow (May 20) 2:15pm - 3:15pm in Fireside Chat Room Fireside chat with the Social Web team David Glazer, DeWitt Clinton, John Panzer, Joseph Smarr, Sami Shalabi & Todd Jackson Tomorrow (May 20) 2:15pm - 3:15pm in Fireside Chat Room
  204. 204. Answers & Questions Now I should have time for questions... And PLEASE COME UP TO THE MICS — and remember, a question begins with a capital letter and ends with a question mark!
  • midmarketplace1

    Apr. 28, 2014
  • chiggsy

    Sep. 2, 2010
  • ryannj

    Jul. 20, 2010
  • bizhov

    Jun. 29, 2010
  • cifra

    Jun. 14, 2010
  • dongfeiwww

    Jun. 4, 2010
  • rinkler

    Jun. 3, 2010
  • jsalvachua

    Jun. 2, 2010
  • justinwhitaker

    Jun. 1, 2010

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

Views

Total views

4,703

On Slideshare

0

From embeds

0

Number of embeds

105

Actions

Downloads

190

Shares

0

Comments

0

Likes

9

×