Opening up theSocial WebStandards that are bridging theislandsBastian HofmannVZnet Netzwerke Ltd.
... you could not send a mail      to another provider
... you could not call yourfriends at another carrier
Back to reality
• OpenID                        • Salmon• WebFinger                     • OExchange• Well-­‐Known	  URIs          • XAuth•...
Questions? Ask!
http://slideshare.net/bashofmann
Meet Bill and Steve
Bill want‘s to comment on        Steve‘s blog
Facebook Connect250,000,000 monthly users
http://openid.net/
http://oauth.net/
http://oauth.net/
Distributed Identities with OpenID     8/19/2011 8:00am @DevExpress-G
Bill want‘s to know moreabout Steve
In the old days: Fingerbhofmann@svz-pcn-107 ~ $ finger bhofmannLogin: bhofmann                         Name: Bastian Hofma...
Now: WebFinger   http://code.google.com/p/webfinger/
http://example.com/.well-    known/host-metahttp://tools.ietf.org/html/draft-nottingham-site-meta
<?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/x...
http://example.com/describe? uri=acct:joe@example.com
<?xml version=1.0 encoding=UTF-8?><XRD xmlns=http://docs.oasis-open.org/ns/xri/xrd-1.0>     <Subject>acct:joe@example.com<...
http://portablecontacts.net/
{  "id" : "example.org:34KJDCSKJN2HHF0DW20394",  "displayName" : "Janey",  "name" : {"unstructured" : "Jane Doe"},  "gende...
DEMO
He want‘s to follow Steve‘s     status updates
PubSubHubbub            retrieves Atom feed with Hub URL              subscribes               for feed                 ac...
<link rel="alternate"href="http://status.net.xyz:8061/index.php/api/statuses/user_timeline/3.atom"type="application/atom+x...
<entry> <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> <id>http://status.net.xyz:806...
http://activitystrea.ms/
<link href="http://status.net.xyz:8061/index.php/main/push/hub" rel="hub"/>
POST: http://status.net.xyz:8061/index.php/main/push/hubhub.topic=http%3A%2F%2Ffeed.xyz%3A8061%2Findex.php%2Fapi%2Fstatuse...
GET: http://client.com/?hub.challange=fooHTTP/1.1 200 OKContent-Type: text/plainfoo
<entry> <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> <id>http://status.net.xyz:806...
DEMO
Now Bill mentions Steve to          his pal     have a look at @steve     stream
and what about  Comments?new macs will have IE9    I would‘ve chosen    Chrome
Salmonhttp://www.salmon-protocol.org/
Salmonhttp://www.salmon-protocol.org/
Salmonhttp://www.salmon-protocol.org/
DEMO
Bill is now on his favourite         Video Portal
He want‘s to share a video    with his friends ... but his favourite social network has no          sharing button at YouT...
Nascar Problem
http://xauth.org/
100% Client Technology
XAuth at Provider Login     xauth.org/xauth.js            XAuth.extend({              token: "1",              expire: new...
XAuth at Consumer Visits    xauth.org/xauth.js           XAuth.retrieve({            retrieve: [xauth.org],            cal...
But static server on central      domain needed
http://www.oexchange.org/
http://www.example.com/share.php?url={URI}&title={title for the content}&description={short description of the content}&ct...
http://example.com/.well-    known/host-metahttp://tools.ietf.org/html/draft-nottingham-site-meta
<?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...
<?xml version=1.0 encoding=UTF-8?><XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">    <Subject>http://www.example.c...
DEMO
Now there is a link in his    status update     cool video:     http://www.youtube.com/     watch?v=OFzkTxiwziQ
OEmbed         http://oembed.com/
http://www.youtube.com/watch?v=OyJd2qsRkNk
http://www.youtube.com/oembed?url=http%3A%2F       %2Fwww.youtube.com%2Fwatch%3Fv %3DOyJd2qsRkNk&maxwidth=500&format=json
{  "provider_url":"http://www.youtube.com/",  "title":"Jupiter Jones - Das Jahr in dem ich schlief (Musik Video)",  "html"...
cool video:
http://embed.ly/
Cajahttp://code.google.com/p/google-caja/
html_sanitize(‘<script>alert(“foo“);</script>‘)
DEMO
Bill is really into social games
http://www.opensocial.org/
Crossing the boundaries of web applications with OpenSocial    8/19/2011 1:00pm @Conv. Ctr-14
DEMO
Many standards available
But still much to be done• Friends and Friendships• Privacy• Access Control• What is the right identifier?• More than one p...
Many projects - one common               goalhttp://federatedsocialweb.net
And many people working on ithttp://federatedsocialweb.net
Social Web Acid Test - Level 0
hLp://twiLer.com/Bas?anHofmannhLps://profiles.google.com/bashofmannhLp://lanyrd.com/people/Bas?anHofmann/hLp://slideshare.n...
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
Upcoming SlideShare
Loading in …5
×

Opening up the Social Web - Standards that are bridging the Islands

10,154 views

Published on

This are the slides of my Federated Social Web talk from the Devlink Conference

Published in: Technology, Design
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,154
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
15
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Opening up the Social Web - Standards that are bridging the Islands

  1. 1. Opening up theSocial WebStandards that are bridging theislandsBastian HofmannVZnet Netzwerke Ltd.
  2. 2. ... you could not send a mail to another provider
  3. 3. ... you could not call yourfriends at another carrier
  4. 4. Back to reality
  5. 5. • OpenID • Salmon• WebFinger • OExchange• Well-­‐Known  URIs • XAuth• Web  Host  Meta  Data • OEmbed• XRD • OpenSocial• Portable  Contacts • SWAT0• Ac?vity  Strea.ms• PubSubHubbub
  6. 6. Questions? Ask!
  7. 7. http://slideshare.net/bashofmann
  8. 8. Meet Bill and Steve
  9. 9. Bill want‘s to comment on Steve‘s blog
  10. 10. Facebook Connect250,000,000 monthly users
  11. 11. http://openid.net/
  12. 12. http://oauth.net/
  13. 13. http://oauth.net/
  14. 14. Distributed Identities with OpenID 8/19/2011 8:00am @DevExpress-G
  15. 15. Bill want‘s to know moreabout Steve
  16. 16. In the old days: Fingerbhofmann@svz-pcn-107 ~ $ finger bhofmannLogin: bhofmann Name: Bastian HofmannDirectory: /Users/bhofmann Shell: /bin/bashOn since Di 14 Sep 21:45 (CEST) on console, idle 1:36 (messagesoff)On since Di 14 Sep 23:02 (CEST) on ttys000No Mail.No Plan.
  17. 17. Now: WebFinger http://code.google.com/p/webfinger/
  18. 18. http://example.com/.well- known/host-metahttp://tools.ietf.org/html/draft-nottingham-site-meta
  19. 19. <?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>example.com</hm:Host>     <Link rel=lrdd        template=http://example.com/describe?uri={uri}>        <Title>Resource Descriptor</Title>    </Link></XRD>  http://tools.ietf.org/html/draft-hammer-hostmeta
  20. 20. http://example.com/describe? uri=acct:joe@example.com
  21. 21. <?xml version=1.0 encoding=UTF-8?><XRD xmlns=http://docs.oasis-open.org/ns/xri/xrd-1.0>     <Subject>acct:joe@example.com</Subject>    <Alias>http://example.com/profiles/joe</Alias>     <Link rel=http://portablecontacts.net/spec/1.0          href=http://example.com/api/people/ />    <Link rel=http://webfinger.net/rel/profile-page          type=text/html          href=http://example.com/profiles/joe />    <Link rel=describedby          type=text/html          href=http://example.com/profiles/joe />    <Link rel=http://webfinger.net/rel/avatar          href=http://example.com/profiles/joe/photo /></XRD> http://docs.oasis-open.org/xri/xrd/v1.0/xrd-1.0.html
  22. 22. http://portablecontacts.net/
  23. 23. {  "id" : "example.org:34KJDCSKJN2HHF0DW20394",  "displayName" : "Janey",  "name" : {"unstructured" : "Jane Doe"},  "gender" : "female"}
  24. 24. DEMO
  25. 25. He want‘s to follow Steve‘s status updates
  26. 26. PubSubHubbub retrieves Atom feed with Hub URL subscribes for feed acks Hub subscription pings every posts sth subscriberhttp://code.google.com/p/pubsubhubbub/
  27. 27. <link rel="alternate"href="http://status.net.xyz:8061/index.php/api/statuses/user_timeline/3.atom"type="application/atom+xml" title="Notice feed for bastian(Atom)"/>
  28. 28. <entry> <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> <id>http://status.net.xyz:8061/index.php/notice/20</id> <title>hello from client</title> <content type="html">hello from client</content> <link rel="alternate" type="text/html" href="http://status.net.xyz:8061/index.php/notice/20"/> <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> <published>2011-05-23T21:07:33+00:00</published> <updated>2011-05-23T21:07:33+00:00</updated> <link rel="ostatus:conversation" href="http://status.net.xyz:8061/index.php/conversation/20"/> <georss:point>52.52437 13.41053</georss:point> <link rel="self" type="application/atom+xml"href="http://status.net.xyz:8061/index.php/api/statuses/show/20.atom"/> <link rel="edit" type="application/atom+xml"href="http://status.net.xyz:8061/index.php/api/statuses/show/20.atom"/> <statusnet:notice_info local_id="20" source="api"favorite="false"repeated="false"></statusnet:notice_info></entry>
  29. 29. http://activitystrea.ms/
  30. 30. <link href="http://status.net.xyz:8061/index.php/main/push/hub" rel="hub"/>
  31. 31. POST: http://status.net.xyz:8061/index.php/main/push/hubhub.topic=http%3A%2F%2Ffeed.xyz%3A8061%2Findex.php%2Fapi%2Fstatuses%2Fuser_timeline%2F2.atom&hub.callback=http%3A%2F%2Fclient.com%2F&hub.mode=subscribe&hub.verify=async
  32. 32. GET: http://client.com/?hub.challange=fooHTTP/1.1 200 OKContent-Type: text/plainfoo
  33. 33. <entry> <activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type> <id>http://status.net.xyz:8061/index.php/notice/20</id> <title>hello from client</title> <content type="html">hello from client</content> <link rel="alternate" type="text/html" href="http://status.net.xyz:8061/index.php/notice/20"/> <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> <published>2011-05-23T21:07:33+00:00</published> <updated>2011-05-23T21:07:33+00:00</updated> <link rel="ostatus:conversation" href="http://status.net.xyz:8061/index.php/conversation/20"/> <georss:point>52.52437 13.41053</georss:point> <link rel="self" type="application/atom+xml"href="http://status.net.xyz:8061/index.php/api/statuses/show/20.atom"/> <link rel="edit" type="application/atom+xml"href="http://status.net.xyz:8061/index.php/api/statuses/show/20.atom"/> <statusnet:notice_info local_id="20" source="api"favorite="false"repeated="false"></statusnet:notice_info></entry>
  34. 34. DEMO
  35. 35. Now Bill mentions Steve to his pal have a look at @steve stream
  36. 36. and what about Comments?new macs will have IE9 I would‘ve chosen Chrome
  37. 37. Salmonhttp://www.salmon-protocol.org/
  38. 38. Salmonhttp://www.salmon-protocol.org/
  39. 39. Salmonhttp://www.salmon-protocol.org/
  40. 40. DEMO
  41. 41. Bill is now on his favourite Video Portal
  42. 42. He want‘s to share a video with his friends ... but his favourite social network has no sharing button at YouTube
  43. 43. Nascar Problem
  44. 44. http://xauth.org/
  45. 45. 100% Client Technology
  46. 46. XAuth at Provider Login xauth.org/xauth.js XAuth.extend({ token: "1", expire: new Date().getTime() + 60*60*24*1000, extend: ["*"], });
  47. 47. XAuth at Consumer Visits xauth.org/xauth.js XAuth.retrieve({ retrieve: [xauth.org], callback: receiveTokens });
  48. 48. But static server on central domain needed
  49. 49. http://www.oexchange.org/
  50. 50. http://www.example.com/share.php?url={URI}&title={title for the content}&description={short description of the content}&ctype=flash&swfurl={SWF URI}&height={preferred SWF height}&width={preferred swfwidth}&screenshot={screenshot URI}
  51. 51. http://example.com/.well- known/host-metahttp://tools.ietf.org/html/draft-nottingham-site-meta
  52. 52. <?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>www.meinvz.net</hm:Host>    <Link       rel="http://oexchange.org/spec/0.8/rel/resident-target"       type="application/xrd+xml"       href="http://www.example.com/oexchange.xrd" >    </Link></XRD>
  53. 53. <?xml version=1.0 encoding=UTF-8?><XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">    <Subject>http://www.example.com/linkeater</Subject>    <Property       type="http://www.oexchange.org/spec/0.8/prop/vendor">        Examples Inc.</Property>    <Property       type="http://www.oexchange.org/spec/0.8/prop/title">        A Link-Accepting Service</Property>    <Link       rel= "icon" href="http://www.example.com/favicon.ico"       type="image/vnd.microsoft.icon" />    <Link       rel= "http://www.oexchange.org/spec/0.8/rel/offer"       href="http://www.example.com/linkeater/offer.php"       type="text/html" /></XRD>
  54. 54. DEMO
  55. 55. Now there is a link in his status update cool video: http://www.youtube.com/ watch?v=OFzkTxiwziQ
  56. 56. OEmbed http://oembed.com/
  57. 57. http://www.youtube.com/watch?v=OyJd2qsRkNk
  58. 58. http://www.youtube.com/oembed?url=http%3A%2F %2Fwww.youtube.com%2Fwatch%3Fv %3DOyJd2qsRkNk&maxwidth=500&format=json
  59. 59. {  "provider_url":"http://www.youtube.com/",  "title":"Jupiter Jones - Das Jahr in dem ich schlief (Musik Video)",  "html":"u003cobject width="500" height="306"u003eu003cparam name="movie" value="http://www.youtube.com/v/OyJd2qsRkNk?version=3"u003eu003c/paramu003eu003cparam name="allowFullScreen" value="true"u003eu003c/paramu003eu003cparam name="allowscriptaccess" value="always"u003eu003c/paramu003eu003cembed src="http://www.youtube.com/v/OyJd2qsRkNk?version=3" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"u003eu003c/embedu003eu003c/objectu003e",  "author_name":"St182",  "height":306,  "thumbnail_width":480,  "width":500,  "version":"1.0",  "author_url":"http://www.youtube.com/user/Stinkfist182",  "provider_name":"YouTube",  "thumbnail_url":"http://i4.ytimg.com/vi/OyJd2qsRkNk/hqdefault.jpg",  "type":"video",  "thumbnail_height":360}
  60. 60. cool video:
  61. 61. http://embed.ly/
  62. 62. Cajahttp://code.google.com/p/google-caja/
  63. 63. html_sanitize(‘<script>alert(“foo“);</script>‘)
  64. 64. DEMO
  65. 65. Bill is really into social games
  66. 66. http://www.opensocial.org/
  67. 67. Crossing the boundaries of web applications with OpenSocial 8/19/2011 1:00pm @Conv. Ctr-14
  68. 68. DEMO
  69. 69. Many standards available
  70. 70. But still much to be done• Friends and Friendships• Privacy• Access Control• What is the right identifier?• More than one provider with one E-Mail Address?• Wide adoption• Easy implementation
  71. 71. Many projects - one common goalhttp://federatedsocialweb.net
  72. 72. And many people working on ithttp://federatedsocialweb.net
  73. 73. Social Web Acid Test - Level 0
  74. 74. hLp://twiLer.com/Bas?anHofmannhLps://profiles.google.com/bashofmannhLp://lanyrd.com/people/Bas?anHofmann/hLp://slideshare.net/bashofmannmail@bas?anhofmann.de

×