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.

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

10,256 views

Published on

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

Published in: Technology, Design
  • Be the first to comment

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

×