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

87
Opening up the Social Web Standards that are bridging the islands Bastian Hofmann VZnet Netzwerke Ltd.

description

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

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

Page 1: Opening up the Social Web - Standards that are bridging the Islands

Opening up the Social WebStandards that are bridging the islands

Bastian HofmannVZnet Netzwerke Ltd.

Page 2: Opening up the Social Web - Standards that are bridging the Islands
Page 3: Opening up the Social Web - Standards that are bridging the Islands

... you could not send a mail to another provider

Page 4: Opening up the Social Web - Standards that are bridging the Islands

... you could not call your friends at another carrier

Page 5: Opening up the Social Web - Standards that are bridging the Islands

Back to reality

Page 6: Opening up the Social Web - Standards that are bridging the Islands
Page 7: Opening up the Social Web - Standards that are bridging the Islands

• OpenID• WebFinger• Well-­‐Known  URIs• Web  Host  Meta  Data• XRD• Portable  Contacts• Ac?vity  Strea.ms• PubSubHubbub

• Salmon• OExchange• XAuth• OEmbed• OpenSocial• SWAT0

Page 8: Opening up the Social Web - Standards that are bridging the Islands
Page 9: Opening up the Social Web - Standards that are bridging the Islands
Page 10: Opening up the Social Web - Standards that are bridging the Islands
Page 11: Opening up the Social Web - Standards that are bridging the Islands
Page 12: Opening up the Social Web - Standards that are bridging the Islands

Questions? Ask!

Page 14: Opening up the Social Web - Standards that are bridging the Islands

Meet Bill and Steve

Page 15: Opening up the Social Web - Standards that are bridging the Islands

Bill want‘s to comment on Steve‘s blog

Page 16: Opening up the Social Web - Standards that are bridging the Islands
Page 17: Opening up the Social Web - Standards that are bridging the Islands

Facebook Connect250,000,000 monthly users

Page 18: Opening up the Social Web - Standards that are bridging the Islands
Page 19: Opening up the Social Web - Standards that are bridging the Islands

http://openid.net/

Page 20: Opening up the Social Web - Standards that are bridging the Islands

http://oauth.net/

Page 21: Opening up the Social Web - Standards that are bridging the Islands

http://oauth.net/

Page 22: Opening up the Social Web - Standards that are bridging the Islands

Distributed Identities with OpenID

8/19/2011 8:00am @DevExpress-G

Page 23: Opening up the Social Web - Standards that are bridging the Islands

Bill want‘s to know more about Steve

Page 24: Opening up the Social Web - Standards that are bridging the Islands

In the old days: Finger

bhofmann@svz-pcn-107 ~ $ finger bhofmann

Login: bhofmann Name: Bastian HofmannDirectory: /Users/bhofmann Shell: /bin/bashOn since Di 14 Sep 21:45 (CEST) on console, idle 1:36 (messages off)On since Di 14 Sep 23:02 (CEST) on ttys000No Mail.No Plan.

Page 25: Opening up the Social Web - Standards that are bridging the Islands

Now: WebFinger

http://code.google.com/p/webfinger/

Page 27: Opening up the Social Web - Standards that are bridging the Islands

<?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

Page 29: Opening up the Social Web - Standards that are bridging the Islands

<?xml version='1.0' encoding='UTF-8'?><XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>     <Subject>acct:[email protected]</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

Page 30: Opening up the Social Web - Standards that are bridging the Islands

http://portablecontacts.net/

Page 31: Opening up the Social Web - Standards that are bridging the Islands

{  "id" : "example.org:34KJDCSKJN2HHF0DW20394",  "displayName" : "Janey",  "name" : {"unstructured" : "Jane Doe"},  "gender" : "female"}

Page 32: Opening up the Social Web - Standards that are bridging the Islands

DEMO

Page 33: Opening up the Social Web - Standards that are bridging the Islands

He want‘s to follow Steve‘s status updates

Page 34: Opening up the Social Web - Standards that are bridging the Islands

PubSubHubbubretrieves Atom feed with Hub URL

Hub

posts sthpings everysubscriber

subscribes for feed

ackssubscription

http://code.google.com/p/pubsubhubbub/

Page 36: Opening up the Social Web - Standards that are bridging the Islands

<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>

Page 37: Opening up the Social Web - Standards that are bridging the Islands

http://activitystrea.ms/

Page 39: Opening up the Social Web - Standards that are bridging the Islands

hub.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

POST: http://status.net.xyz:8061/index.php/main/push/hub

Page 40: Opening up the Social Web - Standards that are bridging the Islands

GET: http://client.com/?hub.challange=foo

HTTP/1.1 200 OKContent-Type: text/plain

foo

Page 41: Opening up the Social Web - Standards that are bridging the Islands

<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>

Page 42: Opening up the Social Web - Standards that are bridging the Islands

DEMO

Page 43: Opening up the Social Web - Standards that are bridging the Islands

Now Bill mentions Steve to his pal

have a look at @steve stream

Page 44: Opening up the Social Web - Standards that are bridging the Islands

and what about Comments?

new macs will have IE9

I would‘ve chosenChrome

Page 45: Opening up the Social Web - Standards that are bridging the Islands

Salmon

http://www.salmon-protocol.org/

Page 46: Opening up the Social Web - Standards that are bridging the Islands

Salmon

http://www.salmon-protocol.org/

Page 47: Opening up the Social Web - Standards that are bridging the Islands

Salmon

http://www.salmon-protocol.org/

Page 48: Opening up the Social Web - Standards that are bridging the Islands

DEMO

Page 49: Opening up the Social Web - Standards that are bridging the Islands

Bill is now on his favourite Video Portal

Page 50: Opening up the Social Web - Standards that are bridging the Islands

He want‘s to share a video with his friends

... but his favourite social network has no sharing button at YouTube

Page 51: Opening up the Social Web - Standards that are bridging the Islands

Nascar Problem

Page 52: Opening up the Social Web - Standards that are bridging the Islands

http://xauth.org/

Page 53: Opening up the Social Web - Standards that are bridging the Islands

100% Client Technology

Page 54: Opening up the Social Web - Standards that are bridging the Islands

XAuth at Provider

XAuth.extend({ token: "1", expire: new Date().getTime() + 60*60*24*1000, extend: ["*"], });

Login xauth.org/xauth.js

Page 55: Opening up the Social Web - Standards that are bridging the Islands

XAuth at Consumer

Visits

XAuth.retrieve({ retrieve: ['xauth.org'], callback: receiveTokens });

xauth.org/xauth.js

Page 56: Opening up the Social Web - Standards that are bridging the Islands

But static server on central domain needed

Page 57: Opening up the Social Web - Standards that are bridging the Islands

http://www.oexchange.org/

Page 58: Opening up the Social Web - Standards that are bridging the Islands

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 swf width}&screenshot={screenshot URI}

Page 60: Opening up the Social Web - Standards that are bridging the Islands

<?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>

Page 61: Opening up the Social Web - Standards that are bridging the Islands

<?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>

Page 62: Opening up the Social Web - Standards that are bridging the Islands

DEMO

Page 64: Opening up the Social Web - Standards that are bridging the Islands

OEmbed

http://oembed.com/

Page 66: Opening up the Social Web - Standards that are bridging the Islands
Page 68: Opening up the Social Web - Standards that are bridging the Islands

{  "provider_url":"http:\/\/www.youtube.com\/",  "title":"Jupiter Jones - Das Jahr in dem ich schlief (Musik Video)",  "html":"\u003cobject width=\"500\" height=\"306\"\u003e\u003cparam name=\"movie\" value=\"http:\/\/www.youtube.com\/v\/OyJd2qsRkNk?version=3\"\u003e\u003c\/param\u003e\u003cparam name=\"allowFullScreen\" value=\"true\"\u003e\u003c\/param\u003e\u003cparam name=\"allowscriptaccess\" value=\"always\"\u003e\u003c\/param\u003e\u003cembed src=\"http:\/\/www.youtube.com\/v\/OyJd2qsRkNk?version=3\" type=\"application\/x-shockwave-flash\" width=\"500\" height=\"306\" allowscriptaccess=\"always\" allowfullscreen=\"true\"\u003e\u003c\/embed\u003e\u003c\/object\u003e",  "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}

Page 69: Opening up the Social Web - Standards that are bridging the Islands

cool video:

Page 70: Opening up the Social Web - Standards that are bridging the Islands

http://embed.ly/

Page 71: Opening up the Social Web - Standards that are bridging the Islands
Page 72: Opening up the Social Web - Standards that are bridging the Islands

Caja

http://code.google.com/p/google-caja/

Page 73: Opening up the Social Web - Standards that are bridging the Islands

html_sanitize(‘<script>alert(“foo“);</script>‘)

Page 74: Opening up the Social Web - Standards that are bridging the Islands

DEMO

Page 75: Opening up the Social Web - Standards that are bridging the Islands

Bill is really into social games

Page 76: Opening up the Social Web - Standards that are bridging the Islands

http://www.opensocial.org/

Page 77: Opening up the Social Web - Standards that are bridging the Islands
Page 78: Opening up the Social Web - Standards that are bridging the Islands
Page 79: Opening up the Social Web - Standards that are bridging the Islands
Page 80: Opening up the Social Web - Standards that are bridging the Islands

Crossing the boundaries of webapplications with OpenSocial

8/19/2011 1:00pm @Conv. Ctr-14

Page 81: Opening up the Social Web - Standards that are bridging the Islands

DEMO

Page 82: Opening up the Social Web - Standards that are bridging the Islands

Many standards available

Page 83: Opening up the Social Web - Standards that are bridging the Islands

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

Page 84: Opening up the Social Web - Standards that are bridging the Islands

Many projects - one common goal

http://federatedsocialweb.net

Page 85: Opening up the Social Web - Standards that are bridging the Islands

And many people working on it

http://federatedsocialweb.net

Page 86: Opening up the Social Web - Standards that are bridging the Islands

Social Web Acid Test - Level 0