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.

Upload: bastian-hofmann

Post on 14-Jan-2015

9.335 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

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