Crossing the Boundaries of Web Applications with OpenSocial

77
Crossing the boundaries of Web Applications with OpenSocial Bastian Hofmann ResearchGate GmbH

description

 

Transcript of Crossing the Boundaries of Web Applications with OpenSocial

Page 1: Crossing the Boundaries of Web Applications with OpenSocial

Crossing the boundaries of Web Applications with OpenSocial

Bastian HofmannResearchGate GmbH

Page 2: Crossing the Boundaries of Web Applications with OpenSocial
Page 3: Crossing the Boundaries of Web Applications with OpenSocial
Page 4: Crossing the Boundaries of Web Applications with OpenSocial
Page 5: Crossing the Boundaries of Web Applications with OpenSocial
Page 6: Crossing the Boundaries of Web Applications with OpenSocial
Page 7: Crossing the Boundaries of Web Applications with OpenSocial

Questions? Ask!

Page 9: Crossing the Boundaries of Web Applications with OpenSocial

http://www.opensocial.org/

Page 10: Crossing the Boundaries of Web Applications with OpenSocial
Page 11: Crossing the Boundaries of Web Applications with OpenSocial
Page 12: Crossing the Boundaries of Web Applications with OpenSocial

http://www.opensocial.org/

Foundation

Page 13: Crossing the Boundaries of Web Applications with OpenSocial
Page 14: Crossing the Boundaries of Web Applications with OpenSocial
Page 15: Crossing the Boundaries of Web Applications with OpenSocial
Page 16: Crossing the Boundaries of Web Applications with OpenSocial
Page 17: Crossing the Boundaries of Web Applications with OpenSocial
Page 18: Crossing the Boundaries of Web Applications with OpenSocial
Page 19: Crossing the Boundaries of Web Applications with OpenSocial
Page 20: Crossing the Boundaries of Web Applications with OpenSocial
Page 21: Crossing the Boundaries of Web Applications with OpenSocial

A set of APIs to access the social graph of users

Page 22: Crossing the Boundaries of Web Applications with OpenSocial

A specification for including 3rd party

applications (gadgets) into social services

Page 23: Crossing the Boundaries of Web Applications with OpenSocial

GADGETapivz.net

CONTAINERmeinvz.net

Page 24: Crossing the Boundaries of Web Applications with OpenSocial
Page 25: Crossing the Boundaries of Web Applications with OpenSocial

Rendering

Page 26: Crossing the Boundaries of Web Applications with OpenSocial

Features

Page 27: Crossing the Boundaries of Web Applications with OpenSocial
Page 28: Crossing the Boundaries of Web Applications with OpenSocial

Containervz.net

Gadget apivz.net

HTTP GETapivz.net/gadgets/render?xml=....

Shindigapivz.net

Page 29: Crossing the Boundaries of Web Applications with OpenSocial

Containervz.net

Gadget apivz.net

HTML Page with OpenSocial JavaScript API

Shindigapivz.net

Page 30: Crossing the Boundaries of Web Applications with OpenSocial

Containervz.net

Gadget apivz.net

Ajax Requests to API

Shindigapivz.net

Page 31: Crossing the Boundaries of Web Applications with OpenSocial

Containervz.net

Gadget apivz.net

Gadget Backendapi.twitter.com

Ajax

Page 32: Crossing the Boundaries of Web Applications with OpenSocial

Same Origin Policy

Page 33: Crossing the Boundaries of Web Applications with OpenSocial

Containervz.net

Gadget apivz.net

Gadget Backendapi.twitter.com

Ajax

Page 34: Crossing the Boundaries of Web Applications with OpenSocial

Containervz.net

Gadget apivz.net

Gadget Backendapi.twitter.com

Shindigapivz.net

Ajax

Page 35: Crossing the Boundaries of Web Applications with OpenSocial

Containervz.net

Gadget apivz.net

Gadget Backendapi.twitter.com

Shindigapivz.net

Ajax

HTTP

Page 36: Crossing the Boundaries of Web Applications with OpenSocial

Containervz.net

Gadget apivz.net

Gadget Backendapi.twitter.com

Shindigapivz.net

Ajax

HTTPOwner IDViewer IDOAuth Signature

Page 37: Crossing the Boundaries of Web Applications with OpenSocial

Gadget Backendapi.twitter.com

Shindigapivz.net

HTTP

Page 38: Crossing the Boundaries of Web Applications with OpenSocial

Containervz.net

Gadget apivz.net

Not Allowed

Page 39: Crossing the Boundaries of Web Applications with OpenSocial
Page 40: Crossing the Boundaries of Web Applications with OpenSocial

Containervz.net

Gadget apivz.net

Message

- window.postMessage

- Iframes with relay files

- Flash bridge

JavaScript RPC

Page 41: Crossing the Boundaries of Web Applications with OpenSocial

Views

Page 42: Crossing the Boundaries of Web Applications with OpenSocial

CANVAS

Page 43: Crossing the Boundaries of Web Applications with OpenSocial

PROFILE

Page 44: Crossing the Boundaries of Web Applications with OpenSocial

POPUP

Page 45: Crossing the Boundaries of Web Applications with OpenSocial

GROUP

Page 46: Crossing the Boundaries of Web Applications with OpenSocial

EMBED

Page 47: Crossing the Boundaries of Web Applications with OpenSocial

PREVIEW

Page 48: Crossing the Boundaries of Web Applications with OpenSocial

Let‘s start programming

OpenSocial Templates

Embedded Experiences

OAuth Proxy Requests

DataPipelining

OSAPI

Proxied Content

Page 51: Crossing the Boundaries of Web Applications with OpenSocial

DEMO

Page 52: Crossing the Boundaries of Web Applications with OpenSocial

var html="<ul>";for (var i=0; i < viewers.length; i++) {   html += "<li>" + viewers[i].displayName + "</li>";}html += "<ul>";document.getElementById("div").innerHTML = html;

Where is the error?

Page 53: Crossing the Boundaries of Web Applications with OpenSocial

Templates

Page 54: Crossing the Boundaries of Web Applications with OpenSocial

DEMO

Page 55: Crossing the Boundaries of Web Applications with OpenSocial

Authorization

Page 56: Crossing the Boundaries of Web Applications with OpenSocial
Page 57: Crossing the Boundaries of Web Applications with OpenSocial

lanyrd.com

twitter.com

Pre Registration of Client at Twitter:

- Shared Consumer Key- Shared Consumer Secret

Page 58: Crossing the Boundaries of Web Applications with OpenSocial

HTTP POSTConnect with Twitter

lanyrd.com

Page 59: Crossing the Boundaries of Web Applications with OpenSocial

twitter.com

HTTP POSTConnect with Twitter

HTTP GETConsumer KeyRedirect URISignature (Consumer Secret)

lanyrd.com

Page 60: Crossing the Boundaries of Web Applications with OpenSocial

twitter.com

HTTP POSTConnect with Twitter

Request TokenRequest Token Secret

lanyrd.com

Page 61: Crossing the Boundaries of Web Applications with OpenSocial

http://twitter.com/authorize?requestToken=...&consumerKey=...

HTTP Redirect

lanyrd.com

Page 64: Crossing the Boundaries of Web Applications with OpenSocial

Grant permission

twitter.com/authorize

Create verifier and bind it to User and Request Token

Page 66: Crossing the Boundaries of Web Applications with OpenSocial

HTTP GET

lanyrd.com(RedirectURI?

verifier=...)

Page 67: Crossing the Boundaries of Web Applications with OpenSocial

HTTP GET

HTTP GETConsumer KeyVerifierSignature (Consumer & Request Token Secret)

twitter.com

lanyrd.com

Page 68: Crossing the Boundaries of Web Applications with OpenSocial

HTTP GET

Access TokenAccess Token Secret

twitter.com

lanyrd.com

Page 69: Crossing the Boundaries of Web Applications with OpenSocial

HTTP GET

API RequestConsumer KeySignature (Consumer & Access Token Secret)

twitter.com

lanyrd.com

Page 70: Crossing the Boundaries of Web Applications with OpenSocial

DEMO

Page 71: Crossing the Boundaries of Web Applications with OpenSocial
Page 72: Crossing the Boundaries of Web Applications with OpenSocial

Embedded Experience

Page 73: Crossing the Boundaries of Web Applications with OpenSocial

From: [email protected]: [email protected]: Social Network: Mary Has Commented On Your StatusMIME-Version: 1.0Content-Type: multipart/alternative; boundary="XXXXboundary text"

--XXXXboundary textContent-Type: text/html

<html><!-- HTML representation here --></html>

--XXXXboundary textContent-Type: application/embed+json{ "gadget" : "http://www.socialnetwork.com/embedded/commentgadget.xml", "context" : 123}

Page 74: Crossing the Boundaries of Web Applications with OpenSocial

DEMO

Page 76: Crossing the Boundaries of Web Applications with OpenSocial

Rate and Comment

http://spkr8.com/t/8739