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

Crossing the Boundaries of Web Applications with OpenSocial

Embed Size (px)

DESCRIPTION

 

Citation preview

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