72
How to create an OpenSocial Gadget in 45 minutes Bastian Hofmann (hopefully)

How to create OpenSocial Apps in 45 minutes

Embed Size (px)

DESCRIPTION

Presentation from SURFnet OpenSocial Code Jam

Citation preview

Page 1: How to create OpenSocial Apps in 45 minutes

How to create an OpenSocial Gadget in 45 minutes

Bastian Hofmann

(hopefully)

Page 2: How to create OpenSocial Apps in 45 minutes
Page 3: How to create OpenSocial Apps in 45 minutes
Page 4: How to create OpenSocial Apps in 45 minutes
Page 5: How to create OpenSocial Apps in 45 minutes
Page 6: How to create OpenSocial Apps in 45 minutes
Page 7: How to create OpenSocial Apps in 45 minutes
Page 8: How to create OpenSocial Apps in 45 minutes

Questions? Ask!

Page 10: How to create OpenSocial Apps in 45 minutes

http://www.opensocial.org/

Page 11: How to create OpenSocial Apps in 45 minutes
Page 12: How to create OpenSocial Apps in 45 minutes
Page 13: How to create OpenSocial Apps in 45 minutes
Page 14: How to create OpenSocial Apps in 45 minutes
Page 15: How to create OpenSocial Apps in 45 minutes
Page 16: How to create OpenSocial Apps in 45 minutes
Page 17: How to create OpenSocial Apps in 45 minutes
Page 18: How to create OpenSocial Apps in 45 minutes

A set of APIs to access the social graph of users

I.

Page 19: How to create OpenSocial Apps in 45 minutes

A specification for including 3rd party applications (gadgets) into social services

II.

Page 20: How to create OpenSocial Apps in 45 minutes

GADGETapivz.net

CONTAINERmeinvz.net

Page 21: How to create OpenSocial Apps in 45 minutes
Page 22: How to create OpenSocial Apps in 45 minutes

Rendering

Page 23: How to create OpenSocial Apps in 45 minutes

Features

Page 24: How to create OpenSocial Apps in 45 minutes
Page 25: How to create OpenSocial Apps in 45 minutes

Containervz.net

Gadget apivz.net

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

Shindigapivz.net

Page 26: How to create OpenSocial Apps in 45 minutes

Containervz.net

Gadget apivz.net

HTML Page with OpenSocial JavaScript API

Shindigapivz.net

Page 27: How to create OpenSocial Apps in 45 minutes

Containervz.net

Gadget apivz.net

Ajax Requests to API

Shindigapivz.net

Page 28: How to create OpenSocial Apps in 45 minutes

Containervz.net

Gadget apivz.net

Gadget Backendapi.twitter.com

Ajax

Page 29: How to create OpenSocial Apps in 45 minutes

Same Origin Policy

Page 30: How to create OpenSocial Apps in 45 minutes

Containervz.net

Gadget apivz.net

Gadget Backendapi.twitter.com

Ajax

Page 31: How to create OpenSocial Apps in 45 minutes

Containervz.net

Gadget apivz.net

Gadget Backendapi.twitter.com

Shindigapivz.net

Ajax

Page 32: How to create OpenSocial Apps in 45 minutes

Containervz.net

Gadget apivz.net

Gadget Backendapi.twitter.com

Shindigapivz.net

Ajax

HTTP

Page 33: How to create OpenSocial Apps in 45 minutes

Containervz.net

Gadget apivz.net

Gadget Backendapi.twitter.com

Shindigapivz.net

Ajax

HTTPOwner IDViewer IDOAuth Signature

Page 34: How to create OpenSocial Apps in 45 minutes

Gadget Backendapi.twitter.com

Shindigapivz.net

HTTP

Page 35: How to create OpenSocial Apps in 45 minutes

Containervz.net

Gadget apivz.net

Not Allowed

Page 36: How to create OpenSocial Apps in 45 minutes
Page 37: How to create OpenSocial Apps in 45 minutes

Containervz.net

Gadget apivz.net

Message

- window.postMessage

- Iframes with relay files

- Flash bridge

JavaScript RPC

Page 38: How to create OpenSocial Apps in 45 minutes

Application models

Page 39: How to create OpenSocial Apps in 45 minutes

JavaScript basedContainervz.net

Gadget apivz.net

Gadget Backendapi.twitter.com

Ajax

HTTP

Shindigapivz.net

HTTP

Page 40: How to create OpenSocial Apps in 45 minutes

FlashContainervz.net

Gadget apivz.net Gadget Backend

api.twitter.comHTTP

Shindigapivz.net

Flash

Ajax

HTTP

HTTP

Page 41: How to create OpenSocial Apps in 45 minutes

RedirectingContainervz.net

Gadget Backendapi.twitter.com

Shindigapivz.net

iframeapi.twitter.com

HTTP

Ajax

Page 42: How to create OpenSocial Apps in 45 minutes

Additional IframeContainervz.net

Gadget apivz.net Gadget Backend

api.twitter.com

Shindigapivz.net

iframe

Ajax

Ajax

HTTP

Page 43: How to create OpenSocial Apps in 45 minutes

Views

Page 44: How to create OpenSocial Apps in 45 minutes

CANVAS

Page 45: How to create OpenSocial Apps in 45 minutes

PROFILE

Page 46: How to create OpenSocial Apps in 45 minutes

GROUP

Page 47: How to create OpenSocial Apps in 45 minutes

Let‘s start programming

OpenSocial Templates

Embedded Experiences

OAuth Proxy Requests

DataPipelining

OSAPI

Proxied Content

Page 50: How to create OpenSocial Apps in 45 minutes

DEMO

Page 51: How to create OpenSocial Apps in 45 minutes

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 52: How to create OpenSocial Apps in 45 minutes

Templates

Page 53: How to create OpenSocial Apps in 45 minutes

DEMO

Page 54: How to create OpenSocial Apps in 45 minutes

Authorization

Page 55: How to create OpenSocial Apps in 45 minutes
Page 56: How to create OpenSocial Apps in 45 minutes

lanyrd.com

twitter.com

Pre Registration of Client at Twitter:

- Shared Consumer Key- Shared Consumer Secret

Page 57: How to create OpenSocial Apps in 45 minutes

HTTP POSTConnect with Twitter

lanyrd.com

Page 58: How to create OpenSocial Apps in 45 minutes

twitter.com

HTTP POSTConnect with Twitter

HTTP GETConsumer KeyRedirect URISignature (Consumer Secret)

lanyrd.com

Page 59: How to create OpenSocial Apps in 45 minutes

twitter.com

HTTP POSTConnect with Twitter

Request TokenRequest Token Secret

lanyrd.com

Page 60: How to create OpenSocial Apps in 45 minutes

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

HTTP Redirect

lanyrd.com

Page 63: How to create OpenSocial Apps in 45 minutes

Grant permission

twitter.com/authorize

Create verifier and bind it to User and Request Token

Page 65: How to create OpenSocial Apps in 45 minutes

HTTP GET

lanyrd.com(RedirectURI?

verifier=...)

Page 66: How to create OpenSocial Apps in 45 minutes

HTTP GET

HTTP GETConsumer KeyVerifierSignature (Consumer & Request Token Secret)

twitter.com

lanyrd.com

Page 67: How to create OpenSocial Apps in 45 minutes

HTTP GET

Access TokenAccess Token Secret

twitter.com

lanyrd.com

Page 68: How to create OpenSocial Apps in 45 minutes

HTTP GET

API RequestConsumer KeySignature (Consumer & Access Token Secret)

twitter.com

lanyrd.com

Page 69: How to create OpenSocial Apps in 45 minutes

DEMO

Page 71: How to create OpenSocial Apps in 45 minutes

Rate and Comment

http://spkr8.com/t/8873