introduction to opensocial

19
Open Social Christian Scholz http://mrtopf.de/connect http://comlounge.net Googles Barcamp Berlin 2

Upload: christian-scholz

Post on 21-Jan-2015

9.133 views

Category:

Technology


1 download

DESCRIPTION

These are the slides I prepared at Barcamp Berlin 2. I had the pleasure to present this together with David Recordon and we also had a great Q&A session with probably more questions than ansers

TRANSCRIPT

Page 1: Introduction to OpenSocial

Open Social

Christian Scholzhttp://mrtopf.de/connecthttp://comlounge.net

Google‘s

Barcamp Berlin 2

Page 2: Introduction to OpenSocial

Write once, run everywhere

Page 3: Introduction to OpenSocial

ApplicationGoogle Gadget

Page 4: Introduction to OpenSocial

Platform

ApplicationGoogle Gadget

Page 5: Introduction to OpenSocial

Platform

ApplicationGoogle Gadget

OpenSocial API

Page 6: Introduction to OpenSocial

Platform

ApplicationGoogle Gadget

PlatformOpenSocial API

OpenSocial API

Page 7: Introduction to OpenSocial

Ning

Flixter

Orkut

Page 8: Introduction to OpenSocial

Example

Page 9: Introduction to OpenSocial

Writing Applications

Page 10: Introduction to OpenSocial

1. Write a Google Gadget

Page 11: Introduction to OpenSocial

Example GG HTML

<?xml version="1.0" encoding="UTF-8" ?>

<Module> <ModulePrefs title="Go to Photo Album" height="250" scaling="false" /> <Content type="html">

<![CDATA[ <div style="text-align:center"><a id="Riggs" title="My Photo Album" target="_blank" href="http://picasaweb.google.com/doc.examples/ShelfBoy"> <img border="0" alt="Photo" src="http://doc.examples.googlepages.com/Riggsie-OP.jpg" title="Click Here."></a> </div>

]]> </Content></Module>

Page 12: Introduction to OpenSocial

2. Importing Open Social

<ModulePrefs title="Title of Your Application"> <Require feature="opensocial-0.5"/></ModulePrefs>

Page 13: Introduction to OpenSocial

3. Using Open Social

function onLoadFriends(dataResponse) { // do something with the dataResponse }

/** * Request for friend information when the page loads. */ function getData() { document.getElementById('message').innerHTML = 'Requesting friends...'; var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest('VIEWER'), 'viewer'); req.add(req.newFetchPeopleRequest ('VIEWER_FRIENDS'), 'viewerFriends'); req.send(onLoadFriends); };

Page 14: Introduction to OpenSocial

3. Using Open Social

/** * Parses the response to the friend information request and generates * html to list the friends by their display name. * * @param {Object} dataResponse Friend information that was requested. */ function onLoadFriends(dataResponse) { var viewer = dataResponse.get('viewer').getData(); var html = 'Friends of ' + viewer.getDisplayName(); html += ':<br><ul>'; var viewerFriends = dataResponse.get('viewerFriends').getData(); viewerFriends.each(function(person) { html += '<li>' + person.getDisplayName(); }); html += '</ul>'; document.getElementById('message').innerHTML = html; };

Page 15: Introduction to OpenSocial

3 APIs

1. People and Relationships2. Persistence3. Activities

Page 16: Introduction to OpenSocial

3 APIs

1. People and Relationships2. Persistence3. Activities

How are users between different social networks connected?

Page 17: Introduction to OpenSocial

Hosting Applications

Page 18: Introduction to OpenSocial

OpenSocial Service Provider Interface

* Adding and removing friends * Adding and removing apps * Storing activities * Retrieving activity streams for self and friends * Storing and retrieving per-app and per-app-per-user data

Page 19: Introduction to OpenSocial

more documentationstill to comewith SDK