Slide 1: Open Social
Google‘s
Christian Scholz http://mrtopf.de/connect http://comlounge.net
Barcamp Berlin 2
Slide 2: Write once, run everywhere
Slide 3: Google Gadget
Application
Slide 4: Google Gadget
Application Platform
Slide 5: Google Gadget
Application
OpenSocial API
Platform
Slide 6: Platform
OpenSocial API
Google Gadget
Application
OpenSocial API
Platform
Slide 7: Orkut Flixter Ning
Slide 8: Example
Slide 9: Writing Applications
Slide 10: 1. Write a Google Gadget
Slide 11: 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>
Slide 12: 2. Importing Open Social
<ModulePrefs title="Title of Your Application"> <Require feature="opensocial-0.5"/> </ModulePrefs>
Slide 13: 3. Using Open Social
function onLoadFriends(dataResponse) { dataResponse } // do something with the
/** * 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); };
Slide 14: 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; };
Slide 15: 3 APIs
1. People and Relationships 2. Persistence 3. Activities
Slide 16: 3 APIs
1. People and Relationships 2. Persistence 3. Activities
How are users between diļ¬erent social networks connected?
Slide 17: Hosting Applications
Slide 18: 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
Slide 19: more documentation still to come with SDK