SlideShare a Scribd company logo
1 of 19
Download to read offline
Google‘s
                           Open Social


Christian Scholz
http://mrtopf.de/connect
                                         Barcamp Berlin 2
http://comlounge.net
Write once, run everywhere
Google Gadget

Application
Google Gadget

           Application

Platform
Google Gadget

                   Application
           OpenSocial API


Platform
Platform
             OpenSocial API


                   Google Gadget

                   Application
           OpenSocial API


Platform
Orkut


        Flixter

Ning
Example
Writing Applications
1. Write a Google Gadget
Example GG HTML

<?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?>

<Module>
  <ModulePrefs title=quot;Go to Photo Albumquot; height=quot;250quot; scaling=quot;falsequot; />
  <Content type=quot;htmlquot;>

  <![CDATA[
    <div style=quot;text-align:centerquot;><a
      id=quot;Riggsquot; title=quot;My Photo Albumquot; target=quot;_blankquot;
      href=quot;http://picasaweb.google.com/doc.examples/ShelfBoyquot;>
      <img border=quot;0quot; alt=quot;Photoquot; src=quot;http://doc.examples.googlepages.com/Riggsie-OP.jpgquot;
      title=quot;Click Here.quot;></a>
    </div>

  ]]>
  </Content>
</Module>
2. Importing Open Social


<ModulePrefs title=quot;Title of Your Applicationquot;>
  <Require feature=quot;opensocial-0.5quot;/>
</ModulePrefs>
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);
  };
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;
 };
3 APIs

1. People and Relationships
2. Persistence
3. Activities
3 APIs

1. People and Relationships
2. Persistence
3. Activities




How are users between different social networks connected?
Hosting Applications
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
more documentation
   still to come
    with SDK

More Related Content

Similar to Introduction to OpenSocial

Open social 2.0 sandbox ee and breaking out of the gadget box
Open social 2.0 sandbox  ee and breaking out of the gadget boxOpen social 2.0 sandbox  ee and breaking out of the gadget box
Open social 2.0 sandbox ee and breaking out of the gadget box
Ryan Baxter
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathon
marvin337
 
Top 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and SitesTop 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and Sites
Jonathan LeBlanc
 
Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08
Ari Leichtberg
 
OpenSocial Intro
OpenSocial IntroOpenSocial Intro
OpenSocial Intro
Pamela Fox
 

Similar to Introduction to OpenSocial (20)

Hi5 Open Social
Hi5   Open SocialHi5   Open Social
Hi5 Open Social
 
Open social
Open socialOpen social
Open social
 
Javapolis GWT Gadget OpenSocial
Javapolis GWT Gadget OpenSocialJavapolis GWT Gadget OpenSocial
Javapolis GWT Gadget OpenSocial
 
Open Social
Open SocialOpen Social
Open Social
 
Open social 2.0 sandbox ee and breaking out of the gadget box
Open social 2.0 sandbox  ee and breaking out of the gadget boxOpen social 2.0 sandbox  ee and breaking out of the gadget box
Open social 2.0 sandbox ee and breaking out of the gadget box
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathon
 
Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial Presentation
 
Top 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and SitesTop 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and Sites
 
Goodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social UpdateGoodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social Update
 
Download PowerPoint Project on social programming for engineering students
Download PowerPoint Project on social programming for engineering studentsDownload PowerPoint Project on social programming for engineering students
Download PowerPoint Project on social programming for engineering students
 
Experiments in Data Portability 2
Experiments in Data Portability 2Experiments in Data Portability 2
Experiments in Data Portability 2
 
Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08
 
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
Introduction to Web APIs and the Google+ API - BarCamp Phnom Penh 2011
 
OpenSocial Intro
OpenSocial IntroOpenSocial Intro
OpenSocial Intro
 
Yahoo! Application Platform Technical Deep Dive
Yahoo! Application Platform Technical Deep DiveYahoo! Application Platform Technical Deep Dive
Yahoo! Application Platform Technical Deep Dive
 
Mashups & APIs
Mashups & APIsMashups & APIs
Mashups & APIs
 
SEO dataLayer 2: Entity Wars
SEO dataLayer 2: Entity WarsSEO dataLayer 2: Entity Wars
SEO dataLayer 2: Entity Wars
 
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
 
Google & Bing App Indexing - SMX Munich 2016
Google & Bing App Indexing - SMX Munich 2016Google & Bing App Indexing - SMX Munich 2016
Google & Bing App Indexing - SMX Munich 2016
 
Desenvolvimento Mobile Híbrido
Desenvolvimento Mobile HíbridoDesenvolvimento Mobile Híbrido
Desenvolvimento Mobile Híbrido
 

More from Christian Scholz

More from Christian Scholz (15)

OPen Government Vortrag Aachen
OPen Government Vortrag AachenOPen Government Vortrag Aachen
OPen Government Vortrag Aachen
 
Vortrag Open Government NRW
Vortrag Open Government NRWVortrag Open Government NRW
Vortrag Open Government NRW
 
Open Government - Warum?
Open Government - Warum?Open Government - Warum?
Open Government - Warum?
 
OpenData-Vortrag Bochum
OpenData-Vortrag BochumOpenData-Vortrag Bochum
OpenData-Vortrag Bochum
 
Intro Presenation of Open Platforms Panel at the Community Summit, Hamburg
Intro Presenation of Open Platforms Panel at the Community Summit, HamburgIntro Presenation of Open Platforms Panel at the Community Summit, Hamburg
Intro Presenation of Open Platforms Panel at the Community Summit, Hamburg
 
DataPortabilty TOS&EULA Taskforce
DataPortabilty TOS&EULA TaskforceDataPortabilty TOS&EULA Taskforce
DataPortabilty TOS&EULA Taskforce
 
OpenID Plugin for repoze.who
OpenID Plugin for repoze.whoOpenID Plugin for repoze.who
OpenID Plugin for repoze.who
 
EU Online Surveillance Strategies
EU Online Surveillance StrategiesEU Online Surveillance Strategies
EU Online Surveillance Strategies
 
EuroPython 2008: Tear down the walls (of virtual worlds)
EuroPython 2008: Tear down the walls (of virtual worlds)EuroPython 2008: Tear down the walls (of virtual worlds)
EuroPython 2008: Tear down the walls (of virtual worlds)
 
Europython 2008: DataPortability and Python
Europython 2008: DataPortability and PythonEuropython 2008: DataPortability and Python
Europython 2008: DataPortability and Python
 
What is Data Portability?
What is Data Portability?What is Data Portability?
What is Data Portability?
 
COMET in Plone
COMET in PloneCOMET in Plone
COMET in Plone
 
9 ways to spread the word about the Snow Sprint
9 ways to spread the word about the Snow Sprint9 ways to spread the word about the Snow Sprint
9 ways to spread the word about the Snow Sprint
 
The new Second Life Architecture
The new Second Life Architecture The new Second Life Architecture
The new Second Life Architecture
 
How to market Open Source projects the Web2.0 way
How to market Open Source projects the Web2.0 wayHow to market Open Source projects the Web2.0 way
How to market Open Source projects the Web2.0 way
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Introduction to OpenSocial

  • 1. Google‘s Open Social Christian Scholz http://mrtopf.de/connect Barcamp Berlin 2 http://comlounge.net
  • 2. Write once, run everywhere
  • 4. Google Gadget Application Platform
  • 5. Google Gadget Application OpenSocial API Platform
  • 6. Platform OpenSocial API Google Gadget Application OpenSocial API Platform
  • 7. Orkut Flixter Ning
  • 10. 1. Write a Google Gadget
  • 11. Example GG HTML <?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?> <Module> <ModulePrefs title=quot;Go to Photo Albumquot; height=quot;250quot; scaling=quot;falsequot; /> <Content type=quot;htmlquot;> <![CDATA[ <div style=quot;text-align:centerquot;><a id=quot;Riggsquot; title=quot;My Photo Albumquot; target=quot;_blankquot; href=quot;http://picasaweb.google.com/doc.examples/ShelfBoyquot;> <img border=quot;0quot; alt=quot;Photoquot; src=quot;http://doc.examples.googlepages.com/Riggsie-OP.jpgquot; title=quot;Click Here.quot;></a> </div> ]]> </Content> </Module>
  • 12. 2. Importing Open Social <ModulePrefs title=quot;Title of Your Applicationquot;> <Require feature=quot;opensocial-0.5quot;/> </ModulePrefs>
  • 13. 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); };
  • 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; };
  • 15. 3 APIs 1. People and Relationships 2. Persistence 3. Activities
  • 16. 3 APIs 1. People and Relationships 2. Persistence 3. Activities How are users between different social networks connected?
  • 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
  • 19. more documentation still to come with SDK