SlideShare uma empresa Scribd logo
1 de 124
Baixar para ler offline
OpenSocial ecosystem
updates
Patrick Chanezon
Chris Chabot
Chewy Trewhella
Thomas Steiner

22/09/2008
Agenda

•   OpenSocial introduction
•   How to build OpenSocial applications
•   Hosting social applications
•   Social applications monetization
•   OpenSocial container demos
•   Becoming an OpenSocial container
•   Google Friend Connect
•   Summary
OpenSocial Introduction
Patrick Chanezon
Making the web better
 by making it social

What does social mean?
What does Social mean?




     Eliette what do you do with your friends?
This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
Raoul: a social object for Charlotte (3 year old)
Jaiku’s Jyri Engeström's 5 rules for social
 networks: social objects
1. What is your object?
2. What are your verbs?
3. How can people share the objects?
4. What is the gift in the invitation?
5. Are you charging the publishers or the spectators?
http://tinyurl.com/yus8gw
How do we socialize objects
          online
without having to create yet
 another social network?
OpenSocial

A common API for social applications
     across multiple web sites
The Trouble with Developing Social Apps




                                 Which site do I build my app for?
Let’s work on that…




                      Using OpenSocial, I can build apps for
                      all of these sites!
What’s offered by OpenSocial?


• Activities
   o   What are people up to on the web

• People/Profile Info
   o   Who do I know, etc.

• Persistent datastore
   o   Handles key/value pairs
Today: 375 Million User Reach
Where is OpenSocial live today?


Live to Users:             Live Developer Sandboxes:
 • MySpace                  • iGoogle
 • orkut                    • imeem
 • Hi5                      • CityIN
 • Freebar                  • Tianya
 • Friendster               • Ning
 • Webon from Lycos         • Plaxo Pulse
 • IDtail                   • Mail.ru
 • YiQi
 • Netlog - New!
 • Hyves - New!




Individual Developer Links:
http://code.google.com/apis/opensocial/gettingstared.html
OpenSocial “Containers”
What’s in OpenSocial?


• JavaScript API - Now

• REST Protocol - New

• Templates - Prototype in Shindig
OpenSocial’s JavaScript API


• OpenSocial JS API
• Gadget JS API
• Gadget XML schema

• OpenSocial v0.7 is live
• OpenSocial v0.8 is being deployed now

• Specs and release notes: http://opensocial.org
OpenSocial’s REST Protocol


•   Access social data without JavaScript
•   Works on 3rd party websites / phones / etc
•   Uses OAuth to allow secure access
•   Open source client libraries in development
    o   Java, PHP, Python, <your fav language here>

• Being deployed with OpenSocial v0.8

• Spec’s available at http://opensocial.org
OpenSocial Templates


• Writing JavaScript is hard
• Writing templates is easy
• Templates also give
  o   Consistent UI across containers
  o   Easy way to localize
  o   More interesting content options when inlining
      into container (activities, profile views)
  o   Ability to serve millions of dynamic pages per
      day without a server
Try out templates today!


• Samples and docs:
  http://ostemplates-demo.appspot.com
• Sample app:
  http://ostemplates-demo.appspot.com/friends.html
• Discussion group:
  http://tech.groups.yahoo.com/group/os-templates/
• Code is all in Shindig, can download, use, and even
  submit patches to improve
• So…
   o   Get involved and provide comments, and
   o   Build some apps
OpenSocial is what you make it.


•   OpenSocial is an open source project.
•   The spec is controlled by the community.
•   Anyone can contribute and have a voice.
•   http://groups.google.com/group/opensocial/
    o   “OpenSocial and Gadgets spec” subgroup

• OpenSocial Foundation
    o   Get involved to nominate and elect board reps
    o   http://www.opensocial.org/opensocial-foundation/
A note on compliance


• OpenSocial is designed for many sites

• Building an app:
   o   Technology
   o   Policy

• OpenSocial Compliance Tests
   o   http://code.google.com/p/opensocial-
       resources/wiki/ComplianceTests
OpenSocial Compliance test in orkut
OpenSocial Compliance Matrix
     http://opensocial-compliance.appspot.com
Other comments


• Portable Contacts Alignment

• Caja for JavaScript security
A standard for everyone




   This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
How To Build OpenSocial
Applications
People & Friends Example
 Requesting friend Info

function getFriendData() {
  var req = opensocial.newDataRequest();
  req.add(
      req.newFetchPersonRequest(VIEWER), 'viewer');
  req.add(
      req.newFetchPeopleRequest(VIEWER_FRIENDS),
      'viewerFriends');
  req.send(onLoadFriends);
}
People & Friends Example
    Callback function for returned friend data
function onLoadFriends(resp) {
 var viewer = resp.get('viewer').getData();
 var viewerFriends = resp.get('viewerFriends').getData();
 var html = 'Friends of ' +
     viewer.getDisplayName() + ‘:<br><ul>’;

    viewerFriends.each(function(person) {
      html += '<li>' + person.getDisplayName()+'</li>';});
      html += '</ul>';
      document.getElementById('friends').innerHTML += html;
}
Activities Example
Posting an activity

function postActivity(text) {
   var params = {};
   params[opensocial.Activity.Field.TITLE] = text;
   var activity = opensocial.newActivity(params);
   opensocial.requestCreateActivity(
       activity,
       opensocial.CreateActivityPriority.HIGH, callback);
}

postActivity(
    quot;This is a sample activity, created at quot; +
    new Date().toString());
Persistence Example
Persisting data
function populateMyAppData() {
  var req = opensocial.newDataRequest();
  var data1 = Math.random() * 5;
  var data2 = Math.random() * 100;
  req.add(
      req.newUpdatePersonAppDataRequest(quot;VIEWERquot;,
          quot;AppField1quot;,
          data1));
  req.add(
      req.newUpdatePersonAppDataRequest(quot;VIEWERquot;,
          quot;AppField2quot;,
          data2));
  req.send(requestMyData);
}
Persistence Example
Fetching persisted data

function requestMyData() {
  var req = opensocial.newDataRequest();
  var fields = [quot;AppField1quot;, quot;AppField2quot;];

    req.add(req.newFetchPersonRequest(
      opensocial.DataRequest.PersonId.VIEWER), quot;viewerquot;);
    req.add(req.newFetchPersonAppDataRequest(quot;VIEWERquot;,
      fields), quot;viewer_dataquot;);
    req.send(handleReturnedData);
}
Persistence Example
Displaying fetched (persisted) data

function handleReturnedData(data) {
   var mydata = data.get(quot;viewer_dataquot;);
   var viewer = data.get(quot;viewerquot;);
   me = viewer.getData(); // me is global var
   var data = mydata[me.getId()];

    htmlout += quot;AppField1: quot; + data[quot;AppField1quot;] + quot;<br/>quot;;
    htmlout += quot;AppField2: quot; + data[quot;AppField2quot;] + quot;<br/>quot;;
    var div = document.getElementById('content_div');
    div.innerHTML = htmlout;
}
Resources For Application Developers
Specification
http://opensocial.org/
http://groups.google.com/group/opensocial-and-gadgets-spec

Code Samples and Tools
http://code.google.com/opensocial
http://code.google.com/p/opensocial-resources/

Sandboxes
http://developer.myspace.com/
http://www.hi5networks.com/developer/
http://opensocial.ning.com/
http://code.google.com/apis/orkut/
http://code.google.com/apis/igoogle/
http://en.netlog.com/go/developer/opensocial
OpenSocial resources in spanish

• Google Code in Spanish: http://code.google.com/intl/es/
• OpenSocial v0.7
  - http://code.google.com/intl/es/apis/opensocial/
• Gadgets - http://code.google.com/intl/es/apis/gadgets/ (full
  reference for Opensocial 0.7)
• Orkut API - http://code.google.com/intl/es/apis/orkut/
Hosting social apps
Patrick Chanezon
Hosting OpenSocial apps
 In addition to using the provided persistence API...
• Establish a quot;homequot; site where gadget can phone
  home to retrieve, post data
• Can host home site on your own, or use services:
  o Amazon EC2
  o Joyent
  o Google AppEngine

• Zembly: is the world's first cloud-based
  development environment for social apps. Full
  OpenSocial support
Google AppEngine and OpenSocial
• Create an App Engine app as your backend!
   o Use makeRequest() to call back to your AppEngine
     server
   o Utilize AppEngine's datastore
• New OpenSocial Apps are coming online
   o BuddyPoke,
• Checkout Lane Liabraaten’s OpenSocial-AppEngine
  integration article
  o   http://code.google.com/apis/opensocial/articles/appengine.html

• Google IO Code Lab about OpenSocial Apps in the Cloud
Social Apps monetization
Patrick Chanezon
OpenSocial Monetization
 • Ads from Ad Networks
     o   AdSense, RightMedia
     o   BuddyPoke, Rate My Friend
 • Brand/Private Label App
     o   Sony Ericsson MTV Roadies app on orkut
 •   Sell virtual or real goods
 •   Free -> Freemium
 •   Referrals
 •   Virtual currency
Success Story: Buddy Poke




 •   #1 OpenSocial app on orkut
 •   8M installs for orkut, hi5, MySpace
 •   $1-2 CPM
 •   #1 App for App Engine w/ millions daily PV
Success Story: PhotoBuzz




•   6M+ installs on hi5 and orkut
•   CPM $1-3, especially good on orkut
•   4M buzzes per day
•   Small team of 4 people, profitable
Container demos
Netlog
Toon Coppens
Folke Lemaitre
What is Netlog?
Your Profile
Friend Activity
Communication: Shouts
Communication: Private messaging
Communication: Chat
Homepage
Explore
How are we doing?

• More than 35,000,000 unique members
• More than 6,000,000,000 pageviews/Month
Europe and beyond...
More than 23 languages


• 23 languages and alot more coming!
   o 8,000,000 Spanish & Catalan speaking members


                                              Nederlands           Svenska
   slovenščina
                              Deutsch
                                                                             Magyar
   Русский          English                     Italiano    česky
                                  français
                 Dansk                                     suomi
  Polski                                                               Hrvatski
                                 Türkçe
                                              Afrikaans
                 Slovenčina
      Eesti                                                             Català
                                    Español
                     Português
                                                      Latviešu
  Română                                               valoda       български
              Lietuvių kalba     Norsk (bokmål)
Applications
Canvas view
Profile view
Home View (available soon!)
Application directory
Activity logs
Share with your friends
Requirements
Whitelisting Requirements



• an application should be fully integrated
   o   no external login should be needed...
   o   no external links
• no ads in “profile” view
• no spamming through activities/requests
• localised & translated
   o   We can help you!
Localisation
Seemless translation
Localisation is important!

• Translations are automatically injected


• Translation tool for Netlog translators
Monetization
What’s in it for you?



• Branding, co-branding, sponsorships


• 100% revenue from vertical rectangle or skyscraper
  on your application page


• Credit economy with Netlog OpenSocial extension
Credit Economy

• Virtual Currency
• Use Cases
  o   charge credits for app installation
  o   charge credits for certain features
  o   charge credits for buying items
  o   charge credits for...
Questions?

• Developer pages:
  o   http://es.netlog.com/go/developer/
• OpenSocial sandbox:
  o   http://es.netlog.com/go/developer/opensocial/sandbox=1
Viadeo
Ariel Messias
Google Dev Day
                      OpenSocial

                        Madrid
Social Network
Business Tool          08/09/25
Career Management




                       © viadeo – septembre 2008
Agenda




• A few words about Viadeo

• What to offer to Viadeo’s members

• Sandbox presentation
Viadeo

• 3 groups of Use :
   o   Social Network,
   o   Business Tool
   o   Career Management

• 5 +m Members mainly :
   o   Europe
   o   China

• Strong activity
   o   7, 000 new members/day
   o   10, 000 connections/day
   o   +120, 000 consulted profiles/day
   o   1,3 M hubs registration
International Footprint : 5+m Members

                  France

                  •      1.8m members(1)
                                                                                                   Other European countries
                                                                                                   •     150K members(1)




                                                              Belgium

                                                               •     100k members(1)
UK/Ireland

 •   150 k members(1)                                                                         China

                                                      Switzerland                              •       2.2m members(1)
                                                       •   50K members(1)




             Spain/Portugal                Italy

              •       350k members(1)       •      300k members(1)
                                                                                (1)   end of August 2008
Benefits Viadeo can offer to developers



• 8 languages (European + China)

• Professional oriented

• Distribution of Members among all the Industries

• Mainly “A Level” profiles

• Members with High Revenues => Strong capabilities of
  monetization
Vertical Apps ?

                  Members split by industry
“A Level” priority targets ?


             High qualification of Viadeo’s members
Apps for Professional Social Network…

Helping to :
• Find Customers / Partners / Suppliers
• Organize Meetings/Events
• Share information and expertise

But also ...

• Get headhunted…
• …and recruit
• Etc…
Sandbox Presentation – Create a Dev. Account
Sandbox Presentation – Apps Directory
Sandbox Presentation – My Apps
Sandbox Presentation – Add an app
Sandbox Presentation – Viadeo mailing list




             opensocial@viadeo.com
Becoming an OpenSocial Container
Chris Chabot
Becoming an OpenSocial Container


• Question:
  o How do you become an OpenSocial container?
• Answer:
  o The Apache incubator project “Shindig” serves this
    purpose!
What is Shindig ?

• Open source reference implementation of OpenSocial &
  Gadgets specification
• An Apache Software Incubator project
• Available in Java & PHP
• http://incubator.apache.org/shindig


 It’s Goal:
 “Shindig's goal is to allow new sites to start hosting social apps
in under an hour's worth of workquot;
Introduction to Shindig Architecture
• Gadget Server
• Social Data Server
• Gadget Container JavaScript
Gadget Server
Social Server
Social Server - RESTful API
• Preview available on
   o iGoogle
   o Orkut
   o Hi5
• New development models
   o Server to server & Mobile!
• Try it out:
  curl http://localhost:8080/social/rest/people/john.doe/@all
Implementing Shindig - Data sources
• Integrate with your own data sources
   o People Service
   o Activities Service
   o App Data Service

class MyPeopleService implements PeopleService {
...
}

class MyAppDataService implements AppDataService {
...
}

class MyActivitiesService implements ActivitiesService {
...
}
Implementing Shindig - Data sources
 • Implement functions

function getActivities($ids)
{
   $activities = array();
   $res = mysqli_query($this->db, ”SELECT…quot;);
   while ($row = @mysqli_fetch_array($res, MYSQLI_ASSOC)) {
      $activity = new Activity($row['activityId'],
               $row['personId']);
      $activity->setStreamTitle($row['activityStream']);
      $activity->setTitle($row['activityTitle']);
      $activity->setBody($row['activityBody']);
      $activity->setPostedTime($row['created']);
      $activities[] = $activity;
      }
   return $activities;
}
Implementing - Make it a platform
• Add UI Elements
  o App Gallery
  o App Canvas
  o App Invites
  o Notification Browser
• Developer Resources
  o Developer Console
  o Application Gallery
• Scale it Out!
Implementing - Scale it Out!
•   Prevent Concurrency issues
•   Reduce Latency
•   Add Caching
•   Add more caching!
Usage Example: Sample Container
• Static html sample container
• No effort to get up and running
• No database or features
Usage Example: Partuza
•   Partuza is a Example social network site, written in PHP
•   Allows for local gadget development & testing too
•   Use as inspiration (or copy) for creating your own social site
•   http://code.google.com/p/partuza
OpenSocial for intranet, portals
Sun Microsystems
• Socialsite: Shindig + gadget based UI written in Java
• Open Source https://socialsite.dev.java.net/




Upcoming from Impetus
• Zest: Shindig + Drupal (PHP)
• Zeal: Shindig + Liferay (Java)
Summary
• Become an OpenSocial Container
  o Get Shindig (PHP or Java)
  o Look at examples & documentation
  o Implement Services
  o Add UI
  o Scale it out

• Resources & Links:
  o http://www.chabotc.com/gdd/
What is Friend Connect?
Allows any site to become an OpenSocial container by simply
        copying a few snippets of code into your site




     http://www.google.com/friendconnect/
Friend Connect gives ...

• Users
  o ...   more ways to do more things with my friends

• Site owners
  o ... more (and more engaged) traffic for my site

• App developers
  o ... more reach for my apps


                  and ... make it easy
Learn more
code.google.com
Q&A
Goodle Developer Days Madrid 2008 - Open Social Update

Mais conteúdo relacionado

Destaque

Beatiful Photoin World
Beatiful Photoin WorldBeatiful Photoin World
Beatiful Photoin WorldOttomans
 
Railwaysandtrains
RailwaysandtrainsRailwaysandtrains
RailwaysandtrainsOttomans
 

Destaque (6)

Oro
OroOro
Oro
 
Hawaii
HawaiiHawaii
Hawaii
 
Beatiful Photoin World
Beatiful Photoin WorldBeatiful Photoin World
Beatiful Photoin World
 
Railwaysandtrains
RailwaysandtrainsRailwaysandtrains
Railwaysandtrains
 
Canada
CanadaCanada
Canada
 
Docker 101 Checonf 2016
Docker 101 Checonf 2016Docker 101 Checonf 2016
Docker 101 Checonf 2016
 

Semelhante a Goodle Developer Days Madrid 2008 - Open Social Update

Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
Futuropolis 2058 Singapore - OpenSocial, a standard for the social webFuturopolis 2058 Singapore - OpenSocial, a standard for the social web
Futuropolis 2058 Singapore - OpenSocial, a standard for the social webPatrick Chanezon
 
Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08Ari Leichtberg
 
Jaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social WebJaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social WebPatrick Chanezon
 
Open Social Summit Korea Overview
Open Social Summit Korea OverviewOpen Social Summit Korea Overview
Open Social Summit Korea OverviewChris Schalk
 
Barcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application DevelopmentBarcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application DevelopmentHoat Le
 
GSP East 2008: Open Social: Open For Business
GSP East 2008: Open Social: Open For BusinessGSP East 2008: Open Social: Open For Business
GSP East 2008: Open Social: Open For BusinessPatrick Chanezon
 
Developing for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformDeveloping for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformTaylor Singletary
 
Open Social Shindig Preso for FB and OpenSocial Meetup
Open Social Shindig Preso for FB and OpenSocial MeetupOpen Social Shindig Preso for FB and OpenSocial Meetup
Open Social Shindig Preso for FB and OpenSocial MeetupChris Schalk
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathonmarvin337
 
Integrating OpenSocial & SalesForce.com
Integrating OpenSocial & SalesForce.comIntegrating OpenSocial & SalesForce.com
Integrating OpenSocial & SalesForce.comChris Schalk
 
Open Social Intro Gdd Taipei
Open Social Intro Gdd TaipeiOpen Social Intro Gdd Taipei
Open Social Intro Gdd TaipeiChris Schalk
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScalePatrick Chanezon
 
OpenSocial - Montreal 2009 - Colloque MATI - Le Web 2.0 et l'éducation
OpenSocial - Montreal 2009 - Colloque MATI - Le Web 2.0 et l'éducationOpenSocial - Montreal 2009 - Colloque MATI - Le Web 2.0 et l'éducation
OpenSocial - Montreal 2009 - Colloque MATI - Le Web 2.0 et l'éducationPatrick Chanezon
 
Next Generation Portals : How OpenSocial Standard Adds Social to the Mix?
Next Generation Portals : How OpenSocial Standard Adds Social to the Mix? Next Generation Portals : How OpenSocial Standard Adds Social to the Mix?
Next Generation Portals : How OpenSocial Standard Adds Social to the Mix? Tugdual Grall
 
RIAction Social Applications in the Cloud 20090226
RIAction Social Applications in the Cloud 20090226RIAction Social Applications in the Cloud 20090226
RIAction Social Applications in the Cloud 20090226Vinoaj Vijeyakumaar
 
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 SitesJonathan LeBlanc
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)Bramus Van Damme
 

Semelhante a Goodle Developer Days Madrid 2008 - Open Social Update (20)

Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
Futuropolis 2058 Singapore - OpenSocial, a standard for the social webFuturopolis 2058 Singapore - OpenSocial, a standard for the social web
Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
 
State Of Opensocial
State Of OpensocialState Of Opensocial
State Of Opensocial
 
Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08
 
Jaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social WebJaoo - Open Social A Standard For The Social Web
Jaoo - Open Social A Standard For The Social Web
 
Open Social Summit Korea Overview
Open Social Summit Korea OverviewOpen Social Summit Korea Overview
Open Social Summit Korea Overview
 
Barcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application DevelopmentBarcamphanoi Opensocial Application Development
Barcamphanoi Opensocial Application Development
 
GSP East 2008: Open Social: Open For Business
GSP East 2008: Open Social: Open For BusinessGSP East 2008: Open Social: Open For Business
GSP East 2008: Open Social: Open For Business
 
Developing for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformDeveloping for LinkedIn's Application Platform
Developing for LinkedIn's Application Platform
 
Open Social Shindig Preso for FB and OpenSocial Meetup
Open Social Shindig Preso for FB and OpenSocial MeetupOpen Social Shindig Preso for FB and OpenSocial Meetup
Open Social Shindig Preso for FB and OpenSocial Meetup
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathon
 
Integrating OpenSocial & SalesForce.com
Integrating OpenSocial & SalesForce.comIntegrating OpenSocial & SalesForce.com
Integrating OpenSocial & SalesForce.com
 
Open Social Intro Gdd Taipei
Open Social Intro Gdd TaipeiOpen Social Intro Gdd Taipei
Open Social Intro Gdd Taipei
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
 
OpenSocial - Montreal 2009 - Colloque MATI - Le Web 2.0 et l'éducation
OpenSocial - Montreal 2009 - Colloque MATI - Le Web 2.0 et l'éducationOpenSocial - Montreal 2009 - Colloque MATI - Le Web 2.0 et l'éducation
OpenSocial - Montreal 2009 - Colloque MATI - Le Web 2.0 et l'éducation
 
Next Generation Portals : How OpenSocial Standard Adds Social to the Mix?
Next Generation Portals : How OpenSocial Standard Adds Social to the Mix? Next Generation Portals : How OpenSocial Standard Adds Social to the Mix?
Next Generation Portals : How OpenSocial Standard Adds Social to the Mix?
 
RIAction Social Applications in the Cloud 20090226
RIAction Social Applications in the Cloud 20090226RIAction Social Applications in the Cloud 20090226
RIAction Social Applications in the Cloud 20090226
 
OpenSocial
OpenSocialOpenSocial
OpenSocial
 
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
 
Opensocial
OpensocialOpensocial
Opensocial
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)
 

Mais de Patrick Chanezon

KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)Patrick Chanezon
 
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...Patrick Chanezon
 
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesDockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesPatrick Chanezon
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesPatrick Chanezon
 
Docker Enterprise Workshop - Intro
Docker Enterprise Workshop - IntroDocker Enterprise Workshop - Intro
Docker Enterprise Workshop - IntroPatrick Chanezon
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalPatrick Chanezon
 
The Tao of Docker - ITES 2018
The Tao of Docker - ITES 2018The Tao of Docker - ITES 2018
The Tao of Docker - ITES 2018Patrick Chanezon
 
Microsoft Techsummit Zurich Docker and Microsoft
Microsoft Techsummit Zurich Docker and MicrosoftMicrosoft Techsummit Zurich Docker and Microsoft
Microsoft Techsummit Zurich Docker and MicrosoftPatrick Chanezon
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018Patrick Chanezon
 
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with DockerDocker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with DockerPatrick Chanezon
 
The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017Patrick Chanezon
 
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...Patrick Chanezon
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Patrick Chanezon
 
Moby Introduction - June 2017
Moby Introduction - June 2017Moby Introduction - June 2017
Moby Introduction - June 2017Patrick Chanezon
 
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logicielsDocker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logicielsPatrick Chanezon
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapPatrick Chanezon
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectPatrick Chanezon
 

Mais de Patrick Chanezon (20)

KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)KubeCon 2019 - Scaling your cluster (both ways)
KubeCon 2019 - Scaling your cluster (both ways)
 
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
KubeCon China 2019 - Building Apps with Containers, Functions and Managed Ser...
 
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud ServicesDockercon 2019 Developing Apps with Containers, Functions and Cloud Services
Dockercon 2019 Developing Apps with Containers, Functions and Cloud Services
 
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud ServicesGIDS 2019: Developing Apps with Containers, Functions and Cloud Services
GIDS 2019: Developing Apps with Containers, Functions and Cloud Services
 
Docker Enterprise Workshop - Intro
Docker Enterprise Workshop - IntroDocker Enterprise Workshop - Intro
Docker Enterprise Workshop - Intro
 
Docker Enterprise Workshop - Technical
Docker Enterprise Workshop - TechnicalDocker Enterprise Workshop - Technical
Docker Enterprise Workshop - Technical
 
The Tao of Docker - ITES 2018
The Tao of Docker - ITES 2018The Tao of Docker - ITES 2018
The Tao of Docker - ITES 2018
 
Moby KubeCon 2017
Moby KubeCon 2017Moby KubeCon 2017
Moby KubeCon 2017
 
Microsoft Techsummit Zurich Docker and Microsoft
Microsoft Techsummit Zurich Docker and MicrosoftMicrosoft Techsummit Zurich Docker and Microsoft
Microsoft Techsummit Zurich Docker and Microsoft
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Develop and deploy Kubernetes  applications with Docker - IBM Index 2018Develop and deploy Kubernetes  applications with Docker - IBM Index 2018
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
 
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with DockerDocker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
Docker Meetup Feb 2018 Develop and deploy Kubernetes Apps with Docker
 
DockerCon EU 2017 Recap
DockerCon EU 2017 RecapDockerCon EU 2017 Recap
DockerCon EU 2017 Recap
 
Docker Innovation Culture
Docker Innovation CultureDocker Innovation Culture
Docker Innovation Culture
 
The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017The Tao of Docker - Devfest Nantes 2017
The Tao of Docker - Devfest Nantes 2017
 
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
Docker 之道 Modernize Traditional Applications with 无为 Create New Cloud Native ...
 
Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017Moby Open Source Summit North America 2017
Moby Open Source Summit North America 2017
 
Moby Introduction - June 2017
Moby Introduction - June 2017Moby Introduction - June 2017
Moby Introduction - June 2017
 
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logicielsDocker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
Docker Cap Gemini CloudXperience 2017 - la revolution des conteneurs logiciels
 
Weave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 RecapWeave User Group Talk - DockerCon 2017 Recap
Weave User Group Talk - DockerCon 2017 Recap
 
Oscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby projectOscon 2017: Build your own container-based system with the Moby project
Oscon 2017: Build your own container-based system with the Moby project
 

Último

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 

Último (20)

Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 

Goodle Developer Days Madrid 2008 - Open Social Update

  • 1.
  • 2. OpenSocial ecosystem updates Patrick Chanezon Chris Chabot Chewy Trewhella Thomas Steiner 22/09/2008
  • 3. Agenda • OpenSocial introduction • How to build OpenSocial applications • Hosting social applications • Social applications monetization • OpenSocial container demos • Becoming an OpenSocial container • Google Friend Connect • Summary
  • 5. Making the web better by making it social What does social mean?
  • 6. What does Social mean? Eliette what do you do with your friends?
  • 7. This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
  • 8. This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
  • 9. This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
  • 10. This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
  • 11. This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
  • 12. This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
  • 13. Raoul: a social object for Charlotte (3 year old)
  • 14.
  • 15. Jaiku’s Jyri Engeström's 5 rules for social networks: social objects 1. What is your object? 2. What are your verbs? 3. How can people share the objects? 4. What is the gift in the invitation? 5. Are you charging the publishers or the spectators? http://tinyurl.com/yus8gw
  • 16. How do we socialize objects online without having to create yet another social network?
  • 17. OpenSocial A common API for social applications across multiple web sites
  • 18. The Trouble with Developing Social Apps Which site do I build my app for?
  • 19. Let’s work on that… Using OpenSocial, I can build apps for all of these sites!
  • 20. What’s offered by OpenSocial? • Activities o What are people up to on the web • People/Profile Info o Who do I know, etc. • Persistent datastore o Handles key/value pairs
  • 21. Today: 375 Million User Reach
  • 22. Where is OpenSocial live today? Live to Users: Live Developer Sandboxes: • MySpace • iGoogle • orkut • imeem • Hi5 • CityIN • Freebar • Tianya • Friendster • Ning • Webon from Lycos • Plaxo Pulse • IDtail • Mail.ru • YiQi • Netlog - New! • Hyves - New! Individual Developer Links: http://code.google.com/apis/opensocial/gettingstared.html
  • 24. What’s in OpenSocial? • JavaScript API - Now • REST Protocol - New • Templates - Prototype in Shindig
  • 25. OpenSocial’s JavaScript API • OpenSocial JS API • Gadget JS API • Gadget XML schema • OpenSocial v0.7 is live • OpenSocial v0.8 is being deployed now • Specs and release notes: http://opensocial.org
  • 26. OpenSocial’s REST Protocol • Access social data without JavaScript • Works on 3rd party websites / phones / etc • Uses OAuth to allow secure access • Open source client libraries in development o Java, PHP, Python, <your fav language here> • Being deployed with OpenSocial v0.8 • Spec’s available at http://opensocial.org
  • 27. OpenSocial Templates • Writing JavaScript is hard • Writing templates is easy • Templates also give o Consistent UI across containers o Easy way to localize o More interesting content options when inlining into container (activities, profile views) o Ability to serve millions of dynamic pages per day without a server
  • 28. Try out templates today! • Samples and docs: http://ostemplates-demo.appspot.com • Sample app: http://ostemplates-demo.appspot.com/friends.html • Discussion group: http://tech.groups.yahoo.com/group/os-templates/ • Code is all in Shindig, can download, use, and even submit patches to improve • So… o Get involved and provide comments, and o Build some apps
  • 29. OpenSocial is what you make it. • OpenSocial is an open source project. • The spec is controlled by the community. • Anyone can contribute and have a voice. • http://groups.google.com/group/opensocial/ o “OpenSocial and Gadgets spec” subgroup • OpenSocial Foundation o Get involved to nominate and elect board reps o http://www.opensocial.org/opensocial-foundation/
  • 30. A note on compliance • OpenSocial is designed for many sites • Building an app: o Technology o Policy • OpenSocial Compliance Tests o http://code.google.com/p/opensocial- resources/wiki/ComplianceTests
  • 32. OpenSocial Compliance Matrix http://opensocial-compliance.appspot.com
  • 33. Other comments • Portable Contacts Alignment • Caja for JavaScript security
  • 34. A standard for everyone This work by Eliette Chanezon is licensed under a Creative Commons Attribution-Share Alike 3.0 License
  • 35. How To Build OpenSocial Applications
  • 36. People & Friends Example Requesting friend Info function getFriendData() { var req = opensocial.newDataRequest(); req.add( req.newFetchPersonRequest(VIEWER), 'viewer'); req.add( req.newFetchPeopleRequest(VIEWER_FRIENDS), 'viewerFriends'); req.send(onLoadFriends); }
  • 37. People & Friends Example Callback function for returned friend data function onLoadFriends(resp) { var viewer = resp.get('viewer').getData(); var viewerFriends = resp.get('viewerFriends').getData(); var html = 'Friends of ' + viewer.getDisplayName() + ‘:<br><ul>’; viewerFriends.each(function(person) { html += '<li>' + person.getDisplayName()+'</li>';}); html += '</ul>'; document.getElementById('friends').innerHTML += html; }
  • 38. Activities Example Posting an activity function postActivity(text) { var params = {}; params[opensocial.Activity.Field.TITLE] = text; var activity = opensocial.newActivity(params); opensocial.requestCreateActivity( activity, opensocial.CreateActivityPriority.HIGH, callback); } postActivity( quot;This is a sample activity, created at quot; + new Date().toString());
  • 39. Persistence Example Persisting data function populateMyAppData() { var req = opensocial.newDataRequest(); var data1 = Math.random() * 5; var data2 = Math.random() * 100; req.add( req.newUpdatePersonAppDataRequest(quot;VIEWERquot;, quot;AppField1quot;, data1)); req.add( req.newUpdatePersonAppDataRequest(quot;VIEWERquot;, quot;AppField2quot;, data2)); req.send(requestMyData); }
  • 40. Persistence Example Fetching persisted data function requestMyData() { var req = opensocial.newDataRequest(); var fields = [quot;AppField1quot;, quot;AppField2quot;]; req.add(req.newFetchPersonRequest( opensocial.DataRequest.PersonId.VIEWER), quot;viewerquot;); req.add(req.newFetchPersonAppDataRequest(quot;VIEWERquot;, fields), quot;viewer_dataquot;); req.send(handleReturnedData); }
  • 41. Persistence Example Displaying fetched (persisted) data function handleReturnedData(data) { var mydata = data.get(quot;viewer_dataquot;); var viewer = data.get(quot;viewerquot;); me = viewer.getData(); // me is global var var data = mydata[me.getId()]; htmlout += quot;AppField1: quot; + data[quot;AppField1quot;] + quot;<br/>quot;; htmlout += quot;AppField2: quot; + data[quot;AppField2quot;] + quot;<br/>quot;; var div = document.getElementById('content_div'); div.innerHTML = htmlout; }
  • 42. Resources For Application Developers Specification http://opensocial.org/ http://groups.google.com/group/opensocial-and-gadgets-spec Code Samples and Tools http://code.google.com/opensocial http://code.google.com/p/opensocial-resources/ Sandboxes http://developer.myspace.com/ http://www.hi5networks.com/developer/ http://opensocial.ning.com/ http://code.google.com/apis/orkut/ http://code.google.com/apis/igoogle/ http://en.netlog.com/go/developer/opensocial
  • 43. OpenSocial resources in spanish • Google Code in Spanish: http://code.google.com/intl/es/ • OpenSocial v0.7 - http://code.google.com/intl/es/apis/opensocial/ • Gadgets - http://code.google.com/intl/es/apis/gadgets/ (full reference for Opensocial 0.7) • Orkut API - http://code.google.com/intl/es/apis/orkut/
  • 45. Hosting OpenSocial apps In addition to using the provided persistence API... • Establish a quot;homequot; site where gadget can phone home to retrieve, post data • Can host home site on your own, or use services: o Amazon EC2 o Joyent o Google AppEngine • Zembly: is the world's first cloud-based development environment for social apps. Full OpenSocial support
  • 46. Google AppEngine and OpenSocial • Create an App Engine app as your backend! o Use makeRequest() to call back to your AppEngine server o Utilize AppEngine's datastore • New OpenSocial Apps are coming online o BuddyPoke, • Checkout Lane Liabraaten’s OpenSocial-AppEngine integration article o http://code.google.com/apis/opensocial/articles/appengine.html • Google IO Code Lab about OpenSocial Apps in the Cloud
  • 48. OpenSocial Monetization • Ads from Ad Networks o AdSense, RightMedia o BuddyPoke, Rate My Friend • Brand/Private Label App o Sony Ericsson MTV Roadies app on orkut • Sell virtual or real goods • Free -> Freemium • Referrals • Virtual currency
  • 49. Success Story: Buddy Poke • #1 OpenSocial app on orkut • 8M installs for orkut, hi5, MySpace • $1-2 CPM • #1 App for App Engine w/ millions daily PV
  • 50. Success Story: PhotoBuzz • 6M+ installs on hi5 and orkut • CPM $1-3, especially good on orkut • 4M buzzes per day • Small team of 4 people, profitable
  • 61. How are we doing? • More than 35,000,000 unique members • More than 6,000,000,000 pageviews/Month
  • 63. More than 23 languages • 23 languages and alot more coming! o 8,000,000 Spanish & Catalan speaking members Nederlands Svenska slovenščina Deutsch Magyar Русский English Italiano česky français Dansk suomi Polski Hrvatski Türkçe Afrikaans Slovenčina Eesti Català Español Português Latviešu Română valoda български Lietuvių kalba Norsk (bokmål)
  • 70. Share with your friends
  • 72. Whitelisting Requirements • an application should be fully integrated o no external login should be needed... o no external links • no ads in “profile” view • no spamming through activities/requests • localised & translated o We can help you!
  • 75. Localisation is important! • Translations are automatically injected • Translation tool for Netlog translators
  • 77. What’s in it for you? • Branding, co-branding, sponsorships • 100% revenue from vertical rectangle or skyscraper on your application page • Credit economy with Netlog OpenSocial extension
  • 78. Credit Economy • Virtual Currency • Use Cases o charge credits for app installation o charge credits for certain features o charge credits for buying items o charge credits for...
  • 79. Questions? • Developer pages: o http://es.netlog.com/go/developer/ • OpenSocial sandbox: o http://es.netlog.com/go/developer/opensocial/sandbox=1
  • 81. Google Dev Day OpenSocial Madrid Social Network Business Tool 08/09/25 Career Management © viadeo – septembre 2008
  • 82. Agenda • A few words about Viadeo • What to offer to Viadeo’s members • Sandbox presentation
  • 83. Viadeo • 3 groups of Use : o Social Network, o Business Tool o Career Management • 5 +m Members mainly : o Europe o China • Strong activity o 7, 000 new members/day o 10, 000 connections/day o +120, 000 consulted profiles/day o 1,3 M hubs registration
  • 84. International Footprint : 5+m Members France • 1.8m members(1) Other European countries • 150K members(1) Belgium • 100k members(1) UK/Ireland • 150 k members(1) China Switzerland • 2.2m members(1) • 50K members(1) Spain/Portugal Italy • 350k members(1) • 300k members(1) (1) end of August 2008
  • 85. Benefits Viadeo can offer to developers • 8 languages (European + China) • Professional oriented • Distribution of Members among all the Industries • Mainly “A Level” profiles • Members with High Revenues => Strong capabilities of monetization
  • 86. Vertical Apps ? Members split by industry
  • 87. “A Level” priority targets ? High qualification of Viadeo’s members
  • 88. Apps for Professional Social Network… Helping to : • Find Customers / Partners / Suppliers • Organize Meetings/Events • Share information and expertise But also ... • Get headhunted… • …and recruit • Etc…
  • 89. Sandbox Presentation – Create a Dev. Account
  • 90. Sandbox Presentation – Apps Directory
  • 93. Sandbox Presentation – Viadeo mailing list opensocial@viadeo.com
  • 94. Becoming an OpenSocial Container Chris Chabot
  • 95. Becoming an OpenSocial Container • Question: o How do you become an OpenSocial container? • Answer: o The Apache incubator project “Shindig” serves this purpose!
  • 96. What is Shindig ? • Open source reference implementation of OpenSocial & Gadgets specification • An Apache Software Incubator project • Available in Java & PHP • http://incubator.apache.org/shindig It’s Goal: “Shindig's goal is to allow new sites to start hosting social apps in under an hour's worth of workquot;
  • 97. Introduction to Shindig Architecture • Gadget Server • Social Data Server • Gadget Container JavaScript
  • 100. Social Server - RESTful API • Preview available on o iGoogle o Orkut o Hi5 • New development models o Server to server & Mobile! • Try it out: curl http://localhost:8080/social/rest/people/john.doe/@all
  • 101. Implementing Shindig - Data sources • Integrate with your own data sources o People Service o Activities Service o App Data Service class MyPeopleService implements PeopleService { ... } class MyAppDataService implements AppDataService { ... } class MyActivitiesService implements ActivitiesService { ... }
  • 102. Implementing Shindig - Data sources • Implement functions function getActivities($ids) { $activities = array(); $res = mysqli_query($this->db, ”SELECT…quot;); while ($row = @mysqli_fetch_array($res, MYSQLI_ASSOC)) { $activity = new Activity($row['activityId'], $row['personId']); $activity->setStreamTitle($row['activityStream']); $activity->setTitle($row['activityTitle']); $activity->setBody($row['activityBody']); $activity->setPostedTime($row['created']); $activities[] = $activity; } return $activities; }
  • 103. Implementing - Make it a platform • Add UI Elements o App Gallery o App Canvas o App Invites o Notification Browser • Developer Resources o Developer Console o Application Gallery • Scale it Out!
  • 104. Implementing - Scale it Out! • Prevent Concurrency issues • Reduce Latency • Add Caching • Add more caching!
  • 105. Usage Example: Sample Container • Static html sample container • No effort to get up and running • No database or features
  • 106. Usage Example: Partuza • Partuza is a Example social network site, written in PHP • Allows for local gadget development & testing too • Use as inspiration (or copy) for creating your own social site • http://code.google.com/p/partuza
  • 107. OpenSocial for intranet, portals Sun Microsystems • Socialsite: Shindig + gadget based UI written in Java • Open Source https://socialsite.dev.java.net/ Upcoming from Impetus • Zest: Shindig + Drupal (PHP) • Zeal: Shindig + Liferay (Java)
  • 108. Summary • Become an OpenSocial Container o Get Shindig (PHP or Java) o Look at examples & documentation o Implement Services o Add UI o Scale it out • Resources & Links: o http://www.chabotc.com/gdd/
  • 109. What is Friend Connect? Allows any site to become an OpenSocial container by simply copying a few snippets of code into your site http://www.google.com/friendconnect/
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120. Friend Connect gives ... • Users o ... more ways to do more things with my friends • Site owners o ... more (and more engaged) traffic for my site • App developers o ... more reach for my apps and ... make it easy
  • 122.
  • 123. Q&A