SlideShare una empresa de Scribd logo
1 de 90
Descargar para leer sin conexión
Introduction to OpenSocial Apps &
             Containers
Patrick Chanezon
Developer Advocate
chanezon@google.com
Making the web better
 by making it social

        Why?
What does Social mean?




      Eliette what do you do with your friends?
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Raoul: a social object for Charlotte (3 year old)
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
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?
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
OpenSocial

 A common open set of APIs for
building social applications across
           multiple sites
This is NOT GoogleSocial.
It’s about making the Web more
      social, not just Google.
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Standards-based

  html+javascript
Why should you care about OpenSocial?

  Developers: Distribution >200 Million users
  Containers: Features
  Users: More applications
Gartner Technology Hype Cycle
OpenSocial Hype Cycle
Creating a Standard like OpenSocial is
a Social endeavor
Open Social Presentation - GSP West 2008
Integrating Community Feedback
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
Open Social Presentation - GSP West 2008
A standard for everyone
Chris Schalk
Developer Advocate
How does it work?

10 minutes to an OpenSocial app
One API, Many Websites
One API
  client-side JavaScript - version 0.7 ready for production
      standard Web development tools: HTML + Javascript
      server optional
  server-side REST (initial proposal under review)
      Google proposal based on Atom Publishing Protocol
      AtomPub and JSON

Many Websites
  every OpenSocial website exposes the same API

         ==> more users for every app
         ==> more apps for every user
Core Services

 People (quot;who I amquot;, quot;who are my friendsquot;)
 Activities (quot;what I'm doingquot;)

 Persistence (state without a server)
Core Services - People
Getting info on you and your friends...

/**
* Request for friend info when the page loads.
*/
function getData() {
   var req = opensocial.newDataRequest();
   req.add(req.newFetchPersonRequest(VIEWER), 'viewer');
   req.add(req.newFetchPeopleRequest(VIEWER_FRIENDS),'viewerFriends');
   req.send(onLoadFriends);
};
Core Services - People
Getting info on you and your friends...
/**
* Callback function for returned friend data.
*/
function onLoadFriends(response) {
  var viewer = response.get('viewer').getData();
   var html = 'Friends of ' + viewer.getDisplayName();
   html += ':<br><ul>';
   var viewerFriends = response.get('viewerFriends').getData();
   viewerFriends.each(function(person) {
    html += '<li>' + person.getDisplayName() + '</li>';});
   html += '</ul>';
   document.getElementById('message').innerHTML = html;
};
Core Services - Activities
Posting an Activity...

/**
* Posting a simple activity
*/
function postActivity(text) {
   var params = {};
   params[opensocial.Activity.Field.TITLE] = text;
   var activity = opensocial.newActivity(params);
   opensocial.requestCreateActivity(activity,
    opensocial.CreateActivityPriority.HIGH, callback);
};
Core Services - Activities
Posting an Activity...

/**
* Displaying an activity
*/
function callback(data) {
   var title = data.getField(opensocial.Activity.Field.TITLE);
   title = gadgets.util.unescapeString(title);
   div.innerHTML = title;
};
Core Services - Persistence
Requesting to persist data
/**
* Storing 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);
};
Core Services - Persistence
Fetching the persisted data
/**
* Fetching 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);
}
Core Services - Persistence
Displaying the fetched (persisted) data
/**
* Displaying 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;
}
Demo

OpenSocial Online Resources
http://code.google.com/opensocial
http://code.google.com/p/opensocial-resources/


OpenSocial Applications
PixWall, by PixVerse on Orkut
http://sandbox.orkut.com/AppInfo.aspx?appId=344988300488
Kevin Marks
Developer Advocate
Caja - when gadgets go bad

 Gadgets can be a new vector for phishing, spam, malware
 Social spread of gadgets can spread bad gadgets too
 Caja reduces threats with a JavaScript sanitizer as an
 additional quot;sandboxquot; on top of iFrames protection
Caja Javascript sanitizer

  Capability-based Javascript sanitizer
  Open Source project from Google
  Optional but recommended for OpenSocial containers
  Eventually will be secure enough to run gadgets inline
  instead of in iframes
Who should care about Caja?

 OpenSocial Containers can require Caja's extra security,
 Gadgets that cannot be Cajoled could show users an extra
 warning.
 Developers of OpenSocial gadgets should test as Cajoled
 gadgets, or face warnings.
 Users, containers and developers will gain from Cajoled
 gadgets without iFrames later
Shindig: What is it?

Apache Software Foundation project
  Brian McCallister from Ning championed

Open source reference implementation of
OpenSocial + Gadgets stack

Goal:
  Launch a new (simple) container in under an
  hour’s worth of work
Shindig: Components
Gadget Container JavaScript
   Core gadgets JavaScript environment
Gadget Server
   Renders gadget XML (i.e. gmodules.com)
OpenSocial Container JavaScript
   JavaScript environment for people, activities, persistence
OpenSocial Gateway Server
   RESTful API server
Code Status

Java and Javascript running now
Googlers have contributed:
  Java Gadget Server
  Gadget Container JavaScript
  OpenSocial Container JavaScript
PHP Gadget Server contributed by Ning
PHP recently rewritten to match Java
Looking for Ruby, Python, Perl, C#, etc.
Shindig Demo

Running Shindig in Eclipse
Conclusion: it's time to get coding!

OpenSocial is making the web more social

The current version 0.7 is in production

Developers can start creating social applications today
  Orkut sandbox, Hi5, Plaxo, Ning, and MySpace

Orkut, Myspace, Hi5 open to consumers soon

Social sites: implement OpenSocial
   get Shindig and start planning
Lou Moore
Director of Engineering
hi5 Platform

OpenSocial Container
   Implementation
hi5 Platform
  About hi5
  Developer Console
  Integration Points
  Application Discovery
  hi5 OpenSocial Extensions
  Why Develop for hi5?
  Roadmap
  Demo
hi5 - Dominant Global Social Network
We are one of the largest web sites in the world (#8 on Alexa)
and the most global of all the social networking sites.
   Over 80+ million registered members and ~40 million WW
   unique users
   Most popular Spanish-speaking social network in the world

Top 10 in Latin America
Mexico, Colombia, Bolivia, Guatemala, Peru, Costa Rica,
Nicaragua, Honduras, Ecuador, El Salvador

Top 10 in Rest of the World
Portugal, Greece, Romania, Cyprus, Thailand, Jamaica, Sri
Lanka, Kuwait, Jordan, Oman
Hi5’s Demographics
  Broad reach across major demos:
      18 to 34 primary
      Roughly 50%split male/female
      US traffic: significant percentage is Hispanic
  Diverse traffic from Europe (25%), North America (15%)
 and Central & South America (31%), Asia (21%)
  Offered in 15 languages
  Grew big in most international countries with English first
 and then translated
  Members use the site primarily to keep in touch with their
 friends. Users have limited self-expression tools - skins,
 widgets, etc.
Developer Console
 Add and manage applications
     Refresh metadata from gadget prefs
     Manage other developers
     Manage API Keys
     Submit applications to the hi5 directory
 hi5 Developer Blog feed
 Simple in-line application editor
 View analytics for live applications
Developer Console
Integration Points
  Homepage
     My Applications
  Profile Module
     Draggable, minimizable
     Skins feature allows seamless UI integration
  Canvas Page
     Dedicated page for applications
     Monetization opportunity, allows embedded ad tags
Homepage
Profile Module
Skins feature allows seamless UI integration
Canvas Page
Application Discovery
  Application Directory
      Categories, sorting and filtering
  Application Homepage
      My Friends' applications
      Other recommendations
      Manage your applications
  Viral Channels
      Friend Updates
      Notifications
      Invites
      Email (limited to 1 per user per app per day)
Application Directory
Applications Homepage
Discover applications as filtered by your networks or manage
our own applications
Friend Updates
  On both homepage and profile page
  Created using the OpenSocial Activity API (requestCreateActivity)
  Publication not guaranteed but typically high (> 80%)
Notifications
  Sent using the OpenSocial request* API. (requestSendMessage,
  type=NOTIFICATION)
  Limited to 5 per user per app per day
Invites
  All apps have built-in invite flow from profile and canvas pages
  We will offer limited or no ability to redirect users to invite
hi5 OpenSocial Extensions API
An optional feature that provides access to additional hi5-
specific functionality
   New data requests
       Photos (hi5.fetchAlbumsDataRequest)
       Online Presence (hi5.fetchPresenceRequest)
       Status (hi5.fetchStatusRequest)
   New fields
       Link for friend update media (hi5.ActivityMediaItemField.
       LINK)
       More image sizes(hi5.ProfileField.SMALL_IMG_URL,
       etc)
   Simple template/tag library
   More to come!!
More reasons to develop for hi5...
  A new audience via our unique footprint in Latin America,
  Europe and Asia
     Of the more than 80 million individuals registered with
     hi5, less than a third are also active on the other leading
     social networks, incl. FB, MyS, Bebo, Friendster
     (comscore)
  OpenSocial!
     Because hi5 is a founding adopter of OpenSocial,
     developers’ apps can be deeply embedded within hi5, as
     well as easily translated beyond hi5 to other OpenSocial-
     enabled websites as well – further increasing their reach
     potential by many millions!
More reasons to develop for hi5...
  $$$
     A dedicated canvas page that can be monetized
     Promotions on the hi5 blog (one developer post/mo –
     rotating among our registered developers with popular
     apps)
  Free Infrastructure from Joyent
     hi5 Developers could win one year of Joyent’s Free
     Accelerator™ scalable, on-demand infrastructure for
     their hi5 app!
     Limited number at launch, more to come
hi5 Platform Roadmap
   Several hundred apps in our sandbox that we are reviewing
   and working with developers to finalize.
   White-list style approach to ensure app quality and user-
   centric relevancy (guidelines to be published this week)

March 15th Hackathon
Hosted at the Google Campus in Mountain View, geared
towards helping developers finalize their applications for launch.

March 31st Public Launch
Public rollout begins! We'll launch with as many applications
that have met our guidelines and are ready to go live.
Demo

PixWall, by PixVerse on hi5
http://lou.sandbox.hi5.com/friend/apps/entry/gs1.rs.pixverse.com:15900/hi5pixwall/gadget
Resources For Container Developers
Specification
http://code.google.com/apis/opensocial/

For container developers
http://incubator.apache.org/shindig/
http://code.google.com/p/google-caja

Pat's delicious feed: http://del.icio.us/chanezon/opensocial
Resources For Application Developers
Specification
http://code.google.com/apis/opensocial/
REST API: http://groups.google.com/group/opensocial-and-
gadgets-spec

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

Sandboxes
http://developer.myspace.com/
http://www.hi5networks.com/developer/
http://opensocial.ning.com/
http://pulse.plaxo.com/pulse/gadgets/
http://code.google.com/apis/orkut/
Pats delicious feed: http://del.icio.us/chanezon/opensocial
Questions

Más contenido relacionado

Similar a Open Social Presentation - GSP West 2008

Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationChris Schalk
 
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
 
Hi5 Hackathon Presentation
Hi5 Hackathon PresentationHi5 Hackathon Presentation
Hi5 Hackathon PresentationLou Moore
 
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
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathonmarvin337
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialPatrick Chanezon
 
OpenSocial Intro
OpenSocial IntroOpenSocial Intro
OpenSocial IntroPamela Fox
 
Hi5 Opensocial Code Lab Presentation
Hi5 Opensocial Code Lab PresentationHi5 Opensocial Code Lab Presentation
Hi5 Opensocial Code Lab Presentationplindner
 
Developing for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformDeveloping for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformTaylor Singletary
 
Android Based Application On Quot Missing Person Finder Quot
Android Based Application On  Quot  Missing Person Finder  QuotAndroid Based Application On  Quot  Missing Person Finder  Quot
Android Based Application On Quot Missing Person Finder QuotJim Webb
 
Google IO 2008 - Opensocial: Meet The Containers
Google IO 2008 - Opensocial: Meet The ContainersGoogle IO 2008 - Opensocial: Meet The Containers
Google IO 2008 - Opensocial: Meet The ContainersPatrick Chanezon
 
Meet The Containers
Meet The ContainersMeet The Containers
Meet The ContainersLinkedIn
 
South America 2008: Open Social For Brand Advertising and Media
South America 2008: Open Social For Brand Advertising and MediaSouth America 2008: Open Social For Brand Advertising and Media
South America 2008: Open Social For Brand Advertising and MediaPatrick Chanezon
 
Introduction To Open Web Protocols
Introduction To Open Web ProtocolsIntroduction To Open Web Protocols
Introduction To Open Web ProtocolsMohan Krishnan
 

Similar a Open Social Presentation - GSP West 2008 (20)

Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial Presentation
 
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
 
Hi5 Hackathon Presentation
Hi5 Hackathon PresentationHi5 Hackathon Presentation
Hi5 Hackathon Presentation
 
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
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathon
 
Open social
Open socialOpen social
Open social
 
Hi5 Open Social
Hi5   Open SocialHi5   Open Social
Hi5 Open Social
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocial
 
OpenSocial Intro
OpenSocial IntroOpenSocial Intro
OpenSocial Intro
 
Open Social
Open SocialOpen Social
Open Social
 
Hi5 Opensocial Code Lab Presentation
Hi5 Opensocial Code Lab PresentationHi5 Opensocial Code Lab Presentation
Hi5 Opensocial Code Lab Presentation
 
Opensocial
OpensocialOpensocial
Opensocial
 
Swift meetup22june2015
Swift meetup22june2015Swift meetup22june2015
Swift meetup22june2015
 
OpenSocial
OpenSocialOpenSocial
OpenSocial
 
Developing for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformDeveloping for LinkedIn's Application Platform
Developing for LinkedIn's Application Platform
 
Android Based Application On Quot Missing Person Finder Quot
Android Based Application On  Quot  Missing Person Finder  QuotAndroid Based Application On  Quot  Missing Person Finder  Quot
Android Based Application On Quot Missing Person Finder Quot
 
Google IO 2008 - Opensocial: Meet The Containers
Google IO 2008 - Opensocial: Meet The ContainersGoogle IO 2008 - Opensocial: Meet The Containers
Google IO 2008 - Opensocial: Meet The Containers
 
Meet The Containers
Meet The ContainersMeet The Containers
Meet The Containers
 
South America 2008: Open Social For Brand Advertising and Media
South America 2008: Open Social For Brand Advertising and MediaSouth America 2008: Open Social For Brand Advertising and Media
South America 2008: Open Social For Brand Advertising and Media
 
Introduction To Open Web Protocols
Introduction To Open Web ProtocolsIntroduction To Open Web Protocols
Introduction To Open Web Protocols
 

Más 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
 

Más 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

UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 

Último (20)

UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 

Open Social Presentation - GSP West 2008

  • 1. Introduction to OpenSocial Apps & Containers
  • 3. Making the web better by making it social Why?
  • 4. What does Social mean? Eliette what do you do with your friends?
  • 11. Raoul: a social object for Charlotte (3 year old)
  • 14. 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
  • 15. How do we socialize objects online without having to create yet another social network?
  • 21. OpenSocial A common open set of APIs for building social applications across multiple sites
  • 22. This is NOT GoogleSocial. It’s about making the Web more social, not just Google.
  • 27. Why should you care about OpenSocial? Developers: Distribution >200 Million users Containers: Features Users: More applications
  • 30. Creating a Standard like OpenSocial is a Social endeavor
  • 44. A standard for everyone
  • 46. How does it work? 10 minutes to an OpenSocial app
  • 47. One API, Many Websites One API client-side JavaScript - version 0.7 ready for production standard Web development tools: HTML + Javascript server optional server-side REST (initial proposal under review) Google proposal based on Atom Publishing Protocol AtomPub and JSON Many Websites every OpenSocial website exposes the same API ==> more users for every app ==> more apps for every user
  • 48. Core Services People (quot;who I amquot;, quot;who are my friendsquot;) Activities (quot;what I'm doingquot;) Persistence (state without a server)
  • 49. Core Services - People Getting info on you and your friends... /** * Request for friend info when the page loads. */ function getData() { var req = opensocial.newDataRequest(); req.add(req.newFetchPersonRequest(VIEWER), 'viewer'); req.add(req.newFetchPeopleRequest(VIEWER_FRIENDS),'viewerFriends'); req.send(onLoadFriends); };
  • 50. Core Services - People Getting info on you and your friends... /** * Callback function for returned friend data. */ function onLoadFriends(response) { var viewer = response.get('viewer').getData(); var html = 'Friends of ' + viewer.getDisplayName(); html += ':<br><ul>'; var viewerFriends = response.get('viewerFriends').getData(); viewerFriends.each(function(person) { html += '<li>' + person.getDisplayName() + '</li>';}); html += '</ul>'; document.getElementById('message').innerHTML = html; };
  • 51. Core Services - Activities Posting an Activity... /** * Posting a simple activity */ function postActivity(text) { var params = {}; params[opensocial.Activity.Field.TITLE] = text; var activity = opensocial.newActivity(params); opensocial.requestCreateActivity(activity, opensocial.CreateActivityPriority.HIGH, callback); };
  • 52. Core Services - Activities Posting an Activity... /** * Displaying an activity */ function callback(data) { var title = data.getField(opensocial.Activity.Field.TITLE); title = gadgets.util.unescapeString(title); div.innerHTML = title; };
  • 53. Core Services - Persistence Requesting to persist data /** * Storing 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); };
  • 54. Core Services - Persistence Fetching the persisted data /** * Fetching 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); }
  • 55. Core Services - Persistence Displaying the fetched (persisted) data /** * Displaying 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; }
  • 56. Demo OpenSocial Online Resources http://code.google.com/opensocial http://code.google.com/p/opensocial-resources/ OpenSocial Applications PixWall, by PixVerse on Orkut http://sandbox.orkut.com/AppInfo.aspx?appId=344988300488
  • 58. Caja - when gadgets go bad Gadgets can be a new vector for phishing, spam, malware Social spread of gadgets can spread bad gadgets too Caja reduces threats with a JavaScript sanitizer as an additional quot;sandboxquot; on top of iFrames protection
  • 59. Caja Javascript sanitizer Capability-based Javascript sanitizer Open Source project from Google Optional but recommended for OpenSocial containers Eventually will be secure enough to run gadgets inline instead of in iframes
  • 60. Who should care about Caja? OpenSocial Containers can require Caja's extra security, Gadgets that cannot be Cajoled could show users an extra warning. Developers of OpenSocial gadgets should test as Cajoled gadgets, or face warnings. Users, containers and developers will gain from Cajoled gadgets without iFrames later
  • 61. Shindig: What is it? Apache Software Foundation project Brian McCallister from Ning championed Open source reference implementation of OpenSocial + Gadgets stack Goal: Launch a new (simple) container in under an hour’s worth of work
  • 62. Shindig: Components Gadget Container JavaScript Core gadgets JavaScript environment Gadget Server Renders gadget XML (i.e. gmodules.com) OpenSocial Container JavaScript JavaScript environment for people, activities, persistence OpenSocial Gateway Server RESTful API server
  • 63. Code Status Java and Javascript running now Googlers have contributed: Java Gadget Server Gadget Container JavaScript OpenSocial Container JavaScript PHP Gadget Server contributed by Ning PHP recently rewritten to match Java Looking for Ruby, Python, Perl, C#, etc.
  • 65. Conclusion: it's time to get coding! OpenSocial is making the web more social The current version 0.7 is in production Developers can start creating social applications today Orkut sandbox, Hi5, Plaxo, Ning, and MySpace Orkut, Myspace, Hi5 open to consumers soon Social sites: implement OpenSocial get Shindig and start planning
  • 66. Lou Moore Director of Engineering
  • 68. hi5 Platform About hi5 Developer Console Integration Points Application Discovery hi5 OpenSocial Extensions Why Develop for hi5? Roadmap Demo
  • 69. hi5 - Dominant Global Social Network We are one of the largest web sites in the world (#8 on Alexa) and the most global of all the social networking sites. Over 80+ million registered members and ~40 million WW unique users Most popular Spanish-speaking social network in the world Top 10 in Latin America Mexico, Colombia, Bolivia, Guatemala, Peru, Costa Rica, Nicaragua, Honduras, Ecuador, El Salvador Top 10 in Rest of the World Portugal, Greece, Romania, Cyprus, Thailand, Jamaica, Sri Lanka, Kuwait, Jordan, Oman
  • 70. Hi5’s Demographics Broad reach across major demos: 18 to 34 primary Roughly 50%split male/female US traffic: significant percentage is Hispanic Diverse traffic from Europe (25%), North America (15%) and Central & South America (31%), Asia (21%) Offered in 15 languages Grew big in most international countries with English first and then translated Members use the site primarily to keep in touch with their friends. Users have limited self-expression tools - skins, widgets, etc.
  • 71. Developer Console Add and manage applications Refresh metadata from gadget prefs Manage other developers Manage API Keys Submit applications to the hi5 directory hi5 Developer Blog feed Simple in-line application editor View analytics for live applications
  • 73. Integration Points Homepage My Applications Profile Module Draggable, minimizable Skins feature allows seamless UI integration Canvas Page Dedicated page for applications Monetization opportunity, allows embedded ad tags
  • 75. Profile Module Skins feature allows seamless UI integration
  • 77. Application Discovery Application Directory Categories, sorting and filtering Application Homepage My Friends' applications Other recommendations Manage your applications Viral Channels Friend Updates Notifications Invites Email (limited to 1 per user per app per day)
  • 79. Applications Homepage Discover applications as filtered by your networks or manage our own applications
  • 80. Friend Updates On both homepage and profile page Created using the OpenSocial Activity API (requestCreateActivity) Publication not guaranteed but typically high (> 80%)
  • 81. Notifications Sent using the OpenSocial request* API. (requestSendMessage, type=NOTIFICATION) Limited to 5 per user per app per day
  • 82. Invites All apps have built-in invite flow from profile and canvas pages We will offer limited or no ability to redirect users to invite
  • 83. hi5 OpenSocial Extensions API An optional feature that provides access to additional hi5- specific functionality New data requests Photos (hi5.fetchAlbumsDataRequest) Online Presence (hi5.fetchPresenceRequest) Status (hi5.fetchStatusRequest) New fields Link for friend update media (hi5.ActivityMediaItemField. LINK) More image sizes(hi5.ProfileField.SMALL_IMG_URL, etc) Simple template/tag library More to come!!
  • 84. More reasons to develop for hi5... A new audience via our unique footprint in Latin America, Europe and Asia Of the more than 80 million individuals registered with hi5, less than a third are also active on the other leading social networks, incl. FB, MyS, Bebo, Friendster (comscore) OpenSocial! Because hi5 is a founding adopter of OpenSocial, developers’ apps can be deeply embedded within hi5, as well as easily translated beyond hi5 to other OpenSocial- enabled websites as well – further increasing their reach potential by many millions!
  • 85. More reasons to develop for hi5... $$$ A dedicated canvas page that can be monetized Promotions on the hi5 blog (one developer post/mo – rotating among our registered developers with popular apps) Free Infrastructure from Joyent hi5 Developers could win one year of Joyent’s Free Accelerator™ scalable, on-demand infrastructure for their hi5 app! Limited number at launch, more to come
  • 86. hi5 Platform Roadmap Several hundred apps in our sandbox that we are reviewing and working with developers to finalize. White-list style approach to ensure app quality and user- centric relevancy (guidelines to be published this week) March 15th Hackathon Hosted at the Google Campus in Mountain View, geared towards helping developers finalize their applications for launch. March 31st Public Launch Public rollout begins! We'll launch with as many applications that have met our guidelines and are ready to go live.
  • 87. Demo PixWall, by PixVerse on hi5 http://lou.sandbox.hi5.com/friend/apps/entry/gs1.rs.pixverse.com:15900/hi5pixwall/gadget
  • 88. Resources For Container Developers Specification http://code.google.com/apis/opensocial/ For container developers http://incubator.apache.org/shindig/ http://code.google.com/p/google-caja Pat's delicious feed: http://del.icio.us/chanezon/opensocial
  • 89. Resources For Application Developers Specification http://code.google.com/apis/opensocial/ REST API: http://groups.google.com/group/opensocial-and- gadgets-spec Code Samples and Tools http://code.google.com/p/opensocial-resources/ Sandboxes http://developer.myspace.com/ http://www.hi5networks.com/developer/ http://opensocial.ning.com/ http://pulse.plaxo.com/pulse/gadgets/ http://code.google.com/apis/orkut/ Pats delicious feed: http://del.icio.us/chanezon/opensocial