SlideShare a Scribd company logo
and Apache Shindig



Chris Schalk, Google Developer Advocate

FaceBook and OpenSocial Developer Meetup - 12/10/2008
Agenda


    • OpenSocial Concepts
    • Apache Shindig
    • The OpenSocial Specification Process




2
Agenda


    • OpenSocial Concepts
    • Apache Shindig
    • The OpenSocial Specification Process




3
Too many platforms!
Standards based
 OpenSocial



Write once…
   Deploy everywhere
Massive exposure for
    your apps!
OpenSocial Concepts




                 What is OpenSocial?

    “OpenSocial defines a common set of APIs based on Open Standards
    for building social applications across multiple websites”



9
OpenSocial Concepts




          Who own’s OpenSocial?
                                 ?     No!

         OpenSocial is managed under the auspices of the
         “OpenSocial Foundation” - http://www.opensocial.org
10
Some OpenSocial Partners
In one year: has over 600 Million user reach!
More OpenSocial numbers




  315M+ app Installations

  85M+ daily canvas page views

  7,500+ applications

  20+ live containers




13
Where is OpenSocial live today?
     Applications live to Users:          Initial Developer Sandboxes:

      •   LinkedIn - New                   •   iGoogle
      •   MySpace                          •   Yahoo!
      •   orkut                            •   Minglebox
      •   Hi5                              •   imeem
      •   Freebar
                                           •   Viadeo
      •   Friendster
                                           •   CityIN
      •   Webon from Lycos
      •   IDtail
                                           •   Tianya
      •   YiQi                             •   Ning
      •   Netlog                           •   Plaxo Pulse
      •   Hyves                            •   Lokalisten
                                           •   … many more in the pipeline!
      •   Ning
      •   Fanbox
      •   XiaoNei
      •   Mail.ru
      •   Socialtext
      •   51.com                   http://wiki.opensocial.org
14
Not just Social Network Sites



 • Social network sites - Profiles and home pages
     ex: MySpace, Hi5


 • Personal dashboards – Widgets
     ex: iGoogle, My Yahoo


 • Sites based around a Social Object
     ex: Flickr, YouTube


 • Enterprise, Professional
     ex: LinkedIn, Oracle, SalesForce.com


 • Any web site

15
OpenSocial Roadmap



     • Version 0.5 was released in a “developer release” on Nov
     1st.
         • First “sandbox” was made available on Orkut

     • Version 0.6 was released in December
        • Initial version of Shindig server software was launched as Apache
        incubator project
        • Other sandboxes came live - Hi5, Ning, Plaxo …

     • Version 0.7 (production) was released in January
        • MySpace, Hi5, Orkut currently running with 0.7


16
OpenSocial Roadmap


     • Version v0.8 is current

     • Latest evolution of OpenSocial as defined by the
     OpenSocial development community
         • Updated JavaScript API
         • Now contains a RESTful API

     • hi5, MySpace, orkut, iGoogle now support 0.8

     • Specification:
     http://www.opensocial.org/Technical-Resources/opensocial-spec-v08



17
OpenSocial v0.8.1 spec is here


     • Specification is now published
     • Updates include:
        • RESTful Protocol updates
        • JSON RPC Protocol


     • Specification:
     http://sites.google.com/a/opensocial.org/opensocial/Technical-
     Resources/opensocial-spec-v081




18
OpenSocial 0.9 - Future Directions

     • Goal:
        – Enable a faster development experience that is both secure and
          efficient
     • Solution: “Opensocial Templates”!

     OS Templates core principles:
     • Client-side and server-side processing
     • Standard set of tags with extensibility model
        – Example: <os:ShowPerson>


     • http://groups.google.com/group/opensocial-and-gadgets-
       spec/web/opensocial-templates
        – Demo: http://ostemplates-demo.appspot.com/


19
To follow the progress of the Spec…




     http://groups.google.com/group/opensocial-and-gadgets-spec




20
Demonstration:
     Building OpenSocial Applications




21
Agenda


     • OpenSocial Concepts
     • Apache Shindig
     • The OpenSocial Specification Process




22
How do you host OpenSocial Applications?



     1. Can build your own server that implements
     OpenSocial specification…



     2. Or can use “Shindig” - Reference implementation for
     OpenSocial




23
Hosting OpenSocial Applications

     What is Shindig?
        • Apache Incubator Project

        • Currently available in Java and PHP

        • Shindig Components:
             • Gadget Server
                •Parses gadget XML, renders as HTML/JS/CSS

            • OpenSocial Data Server
                • Plugs into social graph data
                • RESTful, RPC protocol services
            • Downloaded JavaScript libraries
                •Core gadgets, OpenSocial client JavaScript environment

        http://incubator.apache.org/shindig


24
Why use Shindig?

     • Strong Open Source community

     • High quality production-ready code
        • Used by: hi5, orkut, iGoogle, Netlog, Hyves …

     • Synchronized with specification

     • Language neutral (Java, PHP, …)
         • .Net coming soon!




25
How Shindig works
     • Gadget Server
     • OpenSocial Data Server


                                 Shindig
       Yoursite.com
                                 Gadget
               Gadget            Server


                                OpenSocial
                                DataServer



26                                           26
Java Shindig components
     • Gadget Server
     • OpenSocial Data Server


                                 Shindig
        Yoursite.com
                                 Gadget
                Gadget           Server


                                OpenSocial
                                DataServer



27                                           27
Shindig success at hi5


     • Big Traffic
        • 10k req/sec Edge
        • 6k req/sec Origin


     • Hundreds of Developers
     • 1800+ Apps
     • 1 Billion hits/day
     … on 42 Shindig servers




28                               28
Demonstration: Trying out Shindig




29                                       29
Adapting Shindig
     •   Adapting Shindig to your own social data


               Shindig

              Gadget Server

           OpenSocialDataServer

              ActivityService                   Social Graph
              PersonService                        Data
              AppDataService




30
Demonstration: Shindig with MySQL




31                                       31
RESTful and RPC protocols
     Shindig now supports both REST and RPC protocols as of v0.8!

     Opens new development models
     • Background processing.
     • Easier Flash integration.
     • Mobile applications.




32
RESTful and RPC protocols
     Communication methods:
     •RESTful (Representational State Transfer)
     •RPC (Remote Procedure Call)‫‏‬


     Formats:
     •XML
     •JSON
     •AtomPub




33
RESTful and RPC protocols
     REST:
     •Resources are URLs.
     Example - People:
      • All people connected to the given user:
          /people/{guid}/@all

       • All friends of the given user:
          /people/{guid}/@friends

       • Profile of the given user:
          /people/{guid}/@self

       • Profile of the authenticated user:
          /people/@me/@self

       • Supported Person fields:
          /people/@supportedFields


34
RESTful and RPC protocols
     Querystring parameters customize requests:
      • Response format (JSON, XML, AtomPub)‫‏‬
        format={format}

      • Request extra fields
        fields={-join|,|field}.

      • Filtering:
        filterBy={fieldname}
        filterOp={operation}filterValue={value}
        updatedSince={xsdDateTime}
        networkDistance={networkDistance}


      • Paging:
        count={count}                sortBy={fieldname}
        sortOrder={order}
        startIndex={startIndex}

35
RESTful and RPC protocols
     REST responses (Person):
      • JSON:
      {
          quot;idquot; : quot;example.org:34KJDCSKJN2HHF0DW20394quot;,
          quot;displayNamequot; : quot;Janeyquot;,
          quot;namequot; : {quot;unstructuredquot; : quot;Jane Doequot;},
          quot;genderquot; : quot;femalequot;
      }

      • XML:
      <person xmlns=quot;http://ns.opensocial.org/2008/opensocialquot;>
       <id></id>
       <displayName></displayName>
       <name>
        <unstructured>Jane Doe</unstructured>
       </name>
       <gender>female</gender>
      </person>




36
RESTful and RPC protocols
     REST responses (Person):
      • AtomPub:
      <entry xmlns=quot;http://www.w3.org/2005/Atomquot;>
       <content type=quot;application/xmlquot;>
        <person xmlns=quot;http://ns.opensocial.org/2008/opensocialquot;>
          <name>
            <unstructured>Jane Doe</unstructured>
          </name>
          <gender>female</gender>
        </person>
       </content>
       <title/>
       <updated>2003-12-13T18:30:02Z</updated>
       <author/>
       <id>urn:guid:example.org:34KJDCSKJN2HHF0DW20394</id>
      </entry>




37
RESTful and RPC protocols

     REST has some disadvantages:

     •Batch support requires multiple HTTP requests, or a contrived URL
     scheme.
     •Specifying multiple users via querystring is difficult. Is
     ?uid=1234,5678 the same resource as ?uid=5678,1234 ?




38
RESTful and RPC protocols
     RPC:
     •One endpoint - parameters specify methods to call.
     •Batch support.
     •Specify collections of users through passed arguments, not URLs.

     Example - Fetch current user:
        • Request                        • Response
     POST /rpc HTTP/1.1
                                      HTTP/1.x 207 Multi-Status
     Host: api.example.org
                                      Content-Type: application/json
     Authorization: <Auth token>
                                      {
     Content-Type: application/json     quot;idquot; : quot;myselfquot;,
     {                                  quot;resultquot; : {
       quot;methodquot; : quot;people.getquot;,           quot;idquot; : quot;example.org:34KJDCSKJN2HHF0DW20394quot;,
       quot;idquot; : quot;myselfquot;,                   quot;namequot; : { quot;unstructuredquot; : quot;Jane Doequot;},
       quot;paramsquot; : {                       quot;genderquot; : quot;femalequot;
         quot;useridquot; : quot;@mequot;,              }
         quot;groupidquot; : quot;@selfquot;          }
       }
     }



39
RESTful and RPC Client libraries
     Client libraries are being created for PHP, Java, Ruby and Python.
        • Help you connect to OpenSocial containers, and work with social
        data on your server.




          http://code.google.com/p/opensocial-java-client/
          http://code.google.com/p/opensocial-ruby-client/
          http://code.google.com/p/opensocial-php-client/
40
RESTful and RPC protocols
     Sample: Fetch a user’s friends from Shindig:


      OpenSocialClient c = new OpenSocialClient(quot;myhost.comquot;);

       c.setProperty(OpenSocialClient.Properties.REST_BASE_URI, quot;http://localhost:8080/social/rest/quot;);

       try {
         OpenSocialPerson p = c.fetchPerson(quot;john.doequot;);
         System.out.println(p.getDisplayName());

           Collection<OpenSocialPerson> friends = c.fetchFriends(quot;john.doequot;);
           for (OpenSocialPerson friend : friends) {
             System.out.println(friend.getDisplayName());
           }

       } catch (Exception e) {

       }




41
Demonstration: Trying out the REST client library




42                                                       42
Example container applications


     Java
     • Socialsite
     • Created by Sun
     • Flexible social graph
     • Completely Open Source




                  https://socialsite.dev.java.net/


43
Example container applications


     PHP
     • Partuza
     • Created by Google employee
     • Hosted on Google Projects
     • Based on PHP Shindig




                   http://code.google.com/p/partuza/


44
Agenda


     • OpenSocial Concepts
     • Apache Shindig
     • The OpenSocial Specification Process




45
The OpenSocial specification process




46
The OpenSocial specification process




47
The OpenSocial specification process




48
Useful Links

 Homepage & specification:             http://www.opensocial.org

 New Wiki! (Compliancy, Cross container development …)
   • http://wiki.opensocial.org

 Get on the forums:
    • http://groups.google.com/group/opensocial

 Subscribe to the Shindig mailing list:
   • shindig-dev-subscribe@incubator.apache.org

 Help shape the specification:
     •   http://groups.google.com/group/opensocial-and-gadgets-spec/

 Check out Shindig:
     •   http://incubator.apache.org/shindig

 OS Templates:
     •   http://groups.google.com/group/opensocial-and-gadgets-spec/web/opensocial-templates

49
Questions




                 Q&A


50

More Related Content

Similar to Open Social Shindig Preso for FB and OpenSocial Meetup

Integrating OpenSocial & SalesForce.com
Integrating OpenSocial & SalesForce.comIntegrating OpenSocial & SalesForce.com
Integrating OpenSocial & SalesForce.com
Chris Schalk
 
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
Patrick Chanezon
 
Goodle Developer Days Madrid 2008 - Open Social Update
Goodle Developer Days Madrid 2008 - Open Social UpdateGoodle Developer Days Madrid 2008 - Open Social Update
Goodle Developer Days Madrid 2008 - Open Social Update
Patrick Chanezon
 
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
Vinoaj Vijeyakumaar
 
State Of Opensocial
State Of OpensocialState Of Opensocial
State Of Opensocial
Patrick 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
 
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
Patrick Chanezon
 
Open Social Intro Gdd Taipei
Open Social Intro Gdd TaipeiOpen Social Intro Gdd Taipei
Open Social Intro Gdd Taipei
Chris Schalk
 
Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial Presentation
Chris Schalk
 
Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08
Ari Leichtberg
 
Microblogging: A Semantic Web and Distributed Approach
Microblogging: A Semantic Web and Distributed ApproachMicroblogging: A Semantic Web and Distributed Approach
Microblogging: A Semantic Web and Distributed Approach
Alexandre Passant
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocial
Patrick Chanezon
 
Pinax Presentation at DjangoCon 2008
Pinax Presentation at DjangoCon 2008Pinax Presentation at DjangoCon 2008
Pinax Presentation at DjangoCon 2008
jtauber
 
Google Devfest Bangkok - OpenSocial
Google Devfest Bangkok - OpenSocialGoogle Devfest Bangkok - OpenSocial
Google Devfest Bangkok - OpenSocial
Patrick Chanezon
 
Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011
Ted Husted
 
Open Social Intro Facebookmeetup
Open Social Intro FacebookmeetupOpen Social Intro Facebookmeetup
Open Social Intro Facebookmeetup
Chris Schalk
 
Android Overview
Android OverviewAndroid Overview
Android Overview
atomi
 
Open Social Tech Talk Beijing
Open Social Tech Talk   BeijingOpen Social Tech Talk   Beijing
Open Social Tech Talk Beijing
Arne Roomann-Kurrik
 
How To Build The Open Mesh 09
How To Build The Open Mesh 09How To Build The Open Mesh 09
How To Build The Open Mesh 09
Marc Canter
 
1000 things-sso-code-one
1000 things-sso-code-one1000 things-sso-code-one
1000 things-sso-code-one
gauchoproluanco
 

Similar to Open Social Shindig Preso for FB and OpenSocial Meetup (20)

Integrating OpenSocial & SalesForce.com
Integrating OpenSocial & SalesForce.comIntegrating OpenSocial & SalesForce.com
Integrating OpenSocial & SalesForce.com
 
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
 
Goodle Developer Days Madrid 2008 - Open Social Update
Goodle Developer Days Madrid 2008 - Open Social UpdateGoodle Developer Days Madrid 2008 - Open Social Update
Goodle Developer Days Madrid 2008 - Open Social Update
 
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
 
State Of Opensocial
State Of OpensocialState Of Opensocial
State Of Opensocial
 
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?
 
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
 
Open Social Intro Gdd Taipei
Open Social Intro Gdd TaipeiOpen Social Intro Gdd Taipei
Open Social Intro Gdd Taipei
 
Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial Presentation
 
Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08
 
Microblogging: A Semantic Web and Distributed Approach
Microblogging: A Semantic Web and Distributed ApproachMicroblogging: A Semantic Web and Distributed Approach
Microblogging: A Semantic Web and Distributed Approach
 
Google Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocialGoogle Devfest Singapore - OpenSocial
Google Devfest Singapore - OpenSocial
 
Pinax Presentation at DjangoCon 2008
Pinax Presentation at DjangoCon 2008Pinax Presentation at DjangoCon 2008
Pinax Presentation at DjangoCon 2008
 
Google Devfest Bangkok - OpenSocial
Google Devfest Bangkok - OpenSocialGoogle Devfest Bangkok - OpenSocial
Google Devfest Bangkok - OpenSocial
 
Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011Open Source Secret Sauce - Lugor Sep 2011
Open Source Secret Sauce - Lugor Sep 2011
 
Open Social Intro Facebookmeetup
Open Social Intro FacebookmeetupOpen Social Intro Facebookmeetup
Open Social Intro Facebookmeetup
 
Android Overview
Android OverviewAndroid Overview
Android Overview
 
Open Social Tech Talk Beijing
Open Social Tech Talk   BeijingOpen Social Tech Talk   Beijing
Open Social Tech Talk Beijing
 
How To Build The Open Mesh 09
How To Build The Open Mesh 09How To Build The Open Mesh 09
How To Build The Open Mesh 09
 
1000 things-sso-code-one
1000 things-sso-code-one1000 things-sso-code-one
1000 things-sso-code-one
 

More from Chris Schalk

Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and Update
Chris Schalk
 
Building Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesBuilding Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud Technologies
Chris Schalk
 
How to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudHow to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the Cloud
Chris Schalk
 
Building Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the CloudBuilding Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the Cloud
Chris Schalk
 
Building Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesBuilding Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud Technologies
Chris Schalk
 
GDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloudGDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloud
Chris Schalk
 
Quick Intro to Google Cloud Technologies
Quick Intro to Google Cloud TechnologiesQuick Intro to Google Cloud Technologies
Quick Intro to Google Cloud Technologies
Chris Schalk
 
Intro to Google's Cloud Technologies
Intro to Google's Cloud TechnologiesIntro to Google's Cloud Technologies
Intro to Google's Cloud Technologies
Chris Schalk
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
Chris Schalk
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
Chris Schalk
 
Building Apps on Google Cloud Technologies
Building Apps on Google Cloud TechnologiesBuilding Apps on Google Cloud Technologies
Building Apps on Google Cloud Technologies
Chris Schalk
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
Chris Schalk
 
Building Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the CloudBuilding Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the Cloud
Chris Schalk
 
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Chris Schalk
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
Chris Schalk
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalk
Chris Schalk
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform Technologies
Chris Schalk
 
Google Cloud Technologies Overview
Google Cloud Technologies OverviewGoogle Cloud Technologies Overview
Google Cloud Technologies Overview
Chris Schalk
 
Introducing App Engine for Business
Introducing App Engine for BusinessIntroducing App Engine for Business
Introducing App Engine for Business
Chris Schalk
 
Introduction to Google Cloud platform technologies
Introduction to Google Cloud platform technologiesIntroduction to Google Cloud platform technologies
Introduction to Google Cloud platform technologies
Chris Schalk
 

More from Chris Schalk (20)

Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and Update
 
Building Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesBuilding Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud Technologies
 
How to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the CloudHow to build Kick Ass Games in the Cloud
How to build Kick Ass Games in the Cloud
 
Building Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the CloudBuilding Kick Ass Video Games for the Cloud
Building Kick Ass Video Games for the Cloud
 
Building Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud TechnologiesBuilding Integrated Applications on Google's Cloud Technologies
Building Integrated Applications on Google's Cloud Technologies
 
GDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloudGDD 2011 - How to build kick ass video games for the cloud
GDD 2011 - How to build kick ass video games for the cloud
 
Quick Intro to Google Cloud Technologies
Quick Intro to Google Cloud TechnologiesQuick Intro to Google Cloud Technologies
Quick Intro to Google Cloud Technologies
 
Intro to Google's Cloud Technologies
Intro to Google's Cloud TechnologiesIntro to Google's Cloud Technologies
Intro to Google's Cloud Technologies
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Building Apps on Google Cloud Technologies
Building Apps on Google Cloud TechnologiesBuilding Apps on Google Cloud Technologies
Building Apps on Google Cloud Technologies
 
Google App Engine's Latest Features
Google App Engine's Latest FeaturesGoogle App Engine's Latest Features
Google App Engine's Latest Features
 
Building Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the CloudBuilding Multi-platform Video Games for the Cloud
Building Multi-platform Video Games for the Cloud
 
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
Building Enterprise Applications on Google Cloud Platform Cloud Computing Exp...
 
Introduction to Google's Cloud Technologies
Introduction to Google's Cloud TechnologiesIntroduction to Google's Cloud Technologies
Introduction to Google's Cloud Technologies
 
Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalk
 
Introduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform TechnologiesIntroduction to Google Cloud Platform Technologies
Introduction to Google Cloud Platform Technologies
 
Google Cloud Technologies Overview
Google Cloud Technologies OverviewGoogle Cloud Technologies Overview
Google Cloud Technologies Overview
 
Introducing App Engine for Business
Introducing App Engine for BusinessIntroducing App Engine for Business
Introducing App Engine for Business
 
Introduction to Google Cloud platform technologies
Introduction to Google Cloud platform technologiesIntroduction to Google Cloud platform technologies
Introduction to Google Cloud platform technologies
 

Recently uploaded

Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 

Recently uploaded (20)

Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 

Open Social Shindig Preso for FB and OpenSocial Meetup

  • 1. and Apache Shindig Chris Schalk, Google Developer Advocate FaceBook and OpenSocial Developer Meetup - 12/10/2008
  • 2. Agenda • OpenSocial Concepts • Apache Shindig • The OpenSocial Specification Process 2
  • 3. Agenda • OpenSocial Concepts • Apache Shindig • The OpenSocial Specification Process 3
  • 4.
  • 5.
  • 7. Standards based OpenSocial Write once… Deploy everywhere
  • 8. Massive exposure for your apps!
  • 9. OpenSocial Concepts What is OpenSocial? “OpenSocial defines a common set of APIs based on Open Standards for building social applications across multiple websites” 9
  • 10. OpenSocial Concepts Who own’s OpenSocial? ? No! OpenSocial is managed under the auspices of the “OpenSocial Foundation” - http://www.opensocial.org 10
  • 12. In one year: has over 600 Million user reach!
  • 13. More OpenSocial numbers  315M+ app Installations  85M+ daily canvas page views  7,500+ applications  20+ live containers 13
  • 14. Where is OpenSocial live today? Applications live to Users: Initial Developer Sandboxes: • LinkedIn - New • iGoogle • MySpace • Yahoo! • orkut • Minglebox • Hi5 • imeem • Freebar • Viadeo • Friendster • CityIN • Webon from Lycos • IDtail • Tianya • YiQi • Ning • Netlog • Plaxo Pulse • Hyves • Lokalisten • … many more in the pipeline! • Ning • Fanbox • XiaoNei • Mail.ru • Socialtext • 51.com http://wiki.opensocial.org 14
  • 15. Not just Social Network Sites • Social network sites - Profiles and home pages ex: MySpace, Hi5 • Personal dashboards – Widgets ex: iGoogle, My Yahoo • Sites based around a Social Object ex: Flickr, YouTube • Enterprise, Professional ex: LinkedIn, Oracle, SalesForce.com • Any web site 15
  • 16. OpenSocial Roadmap • Version 0.5 was released in a “developer release” on Nov 1st. • First “sandbox” was made available on Orkut • Version 0.6 was released in December • Initial version of Shindig server software was launched as Apache incubator project • Other sandboxes came live - Hi5, Ning, Plaxo … • Version 0.7 (production) was released in January • MySpace, Hi5, Orkut currently running with 0.7 16
  • 17. OpenSocial Roadmap • Version v0.8 is current • Latest evolution of OpenSocial as defined by the OpenSocial development community • Updated JavaScript API • Now contains a RESTful API • hi5, MySpace, orkut, iGoogle now support 0.8 • Specification: http://www.opensocial.org/Technical-Resources/opensocial-spec-v08 17
  • 18. OpenSocial v0.8.1 spec is here • Specification is now published • Updates include: • RESTful Protocol updates • JSON RPC Protocol • Specification: http://sites.google.com/a/opensocial.org/opensocial/Technical- Resources/opensocial-spec-v081 18
  • 19. OpenSocial 0.9 - Future Directions • Goal: – Enable a faster development experience that is both secure and efficient • Solution: “Opensocial Templates”! OS Templates core principles: • Client-side and server-side processing • Standard set of tags with extensibility model – Example: <os:ShowPerson> • http://groups.google.com/group/opensocial-and-gadgets- spec/web/opensocial-templates – Demo: http://ostemplates-demo.appspot.com/ 19
  • 20. To follow the progress of the Spec… http://groups.google.com/group/opensocial-and-gadgets-spec 20
  • 21. Demonstration: Building OpenSocial Applications 21
  • 22. Agenda • OpenSocial Concepts • Apache Shindig • The OpenSocial Specification Process 22
  • 23. How do you host OpenSocial Applications? 1. Can build your own server that implements OpenSocial specification… 2. Or can use “Shindig” - Reference implementation for OpenSocial 23
  • 24. Hosting OpenSocial Applications What is Shindig? • Apache Incubator Project • Currently available in Java and PHP • Shindig Components: • Gadget Server •Parses gadget XML, renders as HTML/JS/CSS • OpenSocial Data Server • Plugs into social graph data • RESTful, RPC protocol services • Downloaded JavaScript libraries •Core gadgets, OpenSocial client JavaScript environment http://incubator.apache.org/shindig 24
  • 25. Why use Shindig? • Strong Open Source community • High quality production-ready code • Used by: hi5, orkut, iGoogle, Netlog, Hyves … • Synchronized with specification • Language neutral (Java, PHP, …) • .Net coming soon! 25
  • 26. How Shindig works • Gadget Server • OpenSocial Data Server Shindig Yoursite.com Gadget Gadget Server OpenSocial DataServer 26 26
  • 27. Java Shindig components • Gadget Server • OpenSocial Data Server Shindig Yoursite.com Gadget Gadget Server OpenSocial DataServer 27 27
  • 28. Shindig success at hi5 • Big Traffic • 10k req/sec Edge • 6k req/sec Origin • Hundreds of Developers • 1800+ Apps • 1 Billion hits/day … on 42 Shindig servers 28 28
  • 29. Demonstration: Trying out Shindig 29 29
  • 30. Adapting Shindig • Adapting Shindig to your own social data Shindig Gadget Server OpenSocialDataServer ActivityService Social Graph PersonService Data AppDataService 30
  • 32. RESTful and RPC protocols Shindig now supports both REST and RPC protocols as of v0.8! Opens new development models • Background processing. • Easier Flash integration. • Mobile applications. 32
  • 33. RESTful and RPC protocols Communication methods: •RESTful (Representational State Transfer) •RPC (Remote Procedure Call)‫‏‬ Formats: •XML •JSON •AtomPub 33
  • 34. RESTful and RPC protocols REST: •Resources are URLs. Example - People: • All people connected to the given user: /people/{guid}/@all • All friends of the given user: /people/{guid}/@friends • Profile of the given user: /people/{guid}/@self • Profile of the authenticated user: /people/@me/@self • Supported Person fields: /people/@supportedFields 34
  • 35. RESTful and RPC protocols Querystring parameters customize requests: • Response format (JSON, XML, AtomPub)‫‏‬ format={format} • Request extra fields fields={-join|,|field}. • Filtering: filterBy={fieldname} filterOp={operation}filterValue={value} updatedSince={xsdDateTime} networkDistance={networkDistance} • Paging: count={count} sortBy={fieldname} sortOrder={order} startIndex={startIndex} 35
  • 36. RESTful and RPC protocols REST responses (Person): • JSON: { quot;idquot; : quot;example.org:34KJDCSKJN2HHF0DW20394quot;, quot;displayNamequot; : quot;Janeyquot;, quot;namequot; : {quot;unstructuredquot; : quot;Jane Doequot;}, quot;genderquot; : quot;femalequot; } • XML: <person xmlns=quot;http://ns.opensocial.org/2008/opensocialquot;> <id></id> <displayName></displayName> <name> <unstructured>Jane Doe</unstructured> </name> <gender>female</gender> </person> 36
  • 37. RESTful and RPC protocols REST responses (Person): • AtomPub: <entry xmlns=quot;http://www.w3.org/2005/Atomquot;> <content type=quot;application/xmlquot;> <person xmlns=quot;http://ns.opensocial.org/2008/opensocialquot;> <name> <unstructured>Jane Doe</unstructured> </name> <gender>female</gender> </person> </content> <title/> <updated>2003-12-13T18:30:02Z</updated> <author/> <id>urn:guid:example.org:34KJDCSKJN2HHF0DW20394</id> </entry> 37
  • 38. RESTful and RPC protocols REST has some disadvantages: •Batch support requires multiple HTTP requests, or a contrived URL scheme. •Specifying multiple users via querystring is difficult. Is ?uid=1234,5678 the same resource as ?uid=5678,1234 ? 38
  • 39. RESTful and RPC protocols RPC: •One endpoint - parameters specify methods to call. •Batch support. •Specify collections of users through passed arguments, not URLs. Example - Fetch current user: • Request • Response POST /rpc HTTP/1.1 HTTP/1.x 207 Multi-Status Host: api.example.org Content-Type: application/json Authorization: <Auth token> { Content-Type: application/json quot;idquot; : quot;myselfquot;, { quot;resultquot; : { quot;methodquot; : quot;people.getquot;, quot;idquot; : quot;example.org:34KJDCSKJN2HHF0DW20394quot;, quot;idquot; : quot;myselfquot;, quot;namequot; : { quot;unstructuredquot; : quot;Jane Doequot;}, quot;paramsquot; : { quot;genderquot; : quot;femalequot; quot;useridquot; : quot;@mequot;, } quot;groupidquot; : quot;@selfquot; } } } 39
  • 40. RESTful and RPC Client libraries Client libraries are being created for PHP, Java, Ruby and Python. • Help you connect to OpenSocial containers, and work with social data on your server. http://code.google.com/p/opensocial-java-client/ http://code.google.com/p/opensocial-ruby-client/ http://code.google.com/p/opensocial-php-client/ 40
  • 41. RESTful and RPC protocols Sample: Fetch a user’s friends from Shindig: OpenSocialClient c = new OpenSocialClient(quot;myhost.comquot;); c.setProperty(OpenSocialClient.Properties.REST_BASE_URI, quot;http://localhost:8080/social/rest/quot;); try { OpenSocialPerson p = c.fetchPerson(quot;john.doequot;); System.out.println(p.getDisplayName()); Collection<OpenSocialPerson> friends = c.fetchFriends(quot;john.doequot;); for (OpenSocialPerson friend : friends) { System.out.println(friend.getDisplayName()); } } catch (Exception e) { } 41
  • 42. Demonstration: Trying out the REST client library 42 42
  • 43. Example container applications Java • Socialsite • Created by Sun • Flexible social graph • Completely Open Source https://socialsite.dev.java.net/ 43
  • 44. Example container applications PHP • Partuza • Created by Google employee • Hosted on Google Projects • Based on PHP Shindig http://code.google.com/p/partuza/ 44
  • 45. Agenda • OpenSocial Concepts • Apache Shindig • The OpenSocial Specification Process 45
  • 49. Useful Links Homepage & specification: http://www.opensocial.org New Wiki! (Compliancy, Cross container development …) • http://wiki.opensocial.org Get on the forums: • http://groups.google.com/group/opensocial Subscribe to the Shindig mailing list: • shindig-dev-subscribe@incubator.apache.org Help shape the specification: • http://groups.google.com/group/opensocial-and-gadgets-spec/ Check out Shindig: • http://incubator.apache.org/shindig OS Templates: • http://groups.google.com/group/opensocial-and-gadgets-spec/web/opensocial-templates 49
  • 50. Questions Q&A 50