SlideShare a Scribd company logo
1 of 41
Download to read offline
for Java Developers



Chris Schalk, Google Developer Advocate
Jason Cooper, Developer Programs Engineer

SV-GTUG Meetup - 2/4/2009
Agenda


    • OpenSocial Concepts
    • Apache Shindig
    • OpenSocial Client Libraries
    • Android and OpenSocial
    • OSDE



2
Agenda


    • OpenSocial Concepts
    • Apache Shindig
    • OpenSocial Client Libraries
    • Android and OpenSocial
    • OSDE



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

  28+ live containers




              http://opensocialapis.blogspot.com/
13
Where is OpenSocial live today?
     Applications live to Users:          Initial Developer Sandboxes:
      •    LinkedIn
                                           •   iGoogle
      •    MySpace
                                           •   Yahoo!
      •    orkut
                                           •   Minglebox
      •    Hi5
      •                                    •   imeem
           Freebar
      •    Friendster                      •   Viadeo
      •    Webon from Lycos
                                           •   CityIN
      •    IDtail
                                           •   Tianya
      •    YiQi
                                           •   Ning
      •    Netlog
                                           •   Plaxo Pulse
      •    Hyves
      •    Ning                            •   Lokalisten
      •    Fanbox                          •   … many more in the pipeline!
      •    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 v0.8.1 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://sites.google.com/a/opensocial.org/opensocial/Technical-
     Resources/opensocial-spec-v081

16
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/


17
To follow future progress of the Spec…




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




18
Demonstration:
     Building OpenSocial Applications




19
Agenda


     • OpenSocial Concepts
     • Apache Shindig
     • OpenSocial Client Libraries
     • Android and OpenSocial
     • OSDE



20
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




21
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


22
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, …)




23
How Shindig works
     • Gadget Server
     • OpenSocial Data Server


                                 Shindig
       Yoursite.com
                                 Gadget
                                 Server
               Gadget


                                OpenSocial
                                DataServer



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


                                 Shindig
        Yoursite.com
                                 Gadget
                                 Server
                Gadget


                                OpenSocial
                                DataServer



                                             25
25
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




                                 26
26
Demonstration: Trying out Shindig




                                         27
27
Demonstration: Pinging a local Shindig via REST




     Ex: http://localhost:8080/social/rest/people/john.doe/@all


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


               Shindig

              Gadget Server

           OpenSocialDataServer


                                                Social Graph
              ActivityService

                                                   Data
              PersonService

              AppDataService




29
Demonstration: Shindig with MySQL




                                         30
30
Agenda


     • OpenSocial Concepts
     • Apache Shindig
     • OpenSocial Client Libraries
     • Android and OpenSocial
     • OSDE



31
Introducing the OpenSocial Client Libraries


      A set of client libraries for that enable
      direct communication to an OpenSocial
      server.


     • Client libraries exist for PHP, Ruby, Python and Java
     • Supports both REST and RPC protocols
     • Documentation Wiki pages
     • Sample applications provided



                  http://code.google.com/p/opensocial-php-client
                  http://code.google.com/p/opensocial-ruby-client
                  http://code.google.com/p/opensocial-python-client
                  http://code.google.com/p/opensocial-java-client


                                                                      32
32
Demonstration: OpenSocial Java client library




                                                     33
33
Agenda


     • OpenSocial Concepts
     • Apache Shindig
     • OpenSocial Client Libraries
     • Android and OpenSocial
     • OSDE



34
The Android Client Library


     Provides Android developers with easy
     access to OpenSocial servers.



     • Utilizes the OpenSocial Java client library
     • Sample application and documentation provided




                                                       35
35
Demonstration: Calling Plaxo from an Android app


     Pulling down contacts from my Plaxo
     account…




                                     REST




                                                           36
36
Agenda


     • OpenSocial Concepts
     • Apache Shindig
     • OpenSocial Client Libraries
     • Android and OpenSocial
     • OSDE



37
An “OSDE” Sneak Preview

     What is OSDE?

     Ans: OpenSocial Development Environment
     A complete OpenSocial development environment
     encapsulated within an Eclipse plugin.


     • Under development in Japan
     • Bundles Shindig into Eclipse
     • Bundles H2 Java database with Hibernate
     for social data
     • Provides OpenSocial perspective
           • Has console to Shindig, database




        http://www.eisbahn.jp/trac/osde
                                                     38
38
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

39
Useful Event Info



     Google Code Events Calendar:
       • http://code.google.com/events/calendar

     Google IO registration is now open!
       • http://code.google.com/events/io

     Google Summer of Code:
       • http://code.google.com




40
Questions




                    Q&A
             Slides available at:


             http://….

41

More Related Content

Viewers also liked (6)

Help Glad Dan Plan A Party
Help Glad Dan Plan A PartyHelp Glad Dan Plan A Party
Help Glad Dan Plan A Party
 
App Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures PublishApp Engine Overview Cloud Futures Publish
App Engine Overview Cloud Futures Publish
 
Energy Financing For Your Home
Energy Financing For Your HomeEnergy Financing For Your Home
Energy Financing For Your Home
 
JavaOne: Creating Serverside and Mobile Mashups with the OpenSocial Java clie...
JavaOne: Creating Serverside and Mobile Mashups with the OpenSocial Java clie...JavaOne: Creating Serverside and Mobile Mashups with the OpenSocial Java clie...
JavaOne: Creating Serverside and Mobile Mashups with the OpenSocial Java clie...
 
Developing Sleek and Collaborative Applications with OpenSocial and AJAX Push
Developing Sleek and Collaborative Applications with OpenSocial and AJAX PushDeveloping Sleek and Collaborative Applications with OpenSocial and AJAX Push
Developing Sleek and Collaborative Applications with OpenSocial and AJAX Push
 
Stuart Davis: The Artist
Stuart Davis: The ArtistStuart Davis: The Artist
Stuart Davis: The Artist
 

Similar to Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

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
 
Open Social Intro Gdd Taipei
Open Social Intro Gdd TaipeiOpen Social Intro Gdd Taipei
Open Social Intro Gdd Taipei
Chris Schalk
 
Dayton webusers creatinghybridapps-webedition
Dayton webusers creatinghybridapps-webeditionDayton webusers creatinghybridapps-webedition
Dayton webusers creatinghybridapps-webedition
Martin Davis III
 
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
 
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
jward5519
 
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
 

Similar to Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup. (20)

Integrating OpenSocial & SalesForce.com
Integrating OpenSocial & SalesForce.comIntegrating OpenSocial & SalesForce.com
Integrating OpenSocial & SalesForce.com
 
Open Social Summit Korea Overview
Open Social Summit Korea OverviewOpen Social Summit Korea Overview
Open Social Summit Korea Overview
 
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
 
Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
Futuropolis 2058 Singapore - OpenSocial, a standard for the social webFuturopolis 2058 Singapore - OpenSocial, a standard for the social web
Futuropolis 2058 Singapore - OpenSocial, a standard for the social web
 
State Of Opensocial
State Of OpensocialState Of Opensocial
State Of Opensocial
 
Open Social Intro Gdd Taipei
Open Social Intro Gdd TaipeiOpen Social Intro Gdd Taipei
Open Social Intro Gdd Taipei
 
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
 
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
 
Google Devfest Bangkok - OpenSocial
Google Devfest Bangkok - OpenSocialGoogle Devfest Bangkok - OpenSocial
Google Devfest Bangkok - OpenSocial
 
Open Social Intro Facebookmeetup
Open Social Intro FacebookmeetupOpen Social Intro Facebookmeetup
Open Social Intro Facebookmeetup
 
Open Social Tech Talk Beijing
Open Social Tech Talk   BeijingOpen Social Tech Talk   Beijing
Open Social Tech Talk Beijing
 
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
 
Dayton webusers creatinghybridapps-webedition
Dayton webusers creatinghybridapps-webeditionDayton webusers creatinghybridapps-webedition
Dayton webusers creatinghybridapps-webedition
 
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?
 
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
 
Ajaxworld Opensocial Presentation
Ajaxworld Opensocial PresentationAjaxworld Opensocial Presentation
Ajaxworld Opensocial Presentation
 
Rich Ajax Platform - theEdge 2012 conference presentation
Rich Ajax Platform - theEdge 2012 conference presentationRich Ajax Platform - theEdge 2012 conference presentation
Rich Ajax Platform - theEdge 2012 conference presentation
 
Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08Opensocial Haifa Seminar - 2008.04.08
Opensocial Haifa Seminar - 2008.04.08
 
Android Overview
Android OverviewAndroid Overview
Android Overview
 
OpenAPI Generator The Babel Fish of The API World - apidays Live Paris
OpenAPI Generator The Babel Fish of The API World - apidays Live ParisOpenAPI Generator The Babel Fish of The API World - apidays Live Paris
OpenAPI Generator The Babel Fish of The API World - apidays Live Paris
 

More from Chris Schalk

Javaedge 2010-cschalk
Javaedge 2010-cschalkJavaedge 2010-cschalk
Javaedge 2010-cschalk
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

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.

  • 1. for Java Developers Chris Schalk, Google Developer Advocate Jason Cooper, Developer Programs Engineer SV-GTUG Meetup - 2/4/2009
  • 2. Agenda • OpenSocial Concepts • Apache Shindig • OpenSocial Client Libraries • Android and OpenSocial • OSDE 2
  • 3. Agenda • OpenSocial Concepts • Apache Shindig • OpenSocial Client Libraries • Android and OpenSocial • OSDE 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  28+ live containers http://opensocialapis.blogspot.com/ 13
  • 14. Where is OpenSocial live today? Applications live to Users: Initial Developer Sandboxes: • LinkedIn • iGoogle • MySpace • Yahoo! • orkut • Minglebox • Hi5 • • imeem Freebar • Friendster • Viadeo • Webon from Lycos • CityIN • IDtail • Tianya • YiQi • Ning • Netlog • Plaxo Pulse • Hyves • Ning • Lokalisten • Fanbox • … many more in the pipeline! • 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 v0.8.1 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://sites.google.com/a/opensocial.org/opensocial/Technical- Resources/opensocial-spec-v081 16
  • 17. 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/ 17
  • 18. To follow future progress of the Spec… http://groups.google.com/group/opensocial-and-gadgets-spec 18
  • 19. Demonstration: Building OpenSocial Applications 19
  • 20. Agenda • OpenSocial Concepts • Apache Shindig • OpenSocial Client Libraries • Android and OpenSocial • OSDE 20
  • 21. 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 21
  • 22. 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 22
  • 23. 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, …) 23
  • 24. How Shindig works • Gadget Server • OpenSocial Data Server Shindig Yoursite.com Gadget Server Gadget OpenSocial DataServer 24 24
  • 25. Java Shindig components • Gadget Server • OpenSocial Data Server Shindig Yoursite.com Gadget Server Gadget OpenSocial DataServer 25 25
  • 26. 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 26 26
  • 27. Demonstration: Trying out Shindig 27 27
  • 28. Demonstration: Pinging a local Shindig via REST Ex: http://localhost:8080/social/rest/people/john.doe/@all 28 28
  • 29. Adapting Shindig • Adapting Shindig to your own social data Shindig Gadget Server OpenSocialDataServer Social Graph ActivityService Data PersonService AppDataService 29
  • 31. Agenda • OpenSocial Concepts • Apache Shindig • OpenSocial Client Libraries • Android and OpenSocial • OSDE 31
  • 32. Introducing the OpenSocial Client Libraries A set of client libraries for that enable direct communication to an OpenSocial server. • Client libraries exist for PHP, Ruby, Python and Java • Supports both REST and RPC protocols • Documentation Wiki pages • Sample applications provided http://code.google.com/p/opensocial-php-client http://code.google.com/p/opensocial-ruby-client http://code.google.com/p/opensocial-python-client http://code.google.com/p/opensocial-java-client 32 32
  • 33. Demonstration: OpenSocial Java client library 33 33
  • 34. Agenda • OpenSocial Concepts • Apache Shindig • OpenSocial Client Libraries • Android and OpenSocial • OSDE 34
  • 35. The Android Client Library Provides Android developers with easy access to OpenSocial servers. • Utilizes the OpenSocial Java client library • Sample application and documentation provided 35 35
  • 36. Demonstration: Calling Plaxo from an Android app Pulling down contacts from my Plaxo account… REST 36 36
  • 37. Agenda • OpenSocial Concepts • Apache Shindig • OpenSocial Client Libraries • Android and OpenSocial • OSDE 37
  • 38. An “OSDE” Sneak Preview What is OSDE? Ans: OpenSocial Development Environment A complete OpenSocial development environment encapsulated within an Eclipse plugin. • Under development in Japan • Bundles Shindig into Eclipse • Bundles H2 Java database with Hibernate for social data • Provides OpenSocial perspective • Has console to Shindig, database http://www.eisbahn.jp/trac/osde 38 38
  • 39. 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 39
  • 40. Useful Event Info Google Code Events Calendar: • http://code.google.com/events/calendar Google IO registration is now open! • http://code.google.com/events/io Google Summer of Code: • http://code.google.com 40
  • 41. Questions Q&A Slides available at: http://…. 41