0
for Java Developers



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

SV-GTUG Meetup -...
Agenda


    • OpenSocial Concepts
    • Apache Shindig
    • OpenSocial Client Libraries
    • Android and OpenSocial
   ...
Agenda


    • OpenSocial Concepts
    • Apache Shindig
    • OpenSocial Client Libraries
    • Android and OpenSocial
   ...
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 S...
OpenSocial Concepts




          Who own’s OpenSocial?
                                       No!
                       ...
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+ li...
Where is OpenSocial live today?
     Applications live to Users:          Initial Developer Sandboxes:
      •    LinkedIn...
Not just Social Network Sites



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


 • Personal das...
OpenSocial Roadmap


     Version v0.8.1 is current

     • Latest evolution of OpenSocial as defined by the
     OpenSoci...
OpenSocial 0.9 - Future Directions

     Goal:
        – Enable a faster development experience that is both secure and
  ...
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...
How do you host OpenSocial Applications?



     1. Can build your own server that implements
     OpenSocial specificatio...
Hosting OpenSocial Applications

     What is Shindig?
        • Apache Incubator Project

        • Currently available i...
Why use Shindig?

     • Strong Open Source community

     • High quality production-ready code
        • Used by: hi5, o...
How Shindig works
     • Gadget Server
     • OpenSocial Data Server


                                 Shindig
       You...
Java Shindig components
     • Gadget Server
     • OpenSocial Data Server


                                 Shindig
    ...
Shindig success at hi5


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


     • Hundreds of De...
Demonstration: Trying out Shindig




                                         27
27
Demonstration: Pinging a local Shindig via REST




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


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


               Shindig

              Gadget Server

...
Demonstration: Shindig with MySQL




                                         30
30
Agenda


     • OpenSocial Concepts
     • Apache Shindig
     • OpenSocial Client Libraries
     • Android and OpenSocial...
Introducing the OpenSocial Client Libraries


      A set of client libraries for that enable
      direct communication t...
Demonstration: OpenSocial Java client library




                                                     33
33
Agenda


     • OpenSocial Concepts
     • Apache Shindig
     • OpenSocial Client Libraries
     • Android and OpenSocial...
The Android Client Library


     Provides Android developers with easy
     access to OpenSocial servers.



     • Utili...
Demonstration: Calling Plaxo from an Android app


     Pulling down contacts from my Plaxo
     account…




            ...
Agenda


     • OpenSocial Concepts
     • Apache Shindig
     • OpenSocial Client Libraries
     • Android and OpenSocial...
An “OSDE” Sneak Preview

     What is OSDE?

     Ans: OpenSocial Development Environment
     A complete OpenSocial devel...
Useful Links

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

 New Wiki! (Compliancy, Cross container de...
Useful Event Info



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

     Google IO reg...
Questions




                    Q&A
             Slides available at:


             http://….

41
Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.
Open Social Technical Update for Java developers - Presented at sv-gtug.org meetup.
Upcoming SlideShare
Loading in...5
×

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

3,710

Published on

This is a presentation given to the Silicon Valley Google Technology User Group's (sv-gtug.org) February meetup in Mountain View, Ca.

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,710
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
133
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

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

  1. 1. for Java Developers Chris Schalk, Google Developer Advocate Jason Cooper, Developer Programs Engineer SV-GTUG Meetup - 2/4/2009
  2. 2. Agenda • OpenSocial Concepts • Apache Shindig • OpenSocial Client Libraries • Android and OpenSocial • OSDE 2
  3. 3. Agenda • OpenSocial Concepts • Apache Shindig • OpenSocial Client Libraries • Android and OpenSocial • OSDE 3
  4. 4. Too many platforms!
  5. 5. Standards based OpenSocial Write once… Deploy everywhere
  6. 6. Massive exposure for your apps!
  7. 7. OpenSocial Concepts What is OpenSocial? “OpenSocial defines a common set of APIs based on Open Standards for building social applications across multiple websites” 9
  8. 8. OpenSocial Concepts Who own’s OpenSocial? No! ? OpenSocial is managed under the auspices of the “OpenSocial Foundation” - http://www.opensocial.org 10
  9. 9. Some OpenSocial Partners
  10. 10. In one year: has over 600 Million user reach!
  11. 11. More OpenSocial numbers  315M+ app Installations  85M+ daily canvas page views  7,500+ applications  28+ live containers http://opensocialapis.blogspot.com/ 13
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. To follow future progress of the Spec… http://groups.google.com/group/opensocial-and-gadgets-spec 18
  17. 17. Demonstration: Building OpenSocial Applications 19
  18. 18. Agenda • OpenSocial Concepts • Apache Shindig • OpenSocial Client Libraries • Android and OpenSocial • OSDE 20
  19. 19. 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
  20. 20. 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
  21. 21. 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
  22. 22. How Shindig works • Gadget Server • OpenSocial Data Server Shindig Yoursite.com Gadget Server Gadget OpenSocial DataServer 24 24
  23. 23. Java Shindig components • Gadget Server • OpenSocial Data Server Shindig Yoursite.com Gadget Server Gadget OpenSocial DataServer 25 25
  24. 24. 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
  25. 25. Demonstration: Trying out Shindig 27 27
  26. 26. Demonstration: Pinging a local Shindig via REST Ex: http://localhost:8080/social/rest/people/john.doe/@all 28 28
  27. 27. Adapting Shindig • Adapting Shindig to your own social data Shindig Gadget Server OpenSocialDataServer Social Graph ActivityService Data PersonService AppDataService 29
  28. 28. Demonstration: Shindig with MySQL 30 30
  29. 29. Agenda • OpenSocial Concepts • Apache Shindig • OpenSocial Client Libraries • Android and OpenSocial • OSDE 31
  30. 30. 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
  31. 31. Demonstration: OpenSocial Java client library 33 33
  32. 32. Agenda • OpenSocial Concepts • Apache Shindig • OpenSocial Client Libraries • Android and OpenSocial • OSDE 34
  33. 33. 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
  34. 34. Demonstration: Calling Plaxo from an Android app Pulling down contacts from my Plaxo account… REST 36 36
  35. 35. Agenda • OpenSocial Concepts • Apache Shindig • OpenSocial Client Libraries • Android and OpenSocial • OSDE 37
  36. 36. 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
  37. 37. 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
  38. 38. 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
  39. 39. Questions Q&A Slides available at: http://…. 41
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×