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

Like this? Share it with your network

Share

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

  • 6,140 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
6,140
On Slideshare
6,117
From Embeds
23
Number of Embeds
1

Actions

Shares
Downloads
133
Comments
0
Likes
7

Embeds 23

http://www.slideshare.net 23

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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