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

  • 3,587 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
3,587
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
133
Comments
0
Likes
7

Embeds 0

No embeds

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