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