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