OpenSocial At Mahalo Developers Meetup August 13
-
Upload
chris-schalk -
Category
Technology
-
view
593 -
download
1
Transcript of OpenSocial At Mahalo Developers Meetup August 13
Social Graph APIIndexes public websites that are peopleShows the 'me' and 'friend' links between themSupports the open XFN and FOAF standardsUses the standard Google crawler
Containers provide a social context
OpenSocial separates application logic from social contextan app sees user ids - the container makes them peopleUsers understand the social contract of the containersSave apps and users from re-registration hell
Containers don’t choose users
Containers set up the social model, users choose to jointhey grow through homophily and affinityNetwork effect can bring unexpected userbases
OpenSocial gets you to all their users
You don't have to pick a site to specialise forYou get to spread through multiple friend groupsYou'll be surprised by where your users areso make sure you plan to localize
Not just Social Network Sites
Social network sites - Profiles and home pagesPersonal dashboardsSites based around a Social ObjectCorporate CRM systemsAny web site
How do we abstract these out?
Viewer + friendsOwner + friends
Kinds of container - Social network sites
Profile pagesOwner is profile page ownerViewer may not be known, may be owner or other member
Home pagesOwner is Viewer (must be logged in to see)
ExamplesMySpaceHi5Orkut
Kinds of container - Personal dashboard
like Home pagesOwner is Viewer (must be logged in to see)
Friends may not be definedExample:
iGoogle, My Yahoo
Kinds of container - Social Object site
Pages reflect the object - movie, picture, productOwner is the objectOwner friends are people connected to the object
may be authors or fansViewer is looking at it, Viewer friends are people you may want to share with
Example:Imeem is a bit like this - opportunity for sites like Flickr, YouTube
Kinds of container - CRM systems
Pages reflect the customer Owner is the customerOwner friends are people connected to the customer
may be your colleagues, or other customersViewer is you, Viewer friends are your colleagues or customers
Example:Oracle CRM, Salesforce
Kinds of container - Any web site
Owner is the site
Owner friends are site usersViewer is you,
Viewer friends are your friends who have visited this siteExample:
Google Friend Connect will enable this for any site
OpenSocial Technical Details
"OpenSocial defines a common set of APIs for social applications across multiple websites"
Based on standard Web technologies
JavaScript, HTML, REST
A reference Implementation: Shindig Apache Open Source Project
A huge community of developers
Even bigger community of users!
The core OpenSocial Services
People & FriendsAccess friends information programmatically
ActivitiesSee what you’re friends are up toShare what you are doing
PersistenceProvide state without a serverShare data with your friends
JavaScript API - for browser based client developmentStandard Web development technologies
HTML + Javascript, CSS, AJAXCan integrate with 3rd party servers
PHP, Python, Perl, Java, C/C++
RESTful API - for server based client developmentBased on Atom publishing protocolData transfer is Atom or JSON
OpenSocial Client APIs
OpenSocial application in action
Gadget using JavaScript Client API communicates with OpenSocial server
OpenSocialServer
browser
JSON
Gadget XML Source
Social Network Site
OpenSocial and the Cloud
What if you need to store more data than your container allows?
Solution: You can make independent requests out to external servers.
Use: gadgets.io.makeRequestCan also make authenticated requests using OauthCan use cloud services from: Joyent, Amazon or AppEngine!
The OpenSocial persistence service provides a way to store/share small amounts of data on the OpenSocialserver, but…
OpenSocial Roadmap
Version 0.5 was released in a “developer release” on Nov 1st.
First “sandbox” was made available on Orkut
Version 0.6 was released in DecemberInitial version of Shindig server software was launched as Apache incubator projectOther sandboxes came live - Hi5, Ning, Plaxo …
Version 0.7 (production) was released in JanuaryMySpace, Hi5, Orkut currently running with 0.7
OpenSocial v0.8 has been defined!
Latest evolution of OpenSocial as defined by the OpenSocial development community
Updated JavaScript APINow contains a RESTful API
Shindig supports v0.8 todayhi5 almost done with their supportorkut currently working on their implementationOther containers also working on 0.8
Specification is here:http://www.opensocial.org/Technical-Resources/opensocial-spec-v08
OpenSocial v0.8 REST API
Access OpenSocial data without JavaScriptUse simple REST calls instead
Does not require gadget container
Allows server-to-server communication
Client libraries under development (open source):
Java
PHP
Python
<your favorite language here?>
How to host OpenSocial Applications
1. Can build your own server that implements OpenSocial specification…
2. Or can use “Shindig” - Reference implementation for OpenSocial
Gadget ServerRenders gadget XML as HTML/JS/CSS
OpenSocial Data Server
RESTful API server (in-progress)
Shindig Architecture
Gadget Server
OpenSocial Data Server
Yoursite.com
GadgetGadgetServer
OpenSocialDataServer
Shindig
Why use Shindig?
Strong open source community
High quality production-ready code
Update easily as OpenSocial evolves
Built in security using OAuth
Fully compliant with OpenSocial v0.7, 0.8!
Shindig is language neutral (Java, PHP today, more to follow…)
Google Friend Connect
Personal Web sites (e.g.blogs) have readers, contacts, connections for a social graph
Can small personal websites host OpenSocial applications?
Problem: blogger’s/Webmasters typically lack development resources!
Solution: Google Friend Connect solves this problem!
Google Friend Connect
Users… more ways to do more things with my friends
Site owners… more (and more engaged) traffic for my site
App developers ... more reach for my apps
Sign up for the preview release!http://google.com/friendconnect/
290 days old300M users66M installs2,000+ apps20,000 developers10M daily app users
OpenSocial Numbers
More info
Start at OpenSocial.org
http://www.opensocial.org
Has links to all relevant resources for OpenSocial including links to:
SpecificationDocumentation/TutorialsBlogHowTosDiscussion GroupsShindig Container Website
More info
Contact us at:
[email protected] - epeus.blogspot.com
[email protected] - chrisschalk.com/blog