Top Banner
OpenSocial Presented at Mahalo Meetup, Santa Monica, Aug 13, 2008 [Kevin Marks, Chris Schalk]
64

OpenSocial At Mahalo Developers Meetup August 13

Jan 08, 2017

Download

Technology

Chris Schalk
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OpenSocial At Mahalo Developers Meetup August 13

OpenSocialPresented at Mahalo Meetup, Santa Monica, Aug 13, 2008

[Kevin Marks, Chris Schalk]

Page 2: OpenSocial At Mahalo Developers Meetup August 13
Page 3: OpenSocial At Mahalo Developers Meetup August 13
Page 4: OpenSocial At Mahalo Developers Meetup August 13
Page 5: OpenSocial At Mahalo Developers Meetup August 13
Page 6: OpenSocial At Mahalo Developers Meetup August 13
Page 7: OpenSocial At Mahalo Developers Meetup August 13
Page 8: OpenSocial At Mahalo Developers Meetup August 13
Page 9: OpenSocial At Mahalo Developers Meetup August 13
Page 10: OpenSocial At Mahalo Developers Meetup August 13
Page 11: OpenSocial At Mahalo Developers Meetup August 13
Page 12: OpenSocial At Mahalo Developers Meetup August 13
Page 13: OpenSocial At Mahalo Developers Meetup August 13
Page 14: 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

Page 15: OpenSocial At Mahalo Developers Meetup August 13
Page 16: OpenSocial At Mahalo Developers Meetup August 13
Page 17: OpenSocial At Mahalo Developers Meetup August 13

The problem

Page 18: OpenSocial At Mahalo Developers Meetup August 13

The solution

Page 19: OpenSocial At Mahalo Developers Meetup August 13
Page 20: OpenSocial At Mahalo Developers Meetup August 13
Page 21: OpenSocial At Mahalo Developers Meetup August 13
Page 22: OpenSocial At Mahalo Developers Meetup August 13
Page 23: OpenSocial At Mahalo Developers Meetup August 13
Page 24: OpenSocial At Mahalo Developers Meetup August 13
Page 25: OpenSocial At Mahalo Developers Meetup August 13

Why do we have so many users in

Beverly Hillsand

Schenectady?

Page 26: OpenSocial At Mahalo Developers Meetup August 13

Why do we have so many users in

90210and

12345?

Page 27: OpenSocial At Mahalo Developers Meetup August 13
Page 28: OpenSocial At Mahalo Developers Meetup August 13

Who has implemented OpenSocial ?

300 Million reach now

Page 29: OpenSocial At Mahalo Developers Meetup August 13

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

Page 30: OpenSocial At Mahalo Developers Meetup August 13

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

Page 31: OpenSocial At Mahalo Developers Meetup August 13

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

Page 32: OpenSocial At Mahalo Developers Meetup August 13

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

Page 33: OpenSocial At Mahalo Developers Meetup August 13

The Viewer and Viewer friends

Page 34: OpenSocial At Mahalo Developers Meetup August 13

Owner and Owner friends

Page 35: OpenSocial At Mahalo Developers Meetup August 13

Owner and Viewerare defined by Container

The Application gets IDs and connections to other IDs

Page 36: OpenSocial At Mahalo Developers Meetup August 13

the Owner need not be a PersonIt could be an organisation

or a social object

Page 37: OpenSocial At Mahalo Developers Meetup August 13

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

Page 38: OpenSocial At Mahalo Developers Meetup August 13

Kinds of container - Personal dashboard

like Home pagesOwner is Viewer (must be logged in to see)

Friends may not be definedExample:

iGoogle, My Yahoo

Page 39: OpenSocial At Mahalo Developers Meetup August 13

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

Page 40: OpenSocial At Mahalo Developers Meetup August 13

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

Page 41: OpenSocial At Mahalo Developers Meetup August 13

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

Page 42: OpenSocial At Mahalo Developers Meetup August 13

®friendster

Who's part of OpenSocial?

>600 Million reach by Q4

Page 43: OpenSocial At Mahalo Developers Meetup August 13

OpenSocial Technical Details

OpenSocial API Details/API

FriendConnect

[Chris Schalk]

Page 44: OpenSocial At Mahalo Developers Meetup August 13

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!

Page 45: OpenSocial At Mahalo Developers Meetup August 13

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

Page 46: OpenSocial At Mahalo Developers Meetup August 13

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

Page 47: OpenSocial At Mahalo Developers Meetup August 13

OpenSocial application in action

Gadget using JavaScript Client API communicates with OpenSocial server

OpenSocialServer

browser

JSON

Gadget XML Source

Social Network Site

Page 48: OpenSocial At Mahalo Developers Meetup August 13

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…

Page 49: OpenSocial At Mahalo Developers Meetup August 13

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

Page 50: OpenSocial At Mahalo Developers Meetup August 13

Demo

Building OpenSocial client applications

Page 51: OpenSocial At Mahalo Developers Meetup August 13

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

Page 52: OpenSocial At Mahalo Developers Meetup August 13

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

Page 53: OpenSocial At Mahalo Developers Meetup August 13

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)

Page 54: OpenSocial At Mahalo Developers Meetup August 13

Shindig Architecture

Gadget Server

OpenSocial Data Server

Yoursite.com

GadgetGadgetServer

OpenSocialDataServer

Shindig

Page 55: OpenSocial At Mahalo Developers Meetup August 13

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

Page 56: OpenSocial At Mahalo Developers Meetup August 13

Demo

Getting familiar with Shindig, running your own container

Page 57: OpenSocial At Mahalo Developers Meetup August 13

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!

Page 58: OpenSocial At Mahalo Developers Meetup August 13

Google Friend Connect

A hosted OpenSocial container solution

Page 59: OpenSocial At Mahalo Developers Meetup August 13

ingridmichaelson.com on Friend Connect

Page 60: OpenSocial At Mahalo Developers Meetup August 13

My new blog on Friend Connect

Page 61: OpenSocial At Mahalo Developers Meetup August 13

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/

Page 62: OpenSocial At Mahalo Developers Meetup August 13

290 days old300M users66M installs2,000+ apps20,000 developers10M daily app users

OpenSocial Numbers

Page 63: OpenSocial At Mahalo Developers Meetup August 13

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

Page 64: OpenSocial At Mahalo Developers Meetup August 13

More info

Contact us at:

[email protected] - epeus.blogspot.com

[email protected] - chrisschalk.com/blog