getting social with opensocial

51
Getting Social Getting Social with OpenSocial with OpenSocial Compuware ITX Compuware ITX September 23, 2009 September 23, 2009 Timothy Fisher Timothy Fisher Covisint Covisint

Upload: timothy-fisher

Post on 24-May-2015

754 views

Category:

Technology


4 download

DESCRIPTION

A presentation about the OpenSocial standard for building social web applications and gadgets.

TRANSCRIPT

Page 1: Getting Social with OpenSocial

Getting SocialGetting Socialwith OpenSocialwith OpenSocial

Compuware ITXCompuware ITXSeptember 23, 2009September 23, 2009

Timothy FisherTimothy FisherCovisintCovisint

Page 2: Getting Social with OpenSocial

Who Am I?Who Am I?

Timothy FisherSystems ArchitectCompuware Covisint

[email protected]

twitter.com/tfisher

linkedin.com/in/timothyfisher

blog.timothyfisher.com

Books I’ve Written:

?COMING

Page 3: Getting Social with OpenSocial

AgendaAgenda

Overview of OpenSocial (15 min)Overview of OpenSocial (15 min)

Deploying an OpenSocial Gadget (15 min)Deploying an OpenSocial Gadget (15 min)

Writing an OpenSocial Gadget (15 min)Writing an OpenSocial Gadget (15 min)

Building an OpenSocial Container (10 min)Building an OpenSocial Container (10 min)

More uses of OpenSocial (15 min)More uses of OpenSocial (15 min)

Questions and Open Discussion (20 min)Questions and Open Discussion (20 min)

Page 4: Getting Social with OpenSocial

OpenSocial’s GoalOpenSocial’s Goal

““Making the web better Making the web better by making it Social”by making it Social”

Page 5: Getting Social with OpenSocial

A Response to A Response to Facebook’s RiseFacebook’s Rise

Page 6: Getting Social with OpenSocial

Why???Why???

Why was Google interested in competing

with Facebook???

Page 7: Getting Social with OpenSocial

The World is SocialThe World is Social

Social Apps are everywhere!!!New opportunity to be

everywhere!!!

Page 8: Getting Social with OpenSocial

Too Many PlatformsToo Many Platforms

Page 9: Getting Social with OpenSocial

Write Once, Deploy Write Once, Deploy EverywhereEverywhere

Page 10: Getting Social with OpenSocial

Brief History of Brief History of OpenSocialOpenSocial

Version 0.5 was released in a “developer release” on Nov 1Version 0.5 was released in a “developer release” on Nov 1stst 20072007 First sandbox was made available on OrkutFirst sandbox was made available on Orkut

Version 0.6 release December, 2007Version 0.6 release December, 2007 More sandboxes came live (Hi5, Ning, Plaxo...)More sandboxes came live (Hi5, Ning, Plaxo...)

Version 0.7 was released in January 2008Version 0.7 was released in January 2008 MySpace, Hi5, Orkut began running 0.7MySpace, Hi5, Orkut began running 0.7

Version 0.8 released late 2008Version 0.8 released late 2008 Contains RESTful and RPC protocolsContains RESTful and RPC protocols Open social client libraries releasedOpen social client libraries released

Version 0.9 released summer 2009Version 0.9 released summer 2009 Simplified APISimplified API Support for templatesSupport for templates

Pro

gre

ss

Page 11: Getting Social with OpenSocial

Who Controls Who Controls OpenSocial?OpenSocial?

Google does not control or “own” the Google does not control or “own” the OpenSocial specificationOpenSocial specification

OpenSocial is managed by the OpenSocial is managed by the OpenSocial Foundation. OpenSocial Foundation. www.opensocial.orgwww.opensocial.org

Page 12: Getting Social with OpenSocial

OpenSocial ContainersOpenSocial Containers

Page 13: Getting Social with OpenSocial

OpenSocial ReachOpenSocial Reach

Page 14: Getting Social with OpenSocial

OpenSocial AppsOpenSocial Apps

Page 15: Getting Social with OpenSocial

OpenSocial AppsOpenSocial Apps

Display/Mashup network informationDisplay/Mashup network information Display friends locations on a mapDisplay friends locations on a map

Integrate external web servicesIntegrate external web services Display my friends Twitter postsDisplay my friends Twitter posts

Visual data in new and interesting waysVisual data in new and interesting ways Add new functionality and features to a Add new functionality and features to a

sitesite Provide a view into my non-social Provide a view into my non-social

applicationapplication

Page 16: Getting Social with OpenSocial

OpenSocial ViewsOpenSocial Views

An OpenSocial App can consist of An OpenSocial App can consist of multiple views:multiple views:

HomeHome ProfileProfile CanvasCanvas PreviewPreview EditEdit Additional views can be supported by Additional views can be supported by

containerscontainers

Page 17: Getting Social with OpenSocial

Preview/About ViewPreview/About View

Page 18: Getting Social with OpenSocial

Home ViewHome View

Page 19: Getting Social with OpenSocial

Profile viewProfile view

Page 20: Getting Social with OpenSocial

Canvas ViewCanvas View

Page 21: Getting Social with OpenSocial

OpenSocialOpenSocial

OpenSocial provides:OpenSocial provides:

Gadget renderingGadget rendering Web service proxyingWeb service proxying Built-in authentication supportBuilt-in authentication support Social data APISocial data API

Page 22: Getting Social with OpenSocial

OpenSocialOpenSocial

Through a combination ofThrough a combination of

Client-side APIsClient-side APIs JavaScriptJavaScript

Server-side servicesServer-side services

Page 23: Getting Social with OpenSocial

OpenSocial APIOpenSocial API

The OpenSocial API provides the The OpenSocial API provides the following data:following data:

PeoplePeople ProfilesProfiles Activity StreamsActivity Streams Application DataApplication Data Messages (optional)Messages (optional)

Page 24: Getting Social with OpenSocial

OpenSocial DataOpenSocial Data

Page 25: Getting Social with OpenSocial

OpenSocial GadgetOpenSocial Gadget

XML SyntaxXML Syntax

Derived from Google Derived from Google GadgetsGadgets

CSS and JavaScript can CSS and JavaScript can be kept externalbe kept external

XML Gadget

Gadget Metadatatitle, author, features

ContentHTML, CSS, JavaScript

Page 26: Getting Social with OpenSocial

Gadget SpecificationGadget Specification

Gadget contained in an XML file.

Includes: JavaScript CSS XHTML Metadata

Page 27: Getting Social with OpenSocial

Deploying an OpenSocial Deploying an OpenSocial GadgetGadget

DEMO:

Deploy an OpenSocial Gadget to a Ning Community

Page 28: Getting Social with OpenSocial

Deploying an OpenSocial Deploying an OpenSocial GadgetGadget

Deploys instantly…Deploys instantly…

No help from server guys No help from server guys needed…needed…

Very easy to deploy!!!Very easy to deploy!!!

Page 29: Getting Social with OpenSocial

OpenSocialOpenSocial

Writing an OpenSocial Writing an OpenSocial GadgetGadget

Page 30: Getting Social with OpenSocial

OpenSocial Developer OpenSocial Developer ToolsTools

OSDA – OpenSocial DevAppOSDA – OpenSocial DevApp An OpenSocial app that provides the ability to build and An OpenSocial app that provides the ability to build and

execute OpenSocial apps within an OpenSocial execute OpenSocial apps within an OpenSocial containercontainer

Gadget EditorGadget Editor A simple online gadget editor from GoogleA simple online gadget editor from Google

OSDE – OpenSocial Developer EnvironmentOSDE – OpenSocial Developer Environment An Eclipse plugin that allows for OpenSocial application An Eclipse plugin that allows for OpenSocial application

development completely offlinedevelopment completely offline

Page 31: Getting Social with OpenSocial

OpenSocial DevAppOpenSocial DevApp

Many containers provide an OpenSocial Dev App which can be used to test gadget code against a particular container.

http://osda.appspot.com

DEMO - Orkut

Page 32: Getting Social with OpenSocial

Gadget EditorGadget Editor

Very simple editor for creating simple OpenSocial gadgets or viewing source code of existing gadgets.

http://gadgeteditor.appspot.com

DEMO

Page 33: Getting Social with OpenSocial

OpenSocial Development OpenSocial Development EnvironmentEnvironment

Eclipse plug-in available to simplify the development of OpenSocial gadgets.

DEMO

Page 34: Getting Social with OpenSocial

Sun ZemblySun Zembly

Web app for building Web app for building gadgets, and services.gadgets, and services.

Shared gadgets, Shared gadgets, servicesservices

Reuse gadgets, Reuse gadgets, servicesservices

Social network around Social network around these componentthese component

DemoDemo

Page 35: Getting Social with OpenSocial

OpenSocialOpenSocial

Building an OpenSocial Building an OpenSocial ContainerContainer

Page 36: Getting Social with OpenSocial

Apache ShindigApache Shindig

Provides components to get you started with implementing your own OpenSocial container.

Most existing containers started with Shindig.

Includes client and server-side components.

Java and PHP versions.

Page 37: Getting Social with OpenSocial

Shindig ImplementationShindig Implementation

Page 38: Getting Social with OpenSocial

More Uses of OpenSocialMore Uses of OpenSocial

OpenSocial has uses beyond just social networking.OpenSocial has uses beyond just social networking.

Enable a dashboard of data-aware gadgetsEnable a dashboard of data-aware gadgets Integrate stand-alone applicationsIntegrate stand-alone applications A platform for data visualizationA platform for data visualization Build data-aware mobile applicationsBuild data-aware mobile applications Google Friend ConnectGoogle Friend Connect

Page 39: Getting Social with OpenSocial

Atlassian OpenSocialAtlassian OpenSocial

Issue Tracker (JIRA)Issue Tracker (JIRA) Enterprise Wiki (Confluence)Enterprise Wiki (Confluence) Source code explorer (Fisheye)Source code explorer (Fisheye) Peer code review (Crucible)Peer code review (Crucible) Continuous Integration (Bamboo)Continuous Integration (Bamboo) Test Coverage Analysis (Clover)Test Coverage Analysis (Clover)

Atlassian offers a family of products targeted at improving the software development process.

Page 40: Getting Social with OpenSocial

Atlassian OpenSocialAtlassian OpenSocial

Development is socialDevelopment is social Developers work with teamsDevelopers work with teams Teams work together on shared objectsTeams work together on shared objects Each person, team, object generates Each person, team, object generates

activitiesactivities Comments, schedules, tasks, notification of Comments, schedules, tasks, notification of

changes and edits, build failures, code changes and edits, build failures, code commitscommits

This is a huge social network!!!This is a huge social network!!!

Page 41: Getting Social with OpenSocial

Atlassian OpenSocialAtlassian OpenSocial

Page 42: Getting Social with OpenSocial

Atlassian OpenSocialAtlassian OpenSocial

Page 43: Getting Social with OpenSocial

OpenSocial for MobileOpenSocial for Mobile

Page 44: Getting Social with OpenSocial

Google Friend ConnectGoogle Friend Connect

Easily turn any Easily turn any website, blog, wiki, website, blog, wiki, etc into a social etc into a social network supporting network supporting OpenSocial gadgets.OpenSocial gadgets.

Google is the Google is the container.container.

Canned social Canned social widgets for quick widgets for quick start.start.

Page 45: Getting Social with OpenSocial

OpenSocial AlternativeOpenSocial Alternative

Facebook PlatformFacebook Platform Facebook ConnectFacebook Connect Facebook ApplicationsFacebook Applications

Limited to only Facebook. Limited to only Facebook.

That might be enough!!!That might be enough!!!

Page 46: Getting Social with OpenSocial

OpenSocial vs. PortletsOpenSocial vs. Portlets

Today complete portals are Today complete portals are available that consist entirely of available that consist entirely of OpenSocial gadgets.OpenSocial gadgets.

Will OpenSocial replace Will OpenSocial replace traditional server-side portlet traditional server-side portlet technologies?technologies?

vs.

Page 47: Getting Social with OpenSocial

So What???So What???

You may be thinking… this is all very interesting, and maybe even cool technology...

But I don’t work for Google, Facebook, MySpace or any other social network…

Why interest does this have for me as a Compuware employee???

Page 48: Getting Social with OpenSocial

OpenSocial & OpenSocial & CompuwareCompuware

A common gadget A common gadget technology for integrating technology for integrating productsproducts

Bring together views from Bring together views from all our productsall our products

Let users visualize their Let users visualize their data the way they choose todata the way they choose to

Compuware Portal

VantageGadget

ChangepointGadget

VantageGadget

ChangepointGadget

VantageServer

ChangepointServer

Page 49: Getting Social with OpenSocial

ResourcesResources BookBook

OpenSocial Network ProgrammingOpenSocial Network Programming by Lynne Greweby Lynne Grewe

On the WebOn the Web www.opensocial.orgwww.opensocial.org incubator.apache.org/shindigincubator.apache.org/shindig

ContainersContainers www.myspace.com/developerwww.myspace.com/developer www.ning.comwww.ning.com www.atlassian.com/opensocialwww.atlassian.com/opensocial

Page 50: Getting Social with OpenSocial

Questions???Questions???

Now its time for YOUR questions Now its time for YOUR questions and YOUR open discussion!!!!and YOUR open discussion!!!!

Page 51: Getting Social with OpenSocial