building social business applications with opensocial
DESCRIPTION
Presentation delivered at E2Innovate conference on November 15, 2012 in Santa Clara, CA describing the OpenSocial standard for building collaborative, social context aware business applications.TRANSCRIPT
Building Social Business Applications
Clint Oram
Board Member, OpenSocial Foundation
CTO & Co-founder, SugarCRM
&
Mark Weitzel
President, OpenSocial Foundation
Director, Platform & Ecosystem, Jive Software
ABOUT ME• Board Member, Open Social Foundation
• CTO & Co-Founder, SugarCRM Inc.
• @sugarclint
• linkedin/clintoram
• slideshare.net/sugarclint
8,700
5,000
• What is a social business application?
• Why are open standards important?
• Patterns of social business applications
• Social platforms & apps in the wild
Objectives
What is a social business application?
A cloud based service that leverages social context as a fundamental underpinning
of its business logic.
At a high level…People
Friends
Activities
In an enterprise setting…Profile ~ Base set of info, extended based on business context
Relationships ~ Org chart, group membership, content
Activity Streams ~ Flow of information about relationships
Understanding Social Context
Add a collaboration layer not part of your existing platformGraphical editingCo-worker Recognition External system quick reference and lookupsProject Management
Integrate data silos: ERP, CRM, HRS, CMS
Turn “systems of record” into “systems of engagement”
Why build a Social Business App?
Why are standards important?
• Competition: Facilitates the growth of an ecosystem around a common programming model
• Cooperation: Enables community involvement and organic growth
• Adoption: Drives interoperability and portability
• Choice: Formalizes the social platform and application model
Why are open standards important?
• Open standard for building cloud based social applications
• Platform APIs for providing social context to applications
• Shindig ~ reference implementation
What is OpenSocial?
OpenSocial has been adopted by top enterprise vendors like:
IBM, SugarCRM, Jive, SAP, eXo, LifeRay,Tibco, SurfNet, Vivo
• Information about the app
• What “features” i.e. additional JavaScript to include
• How the app will be rendered, i.e. the views
• What’s necessary for a nice market listing,
screenshots, etc.
Defining a social business app ~ app.xml
A. Request is made to render a page containing an app
B. Jive looks up the app definition
C. Processes the definition to render HTML
How OpenSocial Apps WorkIt’s as easy as A, B, C
D. App makes a request
E. Platform “proxies” the request to home server
F. Home server process request and returns
How OpenSoical Apps Work… and D, E, F
• Use osapi.http.get() to…avoid cross domain issuesprovide the container control of outgoing requests
• Sub-domains in the browser when multiple apps on the same pagePub/sub model for secure messaging between apps
• OauthTwo LeggedThree Legged
What about security?
Patterns of Social Business Applications
• Don’t be a “One Click Wonder”
• Social context is king
• Dashboards are dead
• Social applications delivered through markets
Patterns of Social Business
• An app that simply ‘iFrames’ in an existing UI
• User wonders, “Why didn’t I just click a link to the
app’s web page?”
• Poor user experience that hits the wall
• This is the portal model, and portals are deadNo social context!!
Don’t be a “One Click Wonder”
Two Key Idioms
• Pass social information to be used
in business logic (Proxied Content)
• Add social context to the app as
it’s rendered (Data Pipelining)
Social Context is King!
• Proxied Content
Use social context to dynamically render an app’s view
<Content href="http://myhomeserver.com/canvas" xmlns:os="http://ns.opensocial.org/2008/markup"> <os:PeopleRequest
userId="@viewer" groupId="@friends" fields="name “
key="ViewerFriends"/><os:HttpRequest href="http://www.someserver.com/someinfo"
key="someInfo" /> </Content>
• Pass social information and
remotely fetched data to app
(Data Pipelining)
Use social context to dynamically render an app’s view
• Data Pipelining
Use social context to dynamically render an app’s view
<script type="text/os-data"> <os:ViewerRequest key="vwr" fields="name "/> <os:DataRequest key="mydata" href="http://developer.com/api"/> </script>
• Forces user navigation
• Generic, non-contextual interaction
Use the Activity Stream
to deliver context and interaction to the user!
Dashboards are dead!
OpenSocial “Embedded Experience”
OpenSocial “Embedded Experience”
• Web hook to application
• Can be signed
OpenSocial Activity Streams Extension: Action Links
• Directed to a specific person
• Great for notifications about behavior “Your employee just won a deal!”
OpenSocial Activity Streams Extension: DeliverTo
• New paradigm for enterprise application delivery
• Purpose built apps vs. monolithic application suite
• On demand vs. pre-selected
• Market economics
Application Markets
Wrapping it up
• Only industry driven standard for building social applications
• Community driven innovation
• Broadly adopted in the industry
• Multiple open source projects
OpenSocial: The Social Business Application Platform
www.opensocial.org
@sugarclint
linkedin/clintoram
@weitzelm
linkedin/weitzelm
THANK YOU!